Пятница, 26.04.2024
TiM
Меню сайта
Категории раздела
Мои статьи [9]
1С Бухгалтерия [1]
Arduino / ATMEGA [10]
ESP8266 [1]
OrangePi PC и Raspberry Pi 2 Model B V1.1 [4]
Шаговые двигатели [1]
PHPProBid [0]
CMS DLE (DataLife Engine) [0]
CMS Joomla [13]
SugarCRM [5]
Базы данных [5]
PHP скрипты [16]
Bash и скрипты [27]
IP АТС Elastix / Asterisk [12]
CentOS [6]
Debian [8]
Lubuntu / LinuxMINT [29]
Windows [28]
Умный дом [1]
Сервера [16]
Natural Selection [1]
System Shock 2 [1]
Форма входа
Главная » Статьи » ESP8266

ESP8266 NodeMCU v3 (LoLin) - плата в режиме точки доступа

ESP8266 NodeMCU v3 (LoLin) - работа в режиме точки доступа, т.е. без использования роутера. В качестве примера, включаем или отключаем светодиод на плате с веббраузера смартфона

Ip адрес создаваемой точки доступа: http://192.168.4.1

 

/*
 * NodeMCU/ESP8266 act as AP (Access Point) and simplest Web Server
 * to control GPIO (on-board LED)
 * Connect to AP "lampa", password = "password"
 * Open browser, visit 192.168.4.1
 */
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

const char *ssid = "lampa";
const char *password = "password";
int stateLED = LOW;

ESP8266WebServer server(80);

void handleRoot() {
    response();
}

void handleLedOn() {
  stateLED = LOW;
  digitalWrite(2, stateLED);
  response();
}

void handleLedOff() {
  stateLED = HIGH;
  digitalWrite(2, stateLED);
  response();
}

const String HtmlHtml = "<html><head>"
    "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" /></head>";
const String HtmlHtmlClose = "</html>";
const String HtmlTitle = "<h1>Arduino-er: ESP8266 AP WebServer exercise</h1><br/>\n";
const String HtmlLedStateLow = "<big>LED is now <b>ON</b></big><br/>\n";
const String HtmlLedStateHigh = "<big>LED is now <b>OFF</b></big><br/>\n";
const String HtmlButtons =
    "<a href=\"LEDOn\"><button style=\"display: block; width: 100%;\">ON</button></a><br/>"
    "<a href=\"LEDOff\"><button style=\"display: block; width: 100%;\">OFF</button></a><br/>";

void response(){
  String htmlRes = HtmlHtml + HtmlTitle;
  if(stateLED == LOW){
    htmlRes += HtmlLedStateLow;
  }else{
    htmlRes += HtmlLedStateHigh;
  }

  htmlRes += HtmlButtons;
  htmlRes += HtmlHtmlClose;

  server.send(200, "text/html", htmlRes);
}

void setup() {
    delay(1000);
    Serial.begin(9600);
  // prepare GPIO2
  pinMode(14, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  pinMode(15, OUTPUT);
  digitalWrite(14, 0);
  digitalWrite(12, 0);
  digitalWrite(13, 0);
  digitalWrite(15, 0);
    
    Serial.println();

    WiFi.softAP(ssid, password);

    IPAddress apip = WiFi.softAPIP();
    Serial.print("visit: \n");
    Serial.println(apip);
    server.on("/", handleRoot);
    server.on("/LEDOn", handleLedOn);
    server.on("/LEDOff", handleLedOff);
    server.begin();
    Serial.println("HTTP server beginned");
    pinMode(2, OUTPUT);
    digitalWrite(2, stateLED);
}

void loop() {
    server.handleClient();
}

 

 

Источник:

http://arduino-er.blogspot.com/2016/05/nodemcuesp8266-act-as-ap-access-point_3.html

Категория: ESP8266 | Добавил: Timur (07.04.2017)
Просмотров: 5574
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
YANDEX
Яндекс.Метрика
Сайты
  • Харьковский Юридический Альянс
  • Оцифровка кинопленки
  • TiM ©
    Харьков 2024