Мазмұны:

ESP8266 веб -сервер ретінде қалай қолданылады: 5 қадам
ESP8266 веб -сервер ретінде қалай қолданылады: 5 қадам

Бейне: ESP8266 веб -сервер ретінде қалай қолданылады: 5 қадам

Бейне: ESP8266 веб -сервер ретінде қалай қолданылады: 5 қадам
Бейне: Мистические истории. РУСАЛКА. Деревенские рассказы. Страшные истории на ночь. Мистика. Ужасы 2024, Қараша
Anonim
ESP8266 веб -сервер ретінде қалай пайдалануға болады
ESP8266 веб -сервер ретінде қалай пайдалануға болады

Сәлеметсіз бе, мен қазір Windows 10, NodeMCU 1.0 қолданамын және мен қолданған бағдарламалық жасақтаманың және мен орындаған нұсқаулықтардың тізімі:

  • Arduino IDE
  • Esp8266 үшін қосымша тақталар
  • Spiff

Қолданылған кітапхана:

Веб -розетка

Мен NodeMCU -ды сервер ретінде HTML -файлға қызмет ету үшін қолдандым. Бұл файлға қызмет ету үшін мен файлды Spiffs көмегімен nodemcu файлдық жүйесіне жүктедім. HTML файлы nodemcu -ге деректерді сериялық мониторда басып шығару үшін веб -розеткалар арқылы жібереді, бұл сервер мен клиенттің веб -ұяшықтары арқылы жылдам екі жақты байланыс оны қашықтан басқару құралы ретінде пайдалануға мүмкіндік берді. Келесі қадамдарда менің кодтың қалай жұмыс істейтіні түсіндірілмейді

Жабдықтар

NodeMCU

1 -қадам: оны іске қосыңыз

Жұмыс жасау
Жұмыс жасау
Жұмыс жасау
Жұмыс жасау
Жұмыс жасау
Жұмыс жасау

Міне, оның қалай жұмыс істейтіні туралы қадамдар

  1. Қосылған файлды жүктеп, mousebot.ino файлын ашыңыз
  2. Эскиз> эскиз қалтасын көрсету тармағына өтіп, деректер деп аталатын жаңа қалта жасаңыз
  3. Html файлын осы оқулықтан аталған қалтада сақтаңыз. Мен өзімді «Джойстик» деп атадым
  4. «Esp8266 эскиздік деректерді жүктеуді» көріп, құралдарға бару арқылы сіздің спифтің жұмыс істейтініне көз жеткізіңіз.
  5. Html файлын nodemcu -ге «esp8266 эскиздік деректерді жүктеу» түймесін басу арқылы жүктеңіз.
  6. Файлды жүктегеннен кейін mousebot.ino файлын nodemcu файлына arduino IDE -ге өтіп, ctrl U пернесін басу арқылы жүктеңіз.

2 -қадам: Кодекс қалай жұмыс істейді

Біріншіден, біз осы код қолданылатын кітапханаларды қосамыз

// WSPI -ге қосылу үшін ESP8266 қосу

#қосу #қосу #қосу // ESP8266 сервер ретінде жұмыс істеуге мүмкіндік береді #қосу // сервермен және клиентпен байланыс орнатуға мүмкіндік береді (сіздің қосылған құрылғыңыз) #қосу #қосу // түйіндегі файлды ашу үшін #қосу

Esp8266 -ны 80 -портта ашылған веб -сервер ретінде орнатыңыз. Порттар - бұл деректер өтетін жолдар. Сервер порты ретінде ол HTML файлын клиентке жібереді (оған қосылған ажыратулар).

Клиенттен келген хабарларды тыңдау үшін 81 -ші порт арқылы веб -розетка байланысын қосады

Веб -ұяшықтарда num, WStype_t, пайдалы жүктеме мен өлшем параметрі бар. Нөмір клиенттің нөмірін анықтайды, жүктеме - ол жіберетін хабар, өлшемі - хабарламаның ұзындығы, ал WStype_t - әр түрлі оқиғалар үшін

  • WStype_DISCONNECTED - клиентті ажырату туралы.
  • WStype_CONNECTED: - клиент қосылған кезде
  • WStype_TEXT - Клиенттен алынған деректер

Оқиға түріне байланысты мұнда әр түрлі әрекеттер жасалады және оларға түсініктеме беріледі

жарамсыз webSocketEvent (uint8_t num, WStype_t түрі, uint8_t * пайдалы жүктеме, size_t ұзындығы) {

қосқыш (түрі) {жағдай WStype_DISCONNECTED: Serial.printf («[%u] Ажыратылды! / n», сан); // деректерді монитордың сериялық үзілісіне басып шығарады; WStype_CONNECTED жағдайы: {IPAddress ip = webSocket.remoteIP (num); // Serial.printf клиентінің IP мекенжайын алады («[%u]%d.%d.%d.%d url:%s / n», num, ip [0], ip [1], ip [2], ip [3], пайдалы жүктеме); webSocket.sendTXT (сан, «Қосылды»); // «conencted» браузер консоліне жібереді} break; жағдай WStype_TEXT: Serial.printf («[%u] Деректер: %s / n», саны, пайдалы жүктеме); // клиент нөмірін %u түрінде басып шығарады және %s жолында алынған деректер / n үзіліс жасайды;}}

3 -қадам: NODEMCU сервер ретінде орнатыңыз

ssid пен құпия сөзді орнатады, кейін оған қосылу үшін

const char *ssid = «Көріңіз»;

const char *password = «12345678»;

орнатуда біз nodemcu мен компьютердің байланыс жылдамдығын анықтаймыз - бұл 115200.

жарамсыз орнату (жарамсыз) {

Serial.begin (115200); Serial.print («\ n»);

шын мәніне орнатыңыз, серила терминалындағы wifi диагностикалық шығысын қараңыз

Serial.setDebugOutput (шын);

файлдық жүйені іске қосыңыз

SPIFFS.begin ();

Nodemcu кіру нүктесі ретінде ssid және құпия сөзді ертерек бұзатын етіп орнатыңыз және сіз бұрын қосылатын nodemcu адресін басып шығарыңыз. әдепкі бойынша бұл 192.168.4.1

Serial.print («Кіру нүктесі конфигурациялануда …»);

WiFi.mode (WIFI_AP); WiFi.softAP (ssid, құпия сөз); IPAddress myIP = WiFi.softAPIP (); Serial.print («AP IP мекенжайы:»); Serial.println (myIP);

Веб -ұяшықты nodemcu -де баптаңыз, бұл сервер болып табылады

webSocket.begin ();

WebSocketEvent функциясын веб -ұяшық оқиғасы пайда болған кезде шақырады.

webSocket.onEvent (webSocketEvent);

Түзету үшін «WebSocket сервері басталды» деп жаңа жолға басып шығарыңыз. Бұл nodemcu өңдеп жатқан код жолын анықтау үшін

Serial.println («WebSocket сервері іске қосылды.»);

клиент 192.168.4.1 сайтына кіргенде, ол handleFileRead функциясын шақырады және онымен URI параметрлік серверін жібереді, бұл жағдайда біздің nodemcu ақпараты. HandleFileRead функциясы nodemcu файлдық жүйесінен html файлына қызмет көрсетеді

server.onNotFound ( () {

if (! handleFileRead (server.uri ()))

егер ол табылмаса, ол «FileNotFound» көрсетеді

server.send (404, «text/plain», «FileNotFound»);

});

Серверді бастайды және HTTP сервері басталды.

server.begin (); Serial.println («HTTP сервері іске қосылды»);

Біздің бос циклде біз серверге клиент пен оның веб -сокет байланыстарын келесідей басқаруға мүмкіндік береміз:

жарамсыз цикл (жарамсыз) {

server.handleClient (); webSocket.loop ();}

4 -қадам: HTML файлын жүктеңіз

nodemcu файлдық жүйесінен html файлын ашу үшін handleFileRead атты функцияны қолданамыз. ол жүктелгенін немесе жүктелмегенін анықтау үшін логикалық мәнді қайтарады.

Клиент «192.168.4.1/» ашқан кезде біз файл жолын «/Joystick.html» мәніне орнатамыз, бұл деректер қалтасындағы біздің файлдың атауы.

bool handleFileRead (Жол жолы) {

Serial.println («handleFileRead:» + жол); if (path.endsWith («/»)) path += «Джойстик.html»; if (SPIFFS.exists (path)) {{Файлдық файл = SPIFFS.open (жол, «r»); size_t sent = server.streamFile (файл, «мәтін/html»); file.close (); шындықты қайтару; } жалған қайтару; }

«/Joystick.html» файл жолының бар -жоғын тексеріңіз

if (SPIFFS.exists (жол)) {

Егер ол бар болса, оны оқу үшін «r» әрпімен белгіленген жолды ашыңыз. Қосымша мақсаттар үшін осында өтіңіз.

Файлдық файл = SPIFFS.open (жол, «r»);

Файлды «text/html» мазмұн түрімен серверге жібереді.

size_t sent = server.streamFile (файл, «мәтін/html»);

файлды жабыңыз

file.close ();

handleFileRead функциясы шын мәнін қайтарады

шындықты қайтару;}

егер файл жолы болмаса, handleFileRead функциясы false мәнін қайтарады

шындықты қайтару; }

5 -қадам: көріңіз

Image
Image

NodeMCU -ге қосылыңыз және «192.168.4.1» өтіңіз және көріңіз!:)

Ұсынылған: