Мазмуну:
- Жабдуулар
- 1 -кадам: Аны иштетиңиз
- 2 -кадам: Кодекс кантип иштейт
- 3 -кадам: NODEMCUны Server катары коюңуз
- 4 -кадам: HTML файлын жүктөө
- 5 -кадам: аракет кылып көрүңүз
Video: ESP8266ны веб -сервер катары кантип колдонуу керек: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Саламатсызбы, мен учурда Windows 10, NodeMCU 1.0 колдонуп жатам жана бул жерде мен колдонгон Программалык камсыздоонун жана орнотуу боюнча көрсөтмөлөрдүн тизмеси:
- Arduino IDE
- Esp8266 үчүн кошумча такталар
- Spiff
Колдонулган китепкана:
Websocket
Мен NodeMCUду thistutorialден жасалган HTML файлын тейлөө үчүн сервер катары колдондум. Бул файлды тейлөө үчүн, мен Spiffs аркылуу файлды nodemcu файл системасына жүктөдүм. HTML файлы nodemcu'го дайындарды сериялык монитордо басып чыгаруу үчүн веб -сокеттерди колдонуп жөнөтөт. Бул сервердин жана кардардын вебсокеттери аркылуу эки тараптуу тез байланыш алыстан башкаруу катары колдонууга мүмкүндүк берет. Кийинки кадамдарда, менин кодум кантип иштээрин түшүндүрүп берем
Жабдуулар
NodeMCU
1 -кадам: Аны иштетиңиз
Бул жерде анын кантип иштээри боюнча кадамдар келтирилген
- Тиркелген файлды жүктөп алып, mousebot.ino файлын ачыңыз
- Эскиз> эскиз папкасын көрсөтүү бөлүмүнө өтүп, маалымат деп аталган жаңы папка жасаңыз
- Html файлын ушул үйрөткүчтөн аталган папкага сактаңыз. Мен өзүмдү "Джойстик" деп атадым
- Куралдарга барып, "esp8266 эскиз маалыматын жүктөөнү" көрүп, спифтиңиз иштей турганын текшериңиз.
- Html файлын nodemcu'го "esp8266 эскиз маалыматын жүктөөнү" чыкылдатуу менен жүктөңүз.
- Файл жүктөлгөндөн кийин, mousebot.ino файлын nodemcu'го arduino IDEге өтүү жана ctrl U басуу менен жүктөңүз.
2 -кадам: Кодекс кантип иштейт
Биринчиден, биз бул код колдоно турган китепканаларды киргизебиз
// ESP8266 WIFIге туташуусун иштетүү үчүн
#кошуу #кошуу #кошуу // ESP8266нын сервер катары иштөөсүн камсыз кылат #кошуу // сервер жана кардар менен байланышты иштетет (сиздин туташкан түзмөк) #кошуу #кошуу // nodemcu боюнча жүктөлгөн файлды ачуу үчүн #кошуу
Esp8266ны 80 -портунда ачылган веб -сервер катары коюңуз. Порт - бул маалымат өтүүчү жолдор. Сервер порту катары, HTML файлын кардарга жөнөтөт (ага туташкан deivces).
Клиенттен келген билдирүүлөрдү угуу үчүн 81 -порт аркылуу веб -сокет туташуусун кошот
Веб -сокеттерде num, WStype_t, пайдалуу жүк жана өлчөм бар. Номер кардардын номерин аныктайт, жүктөө - бул жөнөтүүчү билдирүү, өлчөмү - билдирүүнүн узундугу жана WStype_t сыяктуу ар кандай окуялар үчүн
- WStype_DISCONNECTED - кардарды ажыратуу боюнча.
- WStype_CONNECTED: - кардар туташканда
- WStype_TEXT - Кардардан алынган маалыматтар
Окуянын түрүнө жараша бул жерде ар кандай аракеттер жасалат жана комментарий берилет
жараксыз webSocketEvent (uint8_t num, WStype_t түрү, uint8_t * пайдалуу жүк, size_t узундугу) {
которуу (түрү) {case 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; case WStype_TEXT: Serial.printf ("[%u] Маалымат: %s / n", саны, пайдалуу жүк); // кардардын номерин %u менен басып чыгарат жана %s ичинде каттар катары алынган маалыматтар / n тыныгуу;}}
3 -кадам: NODEMCUны Server катары коюңуз
ssid менен паролду кийинчерээк туташуу үчүн колдонот
const char *ssid = "аракет кыл";
const char *password = "12345678";
орнотууда биз nodemcu менен pcтин байланыш ылдамдыгын аныктайбыз, бул 115200.
жараксыз орнотуу (жараксыз) {
Serial.begin (115200); Serial.print ("\ n");
"true" деп коюңуз, serila терминалындагы wifi диагностикалык чыгарылышын көрүңүз
Serial.setDebugOutput (чыныгы);
файл системасын баштоо
SPIFFS.begin ();
Nodemcu'ду ssid жана сырсөздү мурунтан эле кирүү чекити катары орнотуңуз жана мурда туташтыра турган nodemcu'дун ipин басып чыгарыңыз. демейки боюнча бул 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, "текст/жөнөкөй", "FileNotFound");
});
Серверди баштайт жана HTTP серверин басып чыгаруу башталат.
server.begin (); Serial.println ("HTTP сервер башталды");
Биздин боштук циклибизде, биз серверге кардарды жана анын вебсокеттеринин коммуникациясын үзгүлтүксүз башкарууга мүмкүнчүлүк беребиз:
боштук цикл (жараксыз) {
server.handleClient (); webSocket.loop ();}
4 -кадам: HTML файлын жүктөө
nodemcu файл системасынан html файлын ачуу үчүн handleFileRead аттуу функцияны колдонобуз. ал жүктөлгөн же жүктөлбөгөнүн аныктоо үчүн логикалык маанини кайтарат.
Качан "192.168.4.1/" кардар тарабынан ачык болгондо, биз файлдын жолун "/Joystick.html, маалымат папкасындагы файлдын атына коебуз.
bool handleFileRead (String path) {
Serial.println ("handleFileRead:" + жол); if (path.endsWith ("/")) path += "Joystick.html"; if (SPIFFS.exists (path)) {{File file = SPIFFS.open (path, "r"); size_t sent = server.streamFile (файл, "текст/html"); file.close (); чындыкка кайтуу; } false false; }
"/Joystick.html" файл жолунун бар экендигин текшериңиз
if (SPIFFS.exists (path)) {
Эгер бар болсо, "r" тарабынан көрсөтүлгөн аны окуу максатында жолду ачыңыз. Бул жерге көбүрөөк максаттар үчүн барыңыз.
Файл файлы = SPIFFS.open (жол, "r");
Файлды "text/html" мазмуну түрүндө серверге жөнөтөт.
size_t sent = server.streamFile (файл, "текст/html");
файлды жабыңыз
file.close ();
handleFileRead функциясы чындыкты кайтарат
чындыкка кайтуу;}
эгерде файлдын жолу жок болсо, handleFileRead функциясы жалганды кайтарат
чындыкка кайтуу; }
5 -кадам: аракет кылып көрүңүз
NodeMCUга туташыңыз жана "192.168.4.1" ге кирип, аракет кылып көрүңүз!:)
Сунушталууда:
NodeMCU ESP8266ны MySQL маалымат базасына кантип туташтыруу керек: 7 кадам
NodeMCU ESP8266ны MySQL маалымат базасына кантип туташтыруу керек: MySQL - структураланган суроо тилин (SQL) колдонгон, кеңири колдонулган реляциялык базаны башкаруу системасы (RDBMS). Кээ бир учурда, сиз Arduino/NodeMCU сенсорунун маалыматын MySQL маалымат базасына жүктөгүңүз келиши мүмкүн. Бул Нускамада биз кантип туташууну көрөбүз
Android телефонун Skype менен вебкамера катары кантип колдонуу керек: 5 кадам
Android телефонун Skype менен вебкамера катары кантип колдонуу керек: Сүрөт миң сөзгө бааланат деген байыркы сөз бар … жана видеонун миллионго барабар деген жаңы сөзү бар. Эми бул апыртма сыяктуу көрүнүшү мүмкүн, бирок чалууда кимдир бирөө менен сүйлөшүүнүн ортосунда чоң айырма бар
Mac Терминалын кантип колдонуу керек жана Негизги функцияларды кантип колдонуу керек: 4 кадам
Mac Терминалын кантип колдонуу керек жана Негизги функцияларды кантип колдонуу керек: Биз сизге MAC Терминалын кантип ачууну көрсөтөбүз. Биз ошондой эле сизге терминалдын ичинде ifconfig, каталогдорду өзгөртүү, файлдарга кирүү жана arp сыяктуу бир нече мүмкүнчүлүктөрдү көрсөтөбүз. Ifconfig сизге IP дарегиңизди жана MAC жарнагыңызды текшерүүгө мүмкүндүк берет
Компьютериңиздеги PS3 Эстутум картасынын окуу куралын USB түзмөгү катары кантип колдонуу керек: 6 кадам
Ички PS3 Эстутум Картасы Окурманы PCдеги USB Түзмөк катары кантип колдонсо болот: Биринчиден, бул менин биринчи инструктажым (yippie!), Мен ишенем, келе турган нерселер көп болот. Ошентип, менде PS3 сынган жана иштеп жаткан компоненттерди колдонуу. Биринчи кылганым PS3 картасындагы конвертер чипинин маалымат баракчасын тартуу болду
Шамдарды сенсор катары колдонуп, Wiimoteту компьютердик чычкан катары кантип колдонуу керек?: 3 кадам
Шамдарды сенсор катары колдонуп, Wiimoteту компьютердик чычкан катары кантип колдонуу керек !!: Бул колдонмо Wii Remote (Wiimote) компьютериңизге кантип туташтырып, чычкан катары колдонууну көрсөтөт