Mundarija:
- Ta'minotlar
- 1 -qadam: uni ishga soling
- 2 -qadam: Kod qanday ishlaydi
- 3 -qadam: NODEMCU -ni server sifatida o'rnating
- 4 -qadam: HTML faylini yuklang
- 5 -qadam: harakat qilib ko'ring
Video: ESP8266 -ni veb -server sifatida qanday ishlatish kerak: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Salom, men hozirda Windows 10, NodeMCU 1.0 dan foydalanmoqdaman va bu erda men ishlatgan dasturiy ta'minot va o'rnatish qo'llanmalarining ro'yxati:
- Arduino IDE
- Esp8266 uchun qo'shimcha taxtalar
- Spiff
Foydalanilgan kutubxona:
Veb -rozetka
Men NodeMCU -ni server sifatida HTML -faylga xizmat qilish uchun ishlatardim. Bu faylga xizmat ko'rsatish uchun, faylni Spiffs yordamida nodemcu fayl tizimiga yukladim. HTML -fayl nodemcu -ga ma'lumotlarni ketma -ket monitorda chop etish uchun veb -rozetkalar yordamida yuboradi, server va mijozning veb -rozetkalari orqali tezkor ikki tomonlama aloqa uni masofadan boshqarish pulti sifatida ishlatishga imkon berdi. Keyingi qadamlarda, mening kodim qanday ishlashini tushuntirmayman
Ta'minotlar
NodeMCU
1 -qadam: uni ishga soling
Mana bu qanday ishlashi haqida qadamlar
- Qo'shilgan faylni yuklab oling va mousebot.ino faylini oching
- Eskiz> sketch papkasini ko'rsatish -ga o'ting va ma'lumotlar nomli yangi papkani yarating
- Ushbu qo'llanmadan html faylini nomlangan papkada saqlang. Men o'zimni "Joystick" deb nomladim
- "Esp8266 eskiz ma'lumotlarini yuklash" ni ko'rish uchun asboblarga o'ting va sizning spiffingiz allaqachon ishlayotganligiga ishonch hosil qiling.
- HTML faylini nodemcu -ga "esp8266 eskiz ma'lumotlarini yuklash" tugmasini bosib yuklang.
- Fayl yuklangandan so'ng, arduino IDE -ga o'ting va ctrl U tugmachasini bosib mousebot.ino faylini nodemcu -ga yuklang.
2 -qadam: Kod qanday ishlaydi
Birinchidan, biz ushbu kod ishlatadigan kutubxonalarni o'z ichiga olamiz
// ESP8266 -ni WIFI -ga ulanishini yoqish uchun
#include #include #include // ESP8266 -ni server vazifasini bajaradi #include // server va mijoz bilan aloqa o'rnatadi (sizning ulangan qurilmangiz) #include #include // nodemcu -da yuklangan faylni ochish uchun #include
Esp8266 -ni 80 -portda ochilgan veb -server sifatida o'rnating. Portlar - bu ma'lumotlar o'tadigan yo'llar. Server porti sifatida u HTML faylini mijozga yuboradi (unga ulangan ulanishlar).
Mijozdan kelgan xabarlarni tinglash uchun 81 -port yordamida tarmoqqa ulanish qo'shiladi
Veb -soketlarda num, WStype_t, yuk hajmi va hajmi parametrlari mavjud. Raqam mijozning raqamini aniqlaydi, yuk - bu yuboriladigan xabar, hajmi - xabarning uzunligi va WStype_t - turli hodisalar uchun.
- WStype_DISCONNECTED - mijozni uzishda.
- WStype_CONNECTED: - mijoz ulanganda
- WStype_TEXT - Mijozdan olingan ma'lumotlar
Voqealar turiga qarab, bu erda har xil harakatlar bajariladi va sharhlanadi
yaroqsiz webSocketEvent (uint8_t num, WStype_t turi, uint8_t * yuk hajmi, size_t uzunligi) {
switch (type) {case WStype_DISCONNECTED: Serial.printf ("[%u] uzilgan! / n", son); // ma'lumotlarni ketma -ket monitor uzilishida chop etadi; WStype_CONNECTED holati: {IPAddress ip = webSocket.remoteIP (raqam); // mijozning IP -manzilini oladi Serial.printf ("[%u]%d.%d.%d.%d url:%s / n", raqam, ip [0], ip [1], ip [2], ip [3], yuk); webSocket.sendTXT (raqam, "Ulangan"); // "conencted" ni brauzer konsoliga yuboradi} break; WStype_TEXT holati: Serial.printf ("[%u] Ma'lumotlar: %s / n", son, yuk); // mijoz raqamini %u da chop etadi va %s qatorida olingan ma'lumotlar / n tanaffus;}}
3 -qadam: NODEMCU -ni server sifatida o'rnating
keyinroq ulanish uchun foydalanadigan ssid va parolni o'rnatadi
const char *ssid = "Sinab ko'ring";
const char *parol = "12345678";
O'rnatishda biz nodemcu va kompyuterning aloqa tezligini aniqlaymiz - bu 115200.
bekor o'rnatish (bekor) {
Serial.begin (115200); Serial.print ("\ n");
"rost" ga sozlang, serila terminalidagi wifi diagnostika chiqishini ko'ring
Serial.setDebugOutput (rost);
fayl tizimini ishga tushiring
SPIFFS.begin ();
Nodemcu -ni kirish nuqtasi sifatida ssid va parolni oldindan belgilab qo'ying va siz ilgari ulanadigan nodemcu -ning ipini chop eting. sukut bo'yicha bu 192.168.4.1
Serial.print ("Kirish nuqtasi sozlanmoqda …");
WiFi rejimi (WIFI_AP); WiFi.softAP (ssid, parol); IPAddress myIP = WiFi.softAPIP (); Serial.print ("AP IP -manzili:"); Serial.println (myIP);
Veb -soketni nodemcu -da ishga tushiring, bu faqat server
webSocket.begin ();
Veb -sayt hodisasi yuz berganda webSocketEvent funktsiyasini chaqiradi.
webSocket.onEvent (webSocketEvent);
Nosozliklarni tuzatish uchun "WebSocket server ishga tushdi" ni yangi qatorga chop eting. Bu nodemcu ishlayotgan kod qatorini aniqlash uchun
Serial.println ("WebSocket serveri ishga tushdi.");
mijoz 192.168.4.1 ga kirganda, u handleFileRead funktsiyasini chaqiradi va u bilan URI parametr serverini yuboradi, bu holda bu bizning nodemcu ma'lumotimizdir. HandleFileRead funktsiyasi nodemcu fayl tizimidagi html faylga xizmat qiladi
server.onNotFound ( () {
agar (! handleFileRead (server.uri ()))
Agar topilmasa, "FileNotFound" ko'rsatiladi
server.send (404, "matn/oddiy", "FileNotFound");
});
Serverni ishga tushiradi va HTTP serverini ishga tushiradi.
server.begin (); Serial.println ("HTTP -server ishga tushdi");
Bo'sh vaqtimizda biz serverga mijoz va uning veb -portlari haqidagi xabarlarni doimiy ravishda boshqarishga imkon beramiz:
bo'sh halqa (bo'sh) {
server.handleClient (); webSocket.loop ();}
4 -qadam: HTML faylini yuklang
nodemcu fayl tizimidan html faylini ochish uchun handleFileRead nomli funktsiyadan foydalanamiz. u yuklangan yoki yuklanmaganligini aniqlash uchun qiymat booleanini qaytaradi.
"192.168.4.1/" mijoz tomonidan ochilganda, biz fayl yo'lini ma'lumotlar jildidagi "/Joystick.html" ga o'rnatamiz.
bool handleFileRead (String yo'l) {
Serial.println ("handleFileRead:" + yo'l); if (path.endsWith ("/")) path += "Joystick.html"; if (SPIFFS.exists (path)) {{Fayl fayli = SPIFFS.open (yo'l, "r"); size_t sent = server.streamFile (fayl, "matn/html"); file.close (); haqiqatga qaytish; } false qaytarish; }
"/Joystick.html" fayl yo'li mavjudligini tekshiring
if (SPIFFS.exists (yo'l)) {
Agar u mavjud bo'lsa, uni o'qish uchun "r" bilan belgilangan yo'lni oching. Ko'proq maqsadlar uchun bu erga boring.
Fayl fayli = SPIFFS.open (yo'l, "r");
Faylni "text/html" tarkibidagi kabi serverga yuboradi.
size_t sent = server.streamFile (fayl, "matn/html");
faylni yoping
file.close ();
handleFileRead funktsiyasi rostni qaytaradi
haqiqatni qaytarish;}
agar fayl yo'li bo'lmasa, handleFileRead funktsiyasi false qaytaradi
haqiqatga qaytish; }
5 -qadam: harakat qilib ko'ring
NodeMCU -ga ulaning va "192.168.4.1" ga o'ting va harakat qilib ko'ring!:)
Tavsiya:
Bosqichli dvigatelni qadamlar uchun aylanadigan kodlovchi va OLED displeyi sifatida qanday ishlatish kerak: 6 qadam
Bosqichli motorni qadamlar uchun aylanadigan kodlovchi va OLED -displey sifatida qanday ishlatish kerak: Ushbu qo'llanmada biz OLED -displeyda qadam dvigatelining qadamlarini kuzatishni o'rganamiz. Namoyish videosini tomosha qiling. Asl darslik uchun kredit youtube foydalanuvchisiga beriladi " sky4fly "
Android telefonini Skype yordamida veb -kamera sifatida qanday ishlatish kerak: 5 qadam
Android telefonini Skype yordamida veb -kamera sifatida qanday ishlatish kerak: "Rasm ming so'zga to'g'ri keladi" degan eski so'z bor … va video millionga teng degan yangi so'z bor. Endi bu mubolag'a bo'lib tuyulishi mumkin, lekin qo'ng'iroq paytida kimdir bilan gaplashish o'rtasida katta farq bor
Mac terminalini qanday ishlatish va asosiy funktsiyalarni qanday ishlatish kerak: 4 qadam
Mac terminalini qanday ishlatish va asosiy funktsiyalarni qanday ishlatish kerak: Biz sizga MAC terminalini qanday ochish kerakligini ko'rsatamiz. Shuningdek, biz sizga terminalda ifconfig, kataloglarni o'zgartirish, fayllarga kirish va arp kabi bir nechta xususiyatlarni ko'rsatamiz. Ifconfig sizga IP manzilingizni va MAC reklamangizni tekshirishga imkon beradi
Ichki PS3 xotira kartasi o'quvchisini kompyuterda USB qurilmasi sifatida qanday ishlatish kerak: 6 qadam
Ichki PS3 xotira kartasi o'quvchisini kompyuterda USB qurilmasi sifatida qanday ishlatish kerak: Birinchidan, bu mening birinchi yo'riqnomam (yippie!), Ishonchim komilki, menda PS3 singan edi va men xohladim. ishchi qismlardan biroz foydalaning. Men qilgan birinchi narsa, PS3 kartasidagi konvertor chipining ma'lumotlar varag'ini tortib olish edi
Wiimote -ni kompyuter sichqonchasi sifatida ishlatish, shamlardan sensor sifatida foydalanish!: 3 qadam
Wiimote -ni kompyuter sichqonchasi sifatida shamlardan sensor sifatida qanday ishlatish kerak !!: Ushbu qo'llanma sizga Wii masofadan boshqarish pultini (Wiimote) kompyuteringizga qanday ulash va uni sichqoncha sifatida ishlatishni ko'rsatib beradi