Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Үүнийг ажиллуул
- Алхам 2: Код хэрхэн ажилладаг талаар
- Алхам 3: NODEMCU -ийг сервер болгон тохируулна уу
- Алхам 4: HTML файлыг ачаална уу
- Алхам 5: Үүнийг туршаад үзээрэй
Видео: ESP8266 -ийг вэб сервер болгон хэрхэн ашиглах вэ: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Сайн байна уу, би одоогоор Windows 10, NodeMCU 1.0 ашиглаж байгаа бөгөөд миний дагаж мөрдсөн програм хангамж, суулгах гарын авлагын жагсаалт энд байна.
- Arduino IDE
- Esp8266 -ийн нэмэлт самбарууд
- Spiff
Ашигласан номын сан:
Вэбсокет
Би NodeMCU -ийг thistutorial -ээс хийсэн HTML файлд үйлчлэх сервер болгон ашигласан. Энэ файлд үйлчлэхийн тулд би Spiffs ашиглан файлыг nodemcu файлын системд байршуулсан. HTML файл нь nodemcu руу өгөгдлийг цуваа дэлгэц дээр хэвлэх вэбсокет ашиглан илгээдэг бөгөөд сервер болон үйлчлүүлэгчийн вэбсокетоор дамжуулан хоёр талт хурдан холболтыг алсын удирдлага болгон ашиглах боломжийг олгодог. Дараагийн алхам дээр миний код хэрхэн ажилладаг талаар тайлбарлах болно
Хангамж
NodeMCU
Алхам 1: Үүнийг ажиллуул
Энэ нь хэрхэн ажилладаг талаархи алхамуудыг энд оруулав
- Хавсаргасан файлыг татаж аваад mousebot.ino файлыг нээнэ үү
- Ноорог> ноорог хавтасыг үзээд өгөгдөл нэртэй шинэ хавтас үүсгэнэ үү
- Энэ гарын авлагаас html файлыг нэрлэсэн хавтсанд хадгална уу. Би намайг "Joystick" гэж нэрлэсэн
- "Esp8266 ноорог өгөгдөл байршуулах" -ыг харахын тулд багаж хэрэгсэл рүү очиж, таны спифф аль хэдийн ажиллаж байгаа эсэхийг шалгаарай.
- Html файлыг nodemcu руу "esp8266 ноорог өгөгдөл байршуулах" дээр дарж оруулна уу.
- Файл байршуулсны дараа mousebot.ino файлыг nodemcu руу arduino IDE руу оруулаад ctrl U дарна уу.
Алхам 2: Код хэрхэн ажилладаг талаар
Нэгдүгээрт, бид энэ код ашиглах номын сангуудыг оруулна
// ESP8266 -г WIFI -д холбогдохыг идэвхжүүлэх
#include #include #include // ESP8266 -ийг серверийн үүргийг гүйцэтгэхийг идэвхжүүлнэ #include // нь сервер болон үйлчлүүлэгчтэй харилцах боломжийг олгодог (таны холбогдсон төхөөрөмж)
Esp8266 -ийг 80 -р порт дээр нээгдсэн вэб сервер болгон тохируулаарай. Портууд нь өгөгдөл дамжих зам юм. Серверийн портын хувьд энэ нь HTML файлыг үйлчлүүлэгчид илгээх болно (түүнтэй холбогдсон холболтууд).
Үйлчлүүлэгчээс ирсэн мессежийг сонсохын тулд 81 порт ашиглан вэбсокет холболт нэмнэ
Вэбсокетууд нь num, WStype_t, ачаалал, хэмжээ гэсэн параметртэй байдаг. Num нь үйлчлүүлэгчийн дугаарыг тодорхойлдог, ачаалал нь түүний илгээж буй мессеж, хэмжээ нь зурвасын урт, 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); // үйлчлүүлэгчийн IP -ийг авна Serial.printf ("[%u]%d.%d.%d.%d url:%s / n", num, ip [0], ip [1], ip [2], ip [3], ачаалал); webSocket.sendTXT (тоо, "Холбогдсон"); // "conencted" -ийг хөтчийн консол руу илгээдэг} завсарлага; тохиолдолд WStype_TEXT: Serial.printf ("[%u] Өгөгдөл: %s / n", тоо, ачаалал); // үйлчлүүлэгчийн дугаарыг %u хэлбэрээр хэвлэж, өгөгдлийг %s дотор тэмдэгт мөр болгон хэвлэнэ / n завсарлага;}}
Алхам 3: NODEMCU -ийг сервер болгон тохируулна уу
дараа нь холбогдохын тулд ашиглах ssid болон нууц үгээ тохируулна
const char *ssid = "Оролдох";
const char *password = "12345678";
тохиргоон дээр бид nodemcu болон pc -ийнхээ харилцах хурдыг тодорхойлдог бөгөөд энэ нь 115200 юм.
хүчингүй тохиргоо (хүчингүй) {
Цуваа.begin (115200); Serial.print ("\ n");
Үнэн гэж тохируулсан бол серила терминал дээрх wifi оношлогооны гаралтыг үзнэ үү
Serial.setDebugOutput (үнэн);
файлын системийг эхлүүлэх
SPIFFS.begin ();
Nodemcu -ийг ssid болон нууц үгийг өмнө нь нэвтрэх цэг болгон тохируулж, өмнө нь холбогдох nodemcu -ийн ip -ийг хэвлэ. Анхдагч байдлаар энэ нь 192.168.4.1 байна
Serial.print ("Хандалтын цэгийг тохируулж байна …");
WiFi горим (WIFI_AP); WiFi.softAP (ssid, нууц үг); IPAddress myIP = WiFi.softAPIP (); Serial.print ("AP IP хаяг:"); Serial.println (myIP);
Nodemcu дээрх вэбсокетыг эхлүүлээрэй
webSocket.begin ();
Webocket үйл явдал тохиолдоход webSocketEvent функцийг дуудна.
webSocket.onEvent (webSocketEvent);
Дебаг хийх зорилгоор "WebSocket сервер эхэлсэн" гэж шинэ мөрөнд хэвлэ. Энэ нь nodemcu -ийн боловсруулж буй кодын мөрийг тодорхойлох зорилготой юм
Serial.println ("WebSocket сервер эхэлсэн.");
үйлчлүүлэгч 192.168.4.1 -д зочлохдоо handleFileRead функцийг дуудаж, түүнтэй хамт бидний nodemcu мэдээлэл болох URI параметрийн серверийг илгээх болно. HandleFileRead функц нь nodemcu файлын системээс html файлд үйлчилнэ
server.onNotFound ( () {
if (! handleFileRead (server.uri ()))
олдохгүй бол "FileNotFound" -ыг харуулна.
server.send (404, "текст/энгийн", "FileNotFound");
});
Серверийг эхлүүлж, HTTP серверийг хэвлэж эхлэв.
server.begin (); Serial.println ("HTTP сервер эхэлсэн");
Хоосон цикл дээр бид серверийг үйлчлүүлэгч болон түүний вэбсайтын холбоосыг дараах байдлаар тасралтгүй удирдах боломжийг олгодог.
void loop (хүчингүй) {
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)) {Файлын файл = SPIFFS.open (зам, "r"); size_t sent = server.streamFile (файл, "текст/html"); file.close (); үнэн рүү буцах; } худал буцах; }
"/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" рүү ороод үзээрэй!:)
Зөвлөмж болгож буй:
Вэб дээр суурилсан хяналтын самбар бүхий вэб холболттой SMART LED анимэйшн цаг, синхрончлогдсон цагийн сервер: 11 алхам (зурагтай)
Вэб дээр суурилсан Хяналтын самбар бүхий вэб холболттой SMART LED анимэйшн цаг, синхрончлогдсон цаг: Энэ цагийн түүх 30 гаруй жилийн түүхтэй. Аав маань энэ санааг анх 10 -хан настай байхад, LED хувьсгалаас нэлээд өмнө анх санаачилж байсан юм. Үнэн
Raspberry Pi ашиглан хурдан вэб сервер хэрхэн хийх вэ: 10 алхам
Бөөрөлзгөнө Pi ашиглан экспресс вэб серверийг хэрхэн яаж хийх вэ: Энэхүү гарын авлага нь Raspberry Pi-ийг хэрхэн вэб сервер байршуулах, вэбсайтыг байршуулах, тэр байтугай бусад олон онлайн үйлчилгээг байршуулахын тулд бага зэрэг өөрчилж өгөх талаар танд хэлэх болно. тоглоомын сервер эсвэл видео дамжуулах сервер хэлбэрээр. Бид зөвхөн хамгаалах болно
Камераа вэб камер болгон хэрхэн ашиглах вэ: 4 алхам
Камераа хэрхэн вэб камер болгон ашиглах вэ: Хэрэв та над шиг бол гэрээсээ нүүсэн, олон мянган километрийн цаана амьдардаг олон найз нөхөдтэй, эсвэл их сургуульд сурч байсан найз нөхөдтэй. өөр газрууд. Би хувьдаа утас, хэрэгслийг үзэн яддаг
Сервер талын ихэнх вэб хориглогчдын аюулгүй байдлыг хэрхэн хангах вэ: 3 алхам
Ихэнх серверийн талын вэб хориглогчдын аюулгүй байдлыг хэрхэн тойрч гарах вэ: Энэ бол миний анхны зааварчилгаа юм, тиймээс надад тэвчээртэй байгаарай: За, би сургуулиудад ашиглаж байсан вэб хориглогчдыг хэрхэн тойрч гарахыг танд хэлэх болно. Танд хэрэгтэй зүйл бол флаш диск болон цөөн хэдэн програм татаж авах явдал юм
Хуучин компьютерийг вэб сервер болгон хувиргаарай!: 9 алхам
Хуучин компьютерийг вэб сервер болгон хувиргаарай!: Сүлжээний кабель, хонгилдоо тоос цуглуулдаг хуучин компьютерээ яах вэ? За энд танд хэрэгтэй байж болох бяцхан зүйл байна