Isi kandungan:
- Bekalan
- Langkah 1: Jadikannya Berfungsi
- Langkah 2: Bagaimana Kod Berfungsi
- Langkah 3: Tetapkan NODEMCU Sebagai Pelayan
- Langkah 4: Muatkan Fail HTML
- Langkah 5: Cubalah
Video: Cara Menggunakan ESP8266 Sebagai Pelayan Web: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Hai, Saya sedang menggunakan windows 10, NodeMCU 1.0 dan berikut adalah senarai Perisian yang saya gunakan dan panduan pemasangan yang saya ikuti:
- Arduino IDE
- Papan tambahan untuk esp8266
- Spiff
Perpustakaan yang digunakan:
Websocket
Saya menggunakan NodeMCU sebagai pelayan untuk melayani Fail HTML yang saya buat dari buku ini. Untuk melayani fail ini, saya memuat naik fail ke sistem fail nodemcu menggunakan Spiffs. Fail HTML menghantar data ke nodemcu menggunakan soket web untuk dicetak pada monitor bersiri untuk ini. Komunikasi dua arah yang cepat melalui soket web pelayan dan pelanggan membolehkan ini digunakan sebagai alat kawalan jauh. Pada langkah-langkah berikut, saya tidak akan menerangkan bagaimana kod saya berfungsi
Bekalan
NodeMCU
Langkah 1: Jadikannya Berfungsi
Inilah langkah-langkah bagaimana ia berfungsi
- Muat turun fail yang dilampirkan dan buka fail mousebot.ino
- Pergi ke sketsa> tunjukkan folder sketsa dan buat folder baru bernama data
- Simpan fail html dari tutorial ini dalam folder bernama. Saya menamakan saya sebagai "Joystick"
- Pastikan spiff anda sudah berfungsi dengan pergi ke alat dan melihat "esp8266 sketsa muat naik data"
- Muat naik fail html ke nodemcu dengan mengklik "muat naik data sketsa esp8266"
- Selepas memuat naik fail, muat naik ke file nodemcu mousebot.ino dengan memasukkan ke arduino IDE dan menekan ctrl U
Langkah 2: Bagaimana Kod Berfungsi
Pertama, kami memasukkan perpustakaan yang akan digunakan kod ini
// untuk membolehkan ESP8266 menyambung ke WIFI
#include #include #include // Membolehkan ESP8266 bertindak sebagai pelayan #include // membolehkan komunikasi dengan pelayan dan klien (peranti anda yang disambungkan) #include #include // Untuk membuka fail yang dinaikkan pada nodemcu #include
Tetapkan esp8266 sebagai pelayan web yang dibuka di port 80. Pelabuhan adalah laluan yang akan dilalui oleh data. Sebagai port pelayan, Ia akan menghantar fail HTML kepada klien (alat yang terhubung dengannya).
Menambah sambungan soket web menggunakan port 81 untuk mendengar mesej dari pelanggan
Soket web mempunyai bilangan parameter, WStype_t, muatan dan ukuran. Num menentukan bilangan pelanggan, muatan adalah mesej yang dihantar, ukuran adalah panjang mesej dan WStype_t adalah untuk acara yang berbeza seperti
- WStype_DISCONNECTED - semasa pemutusan hubungan pelanggan.
- WStype_CONNECTED: - apabila pelanggan menyambung
- WStype_TEXT - Data yang diterima daripada pelanggan
Bergantung pada jenis acara, tindakan yang berbeza dilakukan dan dikomentari di sini
batal webSocketEvent (jumlah uint8_t, jenis WStype_t, uint8_t * muatan, ukuran_t panjang) {
beralih (jenis) {case WStype_DISCONNECTED: Serial.printf ("[% u] Disconnected! / n", num); // mencetak data ke rehat monitor bersiri; kes WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (num); // mendapat IP pelanggan Serial.printf ("[% u] Disambungkan dari% d.% d.% d.% d url:% s / n", num, ip [0], ip [1], ip [2], ip [3], muatan); webSocket.sendTXT (bilangan, "Bersambung"); // menghantar "disambungkan" ke konsol penyemak imbas} rehat; kes WStype_TEXT: Serial.printf ("[% u] Data:% s / n", bilangan, muatan); // mencetak nombor pelanggan dalam% u dan data yang diterima sebagai rentetan dalam% s / n rehat;}}
Langkah 3: Tetapkan NODEMCU Sebagai Pelayan
menetapkan ssid dan kata laluan yang akan anda gunakan untuk menyambungnya kemudian
const char * ssid = "Cuba";
const char * kata laluan = "12345678";
pada penyiapan, kami menentukan kadar di mana nodemcu dan pc kami akan berkomunikasi, iaitu 115200.
persediaan kosong (kekosongan) {
Serial.begin (115200); Cetakan bersiri ("\ n");
tetapkan ke benar juga lihat output diagnostik wifi di terminal serila
Serial.setDebugOutput (benar);
initaliaze sistem fail
SPIFFS.begin ();
Tetapkan nodemcu sebagai titik akses dengan ssid dan kata sandi yang terdahulu dan cetak ip nodemcu yang akan anda sambungkan lebih awal. secara lalai adalah 192.168.4.1
Serial.print ("Mengkonfigurasi pusat akses …");
WiFi.mode (WIFI_AP); WiFi.softAP (ssid, kata laluan); IPAddress myIP = WiFi.softAPIP (); Serial.print ("Alamat IP AP:"); Serial.println (myIP);
Memulakan soket web di nodemcu, yang merupakan pelayan pur
webSocket.begin ();
Memanggil fungsi webSocketEvent ketika kejadian websocket berlaku.
webSocket.onEvent (webSocketEvent);
Untuk penyahpepijatan, cetak "Pelayan WebSocket dimulakan" pada baris baru. Ini untuk menentukan garis kod yang diproses oleh nodemcu
Serial.println ("Pelayan WebSocket dimulakan.");
apabila pelanggan melayari 192.168.4.1, ia akan memanggil fungsi handleFileRead dan menghantarnya URI pelayan parameter yang dalam kes ini adalah maklumat nodemcu kami. Fungsi handleFileRead akan melayani fail html dari sistem fail nodemcu
pelayan.onNotFound ( () {
jika (! handleFileRead (server.uri ()))
jika tidak dijumpai, ia akan menunjukkan "FileNotFound"
server.send (404, "text / plain", "FileNotFound");
});
Memulakan pelayan dan mencetak pelayan HTTP dimulakan.
pelayan.begin (); Serial.println ("Pelayan HTTP dimulakan");
Pada gelung kekosongan kami, kami membolehkan pelayan untuk menangani komunikasi klien dan soket webnya secara berterusan seperti berikut:
gelung kosong (kekosongan) {
pelayan.handleClient (); webSocket.loop ();}
Langkah 4: Muatkan Fail HTML
kita akan menggunakan fungsi bernama handleFileRead untuk membuka dan fail html dari sistem fail nodemcu. ia akan mengembalikan nilai boolean untuk menentukan sama ada dimuat atau tidak.
Apabila "192.168.4.1/" dibuka oleh klien, kami menetapkan jalan fail ke "/Joystick.html, nama fail kami di folder data
bool handleFileRead (String path) {
Serial.println ("handleFileRead:" + jalan); if (path.endsWith ("/")) jalan + = "Joystick.html"; if (SPIFFS.exists (path)) {Fail fail = SPIFFS.open (jalan, "r"); size_t sent = server.streamFile (fail, "teks / html"); fail.tutup (); kembali benar; } kembali palsu; }
Periksa sama ada laluan fail "/Joystick.html" ada
jika (SPIFFS. wujud (jalan)) {
Sekiranya ada, buka jalan dengan tujuan membacanya yang ditentukan oleh "r". Pergi ke sini untuk lebih banyak tujuan.
Fail fail = SPIFFS.open (jalan, "r");
Menghantar fail ke pelayan seperti dengan jenis kandungan "text / html"
size_t sent = server.streamFile (fail, "text / html");
tutup fail
fail.tutup ();
fungsi handleFileRead kembali benar
kembali benar;}
jika laluan fail tidak ada, fungsi handleFileRead kembali palsu
kembali benar; }
Langkah 5: Cubalah
Sambung ke nodeMCU dan pergi ke "192.168.4.1" dan cubalah!:)
Disyorkan:
Pembuka Pintu Garage Dengan Maklum Balas Menggunakan Esp8266 Sebagai Pelayan Web .: 6 Langkah
Pembuka Pintu Garasi Dengan Maklum Balas Menggunakan Esp8266 Sebagai Pelayan Web: Hai, saya akan tunjukkan cara membuat kaedah mudah untuk melakukan pembuka pintu garaj.-ESP8266 dikodkan sebagai pelayan web, pintu boleh dibuka di mana-mana sahaja di dunia-Dengan maklum balas, anda akan tahu adakah pintu terbuka atau ditutup dalam masa nyata -Sederhana, hanya satu jalan pint
Tutorial: Cara Menggunakan ESP32-CAM dalam Pelayan Web Streaming Video: 3 Langkah
Tutorial: Cara Menggunakan ESP32-CAM dalam Pelayan Web Streaming Video: Penerangan: ESP32-CAM adalah Lembaga Pembangunan Visi Tanpa Wayar ESP32 dalam faktor bentuk yang sangat kecil, yang dirancang untuk digunakan dalam pelbagai projek IoT, seperti peranti pintar rumah, industri kawalan tanpa wayar, pemantauan tanpa wayar, identiti tanpa wayar QR
Cara Menggunakan Telefon Android Sebagai Kamera Web Dengan Skype: 5 Langkah
Cara Menggunakan Telefon Android Sebagai Kamera Web Dengan Skype: Ada pepatah lama bahawa gambar bernilai seribu perkataan … dan ada pepatah baru bahawa video bernilai satu juta. Sekarang ini mungkin kelihatan seperti keterlaluan, tetapi ada perbezaan besar antara berbicara dengan seseorang dalam panggilan dan bercakap dengan
Cara Menggunakan Wiimote Sebagai Tetikus Komputer Menggunakan Lilin Sebagai Sensor !!: 3 Langkah
Cara Menggunakan Wiimote Sebagai Tetikus Komputer Menggunakan Lilin Sebagai Sensor !!: Panduan ini akan menunjukkan kepada anda cara menghubungkan Wii Remote (Wiimote) ke komputer anda dan menggunakannya sebagai tetikus
Cara Menggunakan Camcorder Anda Sebagai Kamera Web: 4 Langkah
Cara Menggunakan Camcorder Anda Sebagai Kamera Web: Sekiranya anda seperti saya, anda mempunyai banyak rakan yang telah berpindah dari rumah, dan tinggal ribuan kilometer jauhnya, atau anda mempunyai rakan yang anda kunjungi di universiti yang semuanya tinggal di sini tempat berbeza. Saya secara peribadi membenci telefon dan