Daftar Isi:
- Perlengkapan
- Langkah 1: Buat Ini Bekerja
- Langkah 2: Cara Kerja Kode
- Langkah 3: Atur NODEMCU Sebagai Server
- Langkah 4: Muat File HTML
- Langkah 5: Cobalah
Video: Cara Menggunakan ESP8266 Sebagai Server Web: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Hai, saya saat ini menggunakan windows 10, NodeMCU 1.0 dan berikut adalah daftar Perangkat Lunak yang saya gunakan dan panduan instalasi yang saya ikuti:
- Arduino IDE
- Papan tambahan untuk esp8266
- Spiff
Perpustakaan yang digunakan:
soket web
Saya menggunakan NodeMCU sebagai server untuk menyajikan File HTML yang saya buat dari tutorial ini. Untuk menyajikan file ini, saya mengunggah file ke sistem file nodemcu menggunakan Spiffs. File HTML mengirimkan data ke nodemcu menggunakan soket web untuk dicetak pada monitor serial untuk ini. Komunikasi dua arah yang cepat melalui soket web server dan klien memungkinkan ini untuk digunakan sebagai kendali jarak jauh. Pada langkah-langkah berikut, saya akan menjelaskan cara kerja kode saya
Perlengkapan
NodeMCU
Langkah 1: Buat Ini Bekerja
Berikut langkah-langkah cara kerjanya
- Unduh file terlampir dan buka file mousebot.ino
- Buka sketsa> tampilkan folder sketsa dan buat folder baru bernama data
- Simpan file html dari tutorial ini di folder bernama. Saya menamai milik saya sebagai "Joystick"
- Pastikan spiff Anda sudah berfungsi dengan membuka alat dan melihat "unggahan data sketsa esp8266"
- Upload file html ke nodemcu dengan mengklik "esp8266 sketch data upload"
- Setelah file diunggah, unggah ke nodemcu file mousebot.ino dengan masuk ke arduino IDE dan tekan ctrl U
Langkah 2: Cara Kerja Kode
Pertama, kami menyertakan perpustakaan yang akan digunakan kode ini
//untuk mengaktifkan ESP8266 agar terhubung ke WIFI
#include #include #include //Mengaktifkan ESP8266 untuk bertindak sebagai server #include //mengaktifkan komunikasi dengan server dan klien (perangkat Anda yang terhubung) #include #include //Untuk membuka file yang di-uplaod di nodemcu #include
Atur esp8266 sebagai server web yang dibuka pada port 80. Port adalah jalur yang akan dilalui data. Sebagai port server, Ini akan mengirim file HTML ke klien (perangkat yang terhubung dengannya).
Menambahkan koneksi websocket menggunakan port 81 untuk mendengarkan pesan dari klien
Soket web memiliki parameter num, WStype_t, payload, dan ukuran. Angka tersebut menentukan nomor klien, payload adalah pesan yang dikirim, ukuran adalah panjang pesan dan WStype_t adalah untuk acara yang berbeda seperti
- WStype_DISCONNECTED - saat pemutusan klien.
- WStype_CONNECTED: - ketika klien terhubung
- WStype_TEXT - Menerima data dari klien
Bergantung pada jenis acara, tindakan yang berbeda dilakukan dan dikomentari di sini
void webSocketEvent(num uint8_t, tipe WStype_t, uint8_t * payload, size_t panjang) {
switch (type) { case WStype_DISCONNECTED: Serial.printf("[%u] Terputus!\n", num); //mencetak data ke serial monitor break; kasus WStype_CONNECTED: { IPaddress ip = webSocket.remoteIP(num); //mendapatkan IP klien Serial.printf("[%u] Terhubung dari %d.%d.%d.%d url: %s\n", num, ip[0], ip[1], ip[2], ip[3], muatan); webSocket.sendTXT(angka, "Terhubung"); //mengirim "tersambung" ke konsol browser } break; case WStype_TEXT: Serial.printf("[%u] Data: %s\n", num, payload); //mencetak nomor klien di %u dan data yang diterima sebagai string di %s\n break;}}
Langkah 3: Atur NODEMCU Sebagai Server
menyetel ssid dan kata sandi yang akan Anda gunakan untuk menyambungkannya nanti
const char *ssid = "Coba";
const char *kata sandi = "12345678";
pada pengaturan, kami menentukan tingkat di mana nodemcu dan pc kami akan berkomunikasi, yaitu 115200.
pengaturan batal(batal){
Serial.begin(115200); Serial.print("\n");
atur ke true juga lihat output diagnostik wifi di terminal serila
Serial.setDebugOutput(benar);
inisialisasi sistem file
SPIFFS.mulai();
Atur nodemcu sebagai accesspoint dengan ssid dan password defiend sebelumnya dan cetak ip nodemcu yang akan Anda hubungkan sebelumnya. secara default adalah 192.168.4.1
Serial.print("Konfigurasi titik akses…");
WiFi.mode(WIFI_AP); WiFi.softAP(ssid, kata sandi); IPAddress myIP = WiFi.softAPIP(); Serial.print("Alamat IP AP: "); Serial.println(IP saya);
Inisialisasi soket web pada nodemcu, yang merupakan server murni
webSocket.begin();
Memanggil fungsi webSocketEvent saat kejadian websocket terjadi.
webSocket.onEvent(webSocketEvent);
Untuk debugging, cetak " Server WebSocket dimulai" pada baris baru. Ini untuk menentukan baris kode yang diproses oleh nodemcu
Serial.println("Server WebSocket dimulai.");
ketika klien mengunjungi 192.168.4.1, ia akan memanggil fungsi handleFileRead dan mengirim bersamanya parameter server URI yang dalam hal ini adalah informasi nodemcu kami. Fungsi handleFileRead akan melayani file html dari sistem file nodemcu
server.onNotFound((){
if(!handleFileRead(server.uri()))
jika tidak dapat ditemukan maka akan muncul "FileNotFound"
server.send(404, "teks/polos", "FileNotFound");
});
Memulai server dan mencetak server HTTP dimulai.
server.mulai(); Serial.println("Server HTTP dimulai");
Pada loop kosong kami, kami memungkinkan server untuk terus menangani komunikasi klien dan soket webnya sebagai berikut:
lingkaran kosong (batal){
server.handleClient(); webSocket.loop();}
Langkah 4: Muat File HTML
kita akan menggunakan fungsi bernama handleFileRead untuk membuka dan file html dari sistem file nodemcu. itu akan mengembalikan nilai boolean untuk menentukan apakah itu dimuat atau tidak.
Ketika "192.168.4.1/" dibuka oleh klien, kami mengatur jalur file ke "/ Joystick.html, nama file kami di folder data
bool handleFileRead(Jalur string){
Serial.println("handleFileRead: " + jalur); if(path.endsWith("/")) path += "Joystick.html"; if(SPIFFS.exists(path)){ File file = SPIFFS.open(path, "r"); size_t terkirim = server.streamFile(file, "teks/html"); file.close(); kembali benar; } kembali salah; }
Periksa apakah jalur file"/Joystick.html" ada
if(SPIFFS.exists(path)){
Jika ada, buka jalur dengan tujuan membacanya yang ditentukan oleh "r". Buka di sini untuk lebih banyak tujuan.
File file = SPIFFS.open(path, "r");
Mengirim file ke server dengan tipe konten "teks/html"
size_t terkirim = server.streamFile(file, "teks/html");
tutup filenya
file.tutup();
fungsi handleFileRead mengembalikan true
kembali benar;}
jika jalur file tidak ada, fungsi handleFileRead mengembalikan false
kembali benar; }
Langkah 5: Cobalah
Hubungkan ke nodeMCU dan buka "192.168.4.1" dan coba!:)
Direkomendasikan:
Pembuka Pintu Garasi Dengan Umpan Balik Menggunakan Esp8266 Sebagai Server Web.: 6 Langkah
Pembuka Pintu Garasi Dengan Umpan Balik Menggunakan Esp8266 Sebagai Web Server umpan balik, Anda akan tahu apakah pintu terbuka atau tertutup secara real time-Sederhana, hanya satu jalan pintas untuk membuat saya
Arduino Sebagai ISP -- Bakar File Hex di AVR -- Sekering di AVR -- Arduino Sebagai Pemrogram: 10 Langkah
Arduino Sebagai ISP || Bakar File Hex di AVR || Sekering di AVR || Arduino Sebagai Programmer:……………………..Silakan BERLANGGANAN ke saluran YouTube saya untuk lebih banyak video……..Artikel ini adalah semua tentang arduino sebagai ISP. Jika anda ingin mengupload file hex atau ingin memasang fuse di AVR maka anda tidak perlu membeli programmer, anda bisa melakukan
Tutorial: Cara Menggunakan ESP32-CAM di Server Web Streaming Video: 3 Langkah
Tutorial: Cara Menggunakan ESP32-CAM di Server Web Streaming Video: Deskripsi:ESP32-CAM adalah Papan Pengembangan Visi IoT Nirkabel ESP32 dalam faktor bentuk yang sangat kecil, dirancang untuk digunakan di berbagai proyek IoT, seperti perangkat pintar rumah, industri kontrol nirkabel, pemantauan nirkabel, identifikasi nirkabel QR
Cara Menggunakan Motor Stepper Sebagai Rotary Encoder dan Tampilan OLED untuk Langkah: 6 Langkah
Cara Menggunakan Motor Stepper Sebagai Rotary Encoder dan Tampilan OLED untuk Langkah-Langkahnya: Dalam tutorial ini kita akan mempelajari cara melacak langkah motor stepper pada Tampilan OLED. Tonton video demonstrasi. Kredit untuk tutorial Asli diberikan kepada pengguna youtube "sky4fly"
Cara Menggunakan Wiimote Sebagai Mouse Komputer Menggunakan Lilin Sebagai Sensor!!: 3 Langkah
Cara Menggunakan Wiimote Sebagai Mouse Komputer Menggunakan Lilin Sebagai Sensor!!: Panduan ini akan menunjukkan cara menghubungkan Wii Remote (Wiimote) ke komputer dan menggunakannya sebagai mouse