Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
OSOYOO NodeMCU IOT Starter kit
Ikuti kami di facebook, temukan item baru kami yang dirilis dan bagikan ide dan Video Anda tentang cara menggunakan produk kami secara kreatif. Anda bisa mendapatkan cash back atau giveaway dari kami! Facebook:
Youtube:
Dalam pelajaran ini, kita akan menghubungkan tombol sakelar ke NodeMCU, dan mengirim status sakelar ke broker MQTT. Ketika tombol ditekan, NodeMCU akan mempublikasikan status tombol "ditekan" ke broker MQTT dan klien MQTT akan berlangganan pesan-pesan ini. Saat tombol tekan dilepaskan, "tidak ditekan" akan dikirim.
Langkah 1: Persiapan
Perangkat keras:
Papan NodeMCU x 1
Tombol Beralih x 1
1K resistor x 1
Papan tempat memotong roti x 1
Kabel jumper
Perangkat lunak:
Arduino IDE (versi 1.6.4+)
Paket Papan ESP8266 dan Driver Port Serial
Klien MQTT (MQTTBox di sini)
Perpustakaan Arduino: PubSubClient
Langkah 2: Grafik Koneksi
Dalam pelajaran ini, kami menggunakan D2(GPIO4) untuk mengontrol sakelar, silakan atur perangkat keras sesuai dengan grafik koneksi.
Catatan: resistor 1k digunakan sebagai resistor pull-down, Dalam rangkaian seperti itu, ketika sakelar ditutup, input NodeMCU berada pada nilai tinggi yang logis, tetapi ketika sakelar terbuka, resistor pull-down menarik tegangan input down to ground (nilai nol logis), mencegah keadaan tidak terdefinisi pada input.
Langkah 3: Kode
Salin kode di bawah ini ke Arduino IDE:
/* _ _ _ _ _ _ _ _ _ _ * / _ / /_)/ _ \| | | |/ _ / / _ / / _) _ \| / *| |_| |_ | |_| | |_| | |_| | |_| ((_| |_| | | | | * \_/(_/ \_/ \_ |\_/ \_(_)_)_/|_|_|_| * (_/ * Gunakan NodeMCU mengirim status tombol sakelar ke klien MQTT melalui WiFi * URL Tutorial: * CopyRight www.osoyoo.com */ #include #include
int BUTTON_PIN = D2; //tombol terhubung ke pin GPIO D1
// Perbarui ini dengan nilai yang sesuai untuk jaringan Anda. const char* ssid = "*********";//letakkan ssid wifi Anda di sini const char* password = "*********";//masukkan kata sandi wifi Anda di sini. const char* mqtt_server = "broker.mqttdashboard.com"; //const char* mqtt_server = "iot.eclipse.org";
WiFiClient espClient;
klien PubSubClient (espClient); long lastMsg = 0; pesan char[50];
batalkan setup_wifi() {
penundaan(100); // Kita mulai dengan menghubungkan ke jaringan WiFi Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, kata sandi); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } randomSeed(mikro()); Serial.println(""); Serial.println("WiFi terhubung"); Serial.println("Alamat IP: "); Serial.println(WiFi.localIP()); }
void callback(char* topic, byte* payload, unsigned int length)
{} //akhiri panggilan balik
batal sambungkan kembali() {
// Ulangi sampai kita terhubung kembali while (!client.connected()) { Serial.print("Mencoba koneksi MQTT…"); // Buat ID klien acak String clientId = "ESP8266Client-"; clientId += String(acak(0xffff), HEX); // Mencoba untuk terhubung // jika broker MQTT Anda memiliki ID klien, nama pengguna, dan kata sandi // harap ubah baris berikut menjadi if (client.connect(clientId, userName, passWord)) if (client.connect(clientId.c_str())) { Serial.println("terhubung"); //setelah terhubung ke broker MQTT, berlangganan perintah jika ada client.subscribe("OsoyooCommand"); } else { Serial.print("gagal, rc="); Serial.print(klien.status()); Serial.println("coba lagi dalam 5 detik"); // Tunggu 5 detik sebelum mencoba lagi delay(5000); } } } //akhiri koneksi ulang()
batalkan pengaturan() {
Serial.begin(115200); setup_wifi(); client.setServer(mqtt_server, 1883); client.setCallback(panggilan balik); pinMode(BUTTON_PIN, INPUT); }
lingkaran kosong() {
if (!client.connected()) { hubungkan kembali(); } klien.loop(); lama sekarang = mili(); status int; //kirim pesan setiap 2 detik if (now - lastMsg > 2000) { lastMsg = now; status=digitalRead(BUTTON_PIN); String msg="Status tombol: "; if(status==HIGH) { msg= msg+ "Ditekan"; pesan karakter[58]; msg.toCharArray(pesan, 58); Serial.println(pesan); //mempublikasikan data sensor ke klien broker MQTT.publish("OsoyooData", pesan); } else { msg= msg+ " Tidak Ditekan"; pesan karakter[58]; msg.toCharArray(pesan, 58); Serial.println(pesan); //mempublikasikan data sensor ke klien broker MQTT.publish("OsoyooData", pesan); } } }
Edit kode agar sesuai dengan pengaturan WiFi dan MQTT Anda sendiri sebagai operasi berikut: 1) Konfigurasi Hotspot: Temukan baris kode di bawah ini, masukkan ssid dan kata sandi Anda sendiri di sana.
const char* ssid = “your_hotspot_ssid”;const char* password = “your_hotspot_password”;
2) Pengaturan Alamat Server MQTT: Anda dapat menggunakan URL atau alamat IP broker MQTT Anda sendiri untuk menetapkan nilai mqtt_server di atas. Anda juga dapat menggunakan beberapa server MQTT gratis yang terkenal untuk menguji proyek seperti “broker.mqtt-dashboard.com”, “iot. Eclipse.org” dll.
const char* mqtt_server = “broker.mqtt-dashboard.com”;
3) Pengaturan Klien MQTT Jika broker MQTT Anda memerlukan ID klien, otentikasi nama pengguna dan kata sandi, Anda perlu mengubah
jika (client.connect(clientId.c_str()))
Ke
if (client.connect(clientId, userName, passWord)) // letakkan clientId/userName/passWord Anda di sini
Jika tidak, simpan saja sebagai default. Setelah itu, pilih jenis papan dan jenis port yang sesuai seperti di bawah ini, lalu unggah sketsa ke NodeMCU.
- Papan: "NodeMCU 0.9 (Modul ESP-12)"
- Frekuensi CPU: "80MHz" Ukuran Flash:"
- 4M (3M SPIFFS)”
- Kecepatan Unggah:”115200″
- Port: Pilih Port Serial Anda sendiri untuk NodeMCU Anda
Langkah 4: Pengaturan Klien MQTT
Jika Anda tidak tahu cara mengkonfigurasi klien MQTT, silakan kunjungi artikel terakhir kami:
Pengaturan Topik:Topik yang akan dipublikasikan: OsoyooCommand
Topik untuk berlangganan: OsoyooData
Hasil Berjalan
Setelah pengunggahan selesai, jika pengaturan nama hotspot wifi dan kata sandi ok dan broker MQTT terhubung, buka Serial Monitor, Anda akan melihat hasil berikut: Tekan terus tombol ini, Serial Monitor akan menampilkan "Status tombol: Ditekan" setiap 2 detik; setelah melepaskan tombol ini, Serial Monitor akan menampilkan “Status Tombol: Tidak Ditekan” setiap 2 detik.
Direkomendasikan:
WAVE SWITCH--TOUCH LESS SWITCH MENGGUNAKAN 555: 4 Langkah
WAVE SWITCH||TOUCH LESS SWITCH MENGGUNAKAN 555: Halo semuanya Selamat datang Hari ini saya membuat sakelar tanpa sentuhan sederhana, diaktifkan hanya dengan melambaikan tangan dengan bantuan sensor Inframerah dan IC timer 555 jadi mari kita buat….Pengoperasiannya sederhana karena 555 bekerja sebagai flip-flop, tokonya
IoT Dengan NodeMCU dan MQTT: 4 Langkah
IoT Dengan NodeMCU dan MQTT: [En] Sekali untuk aplikasi industri saya perlu membuat PCB dengan 8 kontak kering, sedikit bermain dengan MQTT dan memutuskan untuk mengadaptasinya agar berfungsi menggunakan NodeMCU esp-f v4. Untuk membuatnya menjadi cara sederhana untuk membuat otomatisasi rumah murah.[Pt-Br] Cert
Cara Membuat Anemometer Sendiri Menggunakan Reed Switch, Sensor Efek Hall dan Beberapa Memo di Nodemcu - Bagian 2 - Perangkat Lunak: 5 Langkah (dengan Gambar)
Cara Membuat Anemometer Sendiri Menggunakan Reed Switch, Sensor Hall Effect dan Beberapa Scraps di Nodemcu - Bagian 2 - Software: PendahuluanIni adalah lanjutan dari posting pertama "Cara Membuat Anemometer Sendiri Menggunakan Reed Switch, Sensor Hall Effect dan Beberapa Memo di Nodemcu - Bagian 1 - Perangkat Keras" - di mana saya menunjukkan cara merakit pengukur kecepatan dan arah angin
Cara Membuat Anemometer Sendiri Menggunakan Reed Switch, Sensor Efek Hall, dan Beberapa Memo di Nodemcu. - Bagian 1 - Perangkat Keras: 8 Langkah (dengan Gambar)
Cara Membuat Anemometer Sendiri Menggunakan Reed Switch, Sensor Efek Hall, dan Beberapa Memo di Nodemcu. - Bagian 1 - Perangkat Keras: Pengantar Sejak saya mulai mempelajari Arduino dan Budaya Pembuat, saya suka membuat perangkat yang berguna menggunakan barang bekas dan bekas seperti tutup botol, potongan PVC, kaleng minuman, dll. hidup untuk bagian apa pun atau pasangan apa pun
GOOGLE ASSISTANT CONTROLLED SWITCH MENGGUNAKAN NODEMCU: 9 Langkah
GOOGLE ASSISTANT CONTROLLED SWITCH MENGGUNAKAN NODEMCU: Bukankah lebih bagus untuk Menghidupkan atau mematikan sesuatu dengan bantuan asisten Google..!!!Jadi Dalam Instruksi ini, saya akan menunjukkan cara mengontrol peralatan listrik apa pun dengan bantuan asisten Google , seperti Alexa Amazon. Banyak perangkat komersial