Tasmota pada ESP8266 NodeMCU & Arduino IDE
|
Tasmota adalah firmware open-source alternatif untuk perangkat yang didasarkan pada chipset WiFi ESP8266. Firmware ini memberi timer, antarmuka web, pembaruan OTA, dan dukungan sensor pada perangkat. Ini juga memungkinkan kontrol di bawah HTTP, MQTT, KNX dan serial. Ini ditulis untuk Arduino IDE dan PlatformIO.
Dengan firmware Tasmota diinstal, perangkat Anda dapat membaca keadaan tombol dan sakelar, dan banyak jenis sensor untuk hal-hal seperti suhu, kelembaban, cahaya, IR, dll. Ia juga dapat mengontrol perangkat seperti relay, LED, display, pemancar IR dan masih banyak lagi.
Singkatnya, Tasmota mengubah papan berbasis ESP8266 Anda menjadi perangkat IOT serbaguna tanpa harus menulis kode Anda sendiri.


Dalam posting blog ini, kita akan menginstal Tasmota pada papan pengembangan NodeMCU ESP8266 menggunakan Arduino IDE. Kemudian, sebagai contoh, kita akan mengonfigurasi Tasmota untuk mengganti LED onboard dan satu LED eksternal. Ini akan menjadi titik awal yang baik untuk proyek otomatisasi rumah IoT dan DIY di masa mendatang.


Awalnya ditulis untuk perangkat Sonoff, tetapi mendukung perangkat dari banyak merek lain seperti Electrodragon, MagicHome, AriLux, Blitzwolf, dan Allterco. Tentu saja, Anda juga dapat menginstalnya di papan pengembangan seperti Wemos D1 mini dan ESP8266 NodeMCU.
Mempersiapkan IDE Arduino
Pertama-tama, Anda harus menginstal IDE Arduino. Jika Anda memerlukan bantuan dengan itu, maka Anda harus memeriksa Menginstal Arduino IDE pada Windows 10 atau Menginstal atau meningkatkan ke Arduino IDE terbaru di Linux.
Setelah IDE terpasang, Anda perlu menambahkan inti ESP8266 ke IDE. Anda dapat membaca lebih lanjut tentang itu di posting blog ESP8266 NodeMcu dan Arduino IDE di Linux. Prosedurnya sama untuk Windows.
Unduh dan instal file proyek Tasmota
Unduh file zip Tasmota dari halaman Tasmota GitHub. Ekstrak di suatu tempat di komputer Anda.
Temukan lokasi folder ‘sketsa’ Arduino Anda, lihat File> Preferensi> Pengaturan di Arduino IDE Anda.
Salin konten folder ‘lib’ Tasmota ke folder ‘perpustakaan’ sketsa.
Salin folder ‘sonoff’ Tasmota ke folder buku sketsa Anda.
Temukan lokasi folder Arduino IDE, lihat File> Preferensi> Pengaturan.
Di dalam folder Arduino IDE, temukan direktori ‘paket \ esp8266 \ hardware \ esp8266 \ 2.x.x’
Ganti ‘platform.txt’ dengan file Tasmota ‘arduino \ versi 2.x.x \ platform.txt’.
Konfigurasikan firmware Tasmota
Hubungkan papan pengembangan ESP8266 Anda ke komputer Anda. Di Arduino IDE, buka file ‘sonoff.ino’ dari folder ‘sonoff’ sketsa Anda.
Buka tab ‘my_user_config.h’ dan ubah pengaturan untuk jaringan dan WiFi:
// -- Wifi ---------------------------------------- #define WIFI_IP_ADDRESS "0.0.0.0" // [IpAddress1] Set to 0.0.0.0 for using DHCP or enter a static IP address #define WIFI_GATEWAY "192.168.10.1" // [IpAddress2] If not using DHCP set Gateway IP address #define WIFI_SUBNETMASK "255.255.255.0" // [IpAddress3] If not using DHCP set Network mask #define WIFI_DNS "192.168.10.1" // [IpAddress4] If not using DHCP set DNS IP address (might be equal to WIFI_GATEWAY) #define STA_SSID1 "yourwifinetwork" // [Ssid1] Wifi SSID #define STA_PASS1 "yourwifipassword" // [Password1] Wifi password #define STA_SSID2 "" // [Ssid2] Optional alternate AP Wifi SSID #define STA_PASS2 "" // [Password2] Optional alternate AP Wifi password #define WIFI_CONFIG_TOOL WIFI_MANAGER // [WifiConfig] Default tool if wifi fails to connect // (WIFI_RESTART, WIFI_SMARTCONFIG, WIFI_MANAGER, WIFI_WPSCONFIG, WIFI_RETRY, WIFI_WAIT, WIFI_SERIAL) #define WIFI_CONFIG_NO_SSID WIFI_MANAGER // Default tool if wifi fails to connect and no SSID is configured
Enter the IP address or set it to “0.0.0.0” if you’re using DHCP.
You can give your device a unique project name, so it will be easier to recognize between the other devices in your network:
// -- Project ------------------------------------- #define PROJECT "Sonoff" // PROJECT is used as the default topic delimiter
Masukkan alamat IP atau setel ke “0.0.0.0” jika Anda menggunakan DHCP.
Anda dapat memberi perangkat Anda nama proyek yang unik, sehingga akan lebih mudah untuk mengenali antara perangkat lain di jaringan Anda:
// -- Master parameter control -------------------- #define CFG_HOLDER 234 // [Reset 1] Change this value (max 32000) to load SECTION1 configuration parameters to flash
Jika Anda tidak mengubah parameter, pengaturan baru tidak akan berlaku. ‘CFG_HOLDER’ dapat ditemukan di bawah ‘Kontrol parameter master’.
Pengaturan papan ESP8266 NodeMCU
Sebelum Anda mengkompilasi dan mengunggah firmware. pertama periksa pengaturan papan berikut di bawah menu “Tools” di Arduino IDE:
- Board: “Generic ESP8266 Module”
- Flash Size: 1M (no SPIFFS)
- Flash Mode: “DOUT”
- lwIP Variant: “v2 Higher Bandwidth (no features)”
- VTables: “Flash”
- Exceptions: “Disabled”
- Erase Flash: “Only Sketch”
Jangan lupa untuk memilih USB / COM-port yang tepat.


Kompilasi dan unggah sketsa ke papan pengembangan Anda.
Mengkonfigurasi Tasmota pada ESP8266 NodeMCU
Setelah ESP8266 Anda di-flash dan restart, cari alamat IP-nya di jaringan Anda. Jika Anda tidak tahu di mana menemukannya, Anda mungkin harus memeriksa router Anda terlebih dahulu.
Masukkan alamat IP ESP8266 di browser Anda. Menu utama Tasmota akan muncul.
.


Setelah antarmuka web Tasmota muncul, kita perlu mengubah jenis modul dari default “Sonoff Basic” menjadi “Generic”. Pergi ke “Konfigurasi” dan pilih “Konfigurasi Modul”. Pilih “Generik” untuk Jenis Modul dan Simpan.


Modul akan restart. Selanjutnya, kita akan mengonfigurasi GPIO dari papan ESP8266.
Mengatur opsi ESP8266 GPIO
Untuk menguji Tasmota pada ESP8266, pertama-tama kita akan mengkonfigurasi LED bawaan pada papan NodeMCU untuk dihidupkan dan dimatikan dengan menggunakan antarmuka web. Pada versi board ini, LED menyala pada GPIO16 (D0).
Di antarmuka Tasmota, pergi ke Konfigurasi dan kemudian Konfigurasi Modul. Pastikan semua GPIO diatur ke “Tidak Ada”. Kemudian atur GPIO16 ke “Relay1i”. Tekan “Simpan” dan kembali ke Menu Utama.


Di bagian atas Menu Utama, Anda akan melihat tombol berlabel “Toggle”. Menekan tombol sekarang akan mengaktifkan LED internal pada papan NodeMCU. Ini mengkonfirmasi bahwa Tasmota diinstal dengan benar dan berfungsi sebagaimana mestinya.


Lebih banyak LED, lebih menyenangkan
Sementara kita melakukannya, mari kita tambahkan beberapa kontrol untuk LED. Papan NodeMCU sebenarnya memiliki 2 LED bawaan: yang kedua adalah pada modul ESP-12 itu sendiri. LED ini ditugaskan untuk GPIO2 (D4). Jadi dalam konfigurasi Tasmota, atur GPIO2 ke “Relay2i”.
Setelah itu, kami akan menambahkan LED eksternal pada GPIO4 (D2). Anoda (positif, kaki panjang) terhubung ke pin D2 melalui resistor 470-ohm. Katoda (negatif, kaki pendek) terhubung ke pin GND melalui kabel jumper. Lihat gambar di bawah ini.


Selanjutnya, dalam Konfigurasi Modul, kami mengatur GPIO4 ke ‘Relay3’. Konfigurasi akan terlihat seperti gambar di bawah ini.


Di halaman utama, tiga tombol sekarang memungkinkan Anda untuk mengaktifkan dua built-in serta LED eksternal.


Juga, perhatikan bahwa dalam dua gambar di atas saya mengubah nama perangkat dari “Sonoff” menjadi “ESP8266” (Configuration > Configure other > Friendly Name 1).
Sekarang, dengan menggunakan tombol sakelar di menu utama Tasmota, Anda dapat menghidupkan atau mematikan tiga LED.


Langkah selanjutnya
Sekarang Anda tahu cara beralih GPIO, Anda dapat menggunakan Tasmota untuk beralih relais di NodeMCU, atau menggunakan GPIO untuk membaca nilai dari tombol atau sensor. Dengan sendirinya, ini sudah merupakan aplikasi firmware yang sangat berguna.
Dalam posting blog berikutnya, kita akan melihat bagaimana kita dapat menggunakan fungsionalitas MQTT dari Tasmota. Ini akan membuat ESP8288 berkomunikasi dengan aplikasi seperti Node-Red atau Home Assistant, dan akan mengubah NodeMCU menjadi perangkat DIY yang sangat serbaguna untuk proyek otomatisasi rumah.