Sonoff S20 merupakan stop kontak pintar berbasis esp8266 yang dapat terhubung dengan wifi sehingga memungkinkan kita untuk menyalakan atau mematikan peralatan listrik yang terhubung ke stop kontak tersebut dari aplikasi.
Pada saat kita membeli Sonoff S20, secara default perangkat tersebut terhubung ke aplikasi smarthome bawaan ewelink. Firmware yang terdapat pada perangkat tersebut telah diatur dari pabrik untuk terhubung ke cloud-nya ewelink. Jika kita ingin menggunakan aplikasi lain selain ewelink, otomatis harus mengupload (flashing) firmware baru.
Tasmota merupakan alternatif opensource firmware untuk produk-produk dengan basis chip esp8266 yang dapat dicustom sesuai keinginan kita. Dengan menggunakan firmware ini, kita dapat mengganti alamat/pointing server tujuan sehingga dapat dihubungkan dengan aplikasi kita sendiri. Proses flashing sendiri sangat simple, cukup menyediakan laptop, modul FT232RL, jumper wire, Platform IO , esptool dan source code tasmota.
PERHATIAN
Saat proses flashing firmware, perangkat tidak boleh terhubung ke arus listrik, sangat berbahaya dan fatal, anda bisa kesetrum listrik!!!!
Berikut langkah-langkah untuk flashing firmware Tasmota kedalam Sonoff S20
Software Side
- Download source code tasmota
- Download esptool jika belum ada
- Install Atom dan Platform IO IDE jika belum ada. Alternatif lain bisa menggunakan Arduino IDE
- Tambahkan direktori source code tasmota pada workspace Platform IO (Add Project Folder)
- Edit file platformio.ini, cari section default_envs, uncomment (hapus ‘;’) pada baris ‘tasmota‘
- Masuk ke sub folder tasmota dan edit file my_user_config.h
- Edit section #define MODULE, ganti dengan valuenya dengan SONOFF_S2X sehingga menjadi #define MODULE SONOFF_S2X
- Ganti parameter-parameter WIFI dan MQTT sesuai dengan konfigurasi yang dimiliki.
Hardware Side
- Buka ketiga sekrup yang terdapat pada bagian belakang stop kontak dengan obeng. Salah satu sekrup yang paling bawah (no.1) biasanya tertutup nomor serial.
- Siapkan modul FTDI FT232RL USB to TTL serial converter. Set jumpernya ke 3.3v, ingat jangan sampai lupa ya, karena kalau jumper di posisi 5v stop kontaknya bakal rusak karena S20 bekerja pada tegangan 3.3v
- Temukan port 3.3v,RX,TX dan GND pada board S20
- Hubungkan RX,TX,3.3V,GND pada board S20 dengan modul FT232RL. Konfigurasinya sebagai berikut
Flashing Mode
Baik backup maupun flashing firmware, kita perlu masuk ke dalam flashing mode. Caranya dengan menekan tombol merah pada board S20 secara bersamaan dengan memasukan kabel usb dari modul FT232RL ke port USB laptop. Tahan 1-2 detik dan lepas. Ciri sudah masuk ke dalam flashing mode adalah led pada board S20 akan mati atau tidak berkedip.
Backup Original Firmware
Sebelum flashing dengan firmware tasmota, backup terlebih dahulu original firmware (bawaan) untuk jaga2. Jika ingin kembali ke firmware bawaan, kita bisa flashing kembali dengan firmware backup tersebut.
- Masuk ke dalam folder esptool
- Masuk ke dalam flashing mode
- Jalankan perintah esptool.py –port /dev/cu.usbserial-A5XK3RJT read_flash 0x00000 0x100000 fw_s20_backup.bin
- cu.usbserial-A5XK3RJT adalah nama port USB, bisa berbeda dangan nama port usb komputer anda, fw_s20_backup.bin adalah nama file backupnya.
- Simpan file backup tersebut.
- Cabut kabel usb dari laptop
Hapus Original Firmware
Sebenarnya kita bisa langsung flashing firmware dengan firmware tasmota, tapi sebaiknya dihapus dahulu original firmware untuk amannya.
- Masih dari dalam folder esptool
- Masuk ke dalam flash mode
- Jalankan perintah esptool.py –port /dev/cu.usbserial-A5XK3RJT erase_flash
- Cabut kabel usb dari laptop
Flashing Firmware Tasmota
- Dari Platform IO IDE, klik Platformio->Build untuk mengcompile source code yang telah diedit pada langkah sebelumnya diatas menjadi file firmware.bin
- Jika sukses, file firmware.bin dapat ditemukan pada folder .pioenvs/tasmota/firmware.bin dalam project folder tasmota.
- Copy file firmware.bin kedalam folder esptool
- Dari dalam folder esptool, jalankan perintah esptool/esptool.py –port /dev/cu.usbserial-A5XK3RJT write_flash -fs 1MB -fm dout 0x0 firmware.bin
- Pastikan output dari command berahir dengan Hash of data verified. Leaving.. Hard resetting…
- Setelah sukses, rakit kembali stop kontak S20 kemudian colokkan ke colokan listrik yang tersedia, lampu indikator hijau akan menyala sesaat dan mati.
- NOTE: Jangan pernah colokkan perangkat ke colokan listrik dalam keadaan belum pasang kembali casenya. Sangat berbahaya, bisa kesetrum anda nanti.
- S20 akan otomatis terhubung ke Wifi yang telah anda set sebelumnya.
- Buka browser dan point addressnya ke url dari alamat ip address yang telah diset sebelumnya (define WIFI_IP_ADDRESS)
- Anda bisa mencoba mematikan atau menyalakan perangkat S20 dari web dengan menekan tombol Toggle (ON/OFF). Jika konfigurasi MQTT anda benar maka baik menekan tombol Toggle di web atau dari tombol fisik di perangkat S20, kedua2nya akan sinkron.
- Selamat menikmati
Leave a Reply