Daftar Isi:

Cara Flash MicroPython Firmware pada Sonoff Smart Switch Berbasis ESP8266: 3 Langkah (dengan Gambar)
Cara Flash MicroPython Firmware pada Sonoff Smart Switch Berbasis ESP8266: 3 Langkah (dengan Gambar)

Video: Cara Flash MicroPython Firmware pada Sonoff Smart Switch Berbasis ESP8266: 3 Langkah (dengan Gambar)

Video: Cara Flash MicroPython Firmware pada Sonoff Smart Switch Berbasis ESP8266: 3 Langkah (dengan Gambar)
Video: Nodemcu FLASH Original SONOFF Firmware use ewelink App Control Led #diy #automation @SONOFF 2024, November
Anonim
Cara Flash MicroPython Firmware pada Sonoff Smart Switch Berbasis ESP8266
Cara Flash MicroPython Firmware pada Sonoff Smart Switch Berbasis ESP8266

Apa itu Sonoff?

Sonoff adalah lini perangkat untuk Smart Home yang dikembangkan oleh ITEAD. Salah satu perangkat paling fleksibel dan murah dari lini tersebut adalah Sonoff Basic dan Sonoff Dual. Ini adalah sakelar berkemampuan Wi-Fi berdasarkan chip hebat, ESP8266. Sementara infrastruktur Sonoff mungkin bekerja cukup baik untuk pengguna dasar, yang lain mungkin ingin meretas perangkat keras itu dan menjalankan kode mereka sendiri di dalamnya. Perangkat keras Sonoff Smart Switches luar biasa, mengingat harganya yang murah:

  • ESP8266 dengan flash 1MB
  • Adaptor daya terintegrasi 220V AC
  • 10A Relay (atau dua di Sonoff Dual)
  • LED Onboard (atau dua di Sonoff Dual)
  • Tombol Onboard

Jika Anda ingin mengambil kendali penuh atas perangkat keras ini menggunakan bahasa pemrograman favorit Anda, tutorial ini cocok untuk Anda.

Langkah 1: Meretas Perangkat Keras

Meretas Perangkat Keras
Meretas Perangkat Keras
Meretas Perangkat Keras
Meretas Perangkat Keras
Meretas Perangkat Keras
Meretas Perangkat Keras

ESP8266 diprogram melalui port serial. Baik Sonoff Basic dan Sonoff Dual memilikinya di PCD.

Anda mungkin perlu menyolder pin header pada PCB untuk menghubungkan adaptor USB-UART dengan mudah.

Langkah 2: Mempersiapkan Meretas Perangkat Lunak

Bersiap untuk Meretas Perangkat Lunak
Bersiap untuk Meretas Perangkat Lunak

Saya suka Python, jadi saya akan menggunakan firmware MicroPython. Anda juga dapat menggunakan SDK apa pun yang didukung. Mari kita lanjutkan untuk mem-flash MicroPython alih-alih firmware Sonoff berpemilik:

Instal paket esptool python yang membuat flashing ESP8266 lebih mudah:

pip install esptool

Unduh firmware MicroPython stabil terbaru dari halaman unduhan MicroPython. Hubungkan adaptor USB-UART ke papan. Untuk keamanan, disarankan untuk memberi daya pada papan dari adaptor alih-alih soket AC 220V. Perhatikan bahwa Anda hanya dapat menggunakan 3.3V, jika Anda menghubungkan chip ESP8266 ke sumber daya 5V, itu akan mati.

Boot ESP8266 ke Mode Flash. Anda dapat melakukannya dengan menarik pin GPIO0 saat menyalakan perangkat:

  • Di Sonoff Basic, GPIO0 hanyalah tombolnya. Hubungkan adaptor USB-UART ke PC Anda sambil menahan tombol dan Anda berada dalam Mode Flash.
  • Di Sonoff Dual, segalanya sedikit lebih sulit. Anda perlu menghubungkan dua bantalan pada PCB saat memberi daya pada papan. Bantalan yang diperlukan ditunjukkan pada gambar di atas. Gunakan pinset atau solder kawat kecil di antara mereka.

Saat ESP8266 dalam Mode Flash, LED board seharusnya tidak berkedip.

Pastikan Anda dapat mengakses port serial yang dibuka oleh adaptor USB-UART. Di Linux mungkin \dev\ttyUSB0, di Mac Anda harus mencari sesuatu seperti "usbserial" atau "usbmodem" di output perintah ls \dev\cu.* atau ls \dev\tty.*, di Windows seharusnya COM3 atau lebih tinggi. Instal driver adaptor USB-UART jika perlu.

Hapus flashdisk menggunakan esptool. Ganti /dev/ttyUSB0 untuk port Anda jika diperlukan:

esptool.py --port /dev/ttyUSB0 erase_flash

Anda mungkin perlu menjalankan esptool.py sebagai pengguna super untuk mengakses port serial.

Langkah 3: Berkedip

Berkedip
Berkedip

Jika penghapusan berhasil, matikan daya papan, boot ESP8266 dalam Mode Flash lagi, dan flash firmware Anda:

esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20170823-v1.9.2.bin

Jika flashing berhasil, matikan daya board, sambungkan kembali tanpa menekan tombol, dan buka port serial di terminal. Di Linux dan Mac Anda dapat menggunakan screen /dev/ttyUSB0 115200 (ganti /dev/ttyUSB0 untuk port Anda jika diperlukan), di Windows Anda dapat menggunakan Putty (baud rate default adalah 115200). Setelah Anda terhubung, tekan Enter, dan jika Anda melihat tiga kurung sudut shell Python, semuanya berfungsi!

>> >>> help() Selamat datang di MicroPython! Untuk dokumen online, silakan kunjungi https://docs.micropython.org/en/latest/esp8266/. Agar informasi diagnostik disertakan dalam laporan bug, jalankan 'import port_diag'. Konfigurasi WiFi dasar: import network sta_if = network. WLAN(network. STA_IF); sta_if.active(True) sta_if.scan() # Pindai titik akses yang tersedia sta_if.connect("", "") # Hubungkan ke AP sta_if.isconnected() # Periksa koneksi yang berhasil # Ubah nama/kata sandi AP ESP8266: ap_if = network. WLAN(network. AP_IF) ap_if.config(essid="", authmode=network. AUTH_WPA_WPA2_PSK, password="") Perintah kontrol: CTRL-A -- pada baris kosong, masukkan mode REPL mentah CTRL- B -- pada baris kosong, masuk ke mode REPL normal CTRL-C -- interupsi program yang sedang berjalan CTRL-D -- pada baris kosong, lakukan soft reset papan CTRL-E -- pada baris kosong, masukkan tempel mode Untuk bantuan lebih lanjut tentang objek tertentu, ketik help(obj) >>>

Dalam instruksi berikutnya, kami akan menjelaskan cara berinteraksi dengan platform Cloud4RPi melalui protokol MQTT.

Direkomendasikan: