Isi kandungan:

Cara Flash Firmware MicroPython pada Suis Pintar Sonoff Berasaskan ESP8266: 3 Langkah (dengan Gambar)
Cara Flash Firmware MicroPython pada Suis Pintar Sonoff Berasaskan ESP8266: 3 Langkah (dengan Gambar)

Video: Cara Flash Firmware MicroPython pada Suis Pintar Sonoff Berasaskan ESP8266: 3 Langkah (dengan Gambar)

Video: Cara Flash Firmware MicroPython pada Suis Pintar Sonoff Berasaskan ESP8266: 3 Langkah (dengan Gambar)
Video: Lesson 5 Installing ESPTOOL for MicroPython ESP32 2024, November
Anonim
Cara Flash Firmware MicroPython pada Suis Pintar Sonoff Berasaskan ESP8266
Cara Flash Firmware MicroPython pada Suis Pintar Sonoff Berasaskan ESP8266

Apa itu Sonoff?

Sonoff adalah barisan peranti untuk Smart Home yang dikembangkan oleh ITEAD. Salah satu peranti yang paling fleksibel dan murah dari barisan tersebut adalah Sonoff Basic dan Sonoff Dual. Ini adalah suis berkemampuan Wi-Fi berdasarkan cip hebat, ESP8266. Walaupun infrastruktur Sonoff mungkin berfungsi dengan baik untuk pengguna asas, yang lain mungkin ingin meretas perkakasan itu dan menjalankan kod mereka sendiri di atasnya. Perkakasan Sonoff Smart Switches sangat mengagumkan, memandangkan harganya yang rendah:

  • ESP8266 dengan denyar 1MB
  • Penyesuai kuasa 220V AC bersepadu
  • Relay 10A (atau dua dalam Sonoff Dual)
  • LED onboard (atau dua di Sonoff Dual)
  • Butang Onboard

Sekiranya anda ingin mengawal sepenuhnya perkakasan ini menggunakan bahasa pengaturcaraan kegemaran anda, tutorial ini sesuai untuk anda.

Langkah 1: Meretas Perkakasan

Menggodam Perkakasan
Menggodam Perkakasan
Menggodam Perkakasan
Menggodam Perkakasan
Menggodam Perkakasan
Menggodam Perkakasan

ESP8266 diprogramkan melalui port bersiri. Kedua Sonoff Basic dan Sonoff Dual memilikinya di PCD.

Anda mungkin perlu menyolatkan header pin pada PCB untuk menyambungkan penyesuai USB-UART dengan mudah.

Langkah 2: Bersedia untuk Menggodam Perisian

Bersedia untuk Menggodam Perisian
Bersedia untuk Menggodam Perisian

Saya suka Python, jadi saya akan menggunakan firmware MicroPython. Anda juga boleh menggunakan SDK yang disokong. Mari kita pergi ke Flashing MicroPython dan bukannya firmware Sonoff proprietari:

Pasang pakej esptool python yang menjadikan flashing ESP8266 lebih mudah:

pip pasang esptool

Muat turun firmware MicroPython stabil terkini dari halaman muat turun MicroPython. Sambungkan penyesuai USB-UART ke papan. Untuk keselamatan, disarankan untuk menghidupkan papan dari penyesuai dan bukannya soket AC 220V. Perhatikan bahawa anda hanya boleh menggunakan 3.3V, jika anda menyambungkan cip ESP8266 ke sumber kuasa 5V, ia akan mati.

Boot ESP8266 ke dalam Mod Flash. Anda boleh melakukannya dengan menarik pin GPIO0 sambil menghidupkan peranti:

  • Pada Sonoff Basic, GPIO0 hanyalah butang. Sambungkan penyesuai USB-UART ke PC sambil menahan butang dan anda berada dalam Mod Kilat.
  • Pada Sonoff Dual, perkara agak sukar. Anda perlu membuat litar pintas dua pad pada PCB semasa menghidupkan papan. Pad yang diperlukan ditunjukkan pada gambar di atas. Gunakan pinset atau pateri wayar kecil di antara mereka.

Apabila ESP8266 berada dalam Mod Kilat, LED papan tidak boleh menyala.

Pastikan anda boleh mengakses port bersiri yang dibuka oleh penyesuai USB-UART. Di Linux mungkin / dev / ttyUSB0, pada Mac anda harus mencari sesuatu seperti "usbserial" atau "usbmodem" dalam output perintah ls / dev / cu. * Atau ls / dev / tty. *, Pada Windows semestinya COM3 atau lebih tinggi. Pasang pemacu penyesuai USB-UART jika perlu.

Padamkan denyar 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 bersiri.

Langkah 3: Berkelip

Berkelip
Berkelip

Sekiranya penghapusan berjaya, potong kuasa papan, boot semula ESP8266 dalam Mod Kilat, dan nyalakan firmware anda:

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

Sekiranya lampu kilat berjaya, potong kuasa papan, sambungkan semula tanpa menekan butang, dan buka port bersiri di terminal. Pada Linux dan Mac anda boleh menggunakan screen / dev / ttyUSB0 115200 (ganti / dev / ttyUSB0 untuk port anda jika diperlukan), pada Windows anda boleh menggunakan PuTTY (laju baud lalai adalah 115200). Setelah anda menyambung, tekan Enter, dan jika anda melihat tiga kurungan sudut shell Python, semuanya berfungsi!

>> >>> bantuan () Selamat Datang di MicroPython! Untuk dokumen dalam talian sila lawati https://docs.micropython.org/en/latest/esp8266/. Agar maklumat diagnostik disertakan dalam laporan bug, jalankan 'import port_diag'. Konfigurasi WiFi asas: rangkaian import sta_if = network. WLAN (network. STA_IF); sta_if.active (True) sta_if.scan () # Imbas titik akses yang tersedia sta_if.connect ("", "") # Sambungkan ke AP sta_if.isconnected () # Periksa sambungan yang berjaya # Tukar nama / kata laluan AP ESP8266: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = "", authmode = network. AUTH_WPA_WPA2_PSK, password = "") Perintah kawalan: CTRL-A - pada baris kosong, masukkan mod REPL mentah CTRL- B - pada baris kosong, masukkan mod REPL normal CTRL-C - mengganggu program yang sedang berjalan CTRL-D - pada baris kosong, lakukan tetapan semula lembut papan CTRL-E - pada baris kosong, masukkan tampal mod Untuk bantuan lebih lanjut mengenai objek tertentu, ketik bantuan (obj) >>>

Dalam arahan selanjutnya, kami akan menerangkan cara berinteraksi dengan platform Cloud4RPi melalui protokol MQTT.

Disyorkan: