İçindekiler:

ESP8266 Tabanlı Sonoff Smart Switch'te MicroPython Firmware Nasıl Flash Yapılır: 3 Adım (Resimlerle)
ESP8266 Tabanlı Sonoff Smart Switch'te MicroPython Firmware Nasıl Flash Yapılır: 3 Adım (Resimlerle)

Video: ESP8266 Tabanlı Sonoff Smart Switch'te MicroPython Firmware Nasıl Flash Yapılır: 3 Adım (Resimlerle)

Video: ESP8266 Tabanlı Sonoff Smart Switch'te MicroPython Firmware Nasıl Flash Yapılır: 3 Adım (Resimlerle)
Video: Nodemcu FLASH Original SONOFF Firmware use ewelink App Control Led #diy #automation @SONOFF 2024, Kasım
Anonim
ESP8266 Tabanlı Sonoff Smart Switch'te MicroPython Firmware Nasıl Flash Yapılır
ESP8266 Tabanlı Sonoff Smart Switch'te MicroPython Firmware Nasıl Flash Yapılır

Sonoff nedir?

Sonoff, ITEAD tarafından geliştirilen Akıllı Ev için bir cihaz hattıdır. Bu hattaki en esnek ve ucuz cihazlardan biri Sonoff Basic ve Sonoff Dual'dir. Bunlar, harika bir çip olan ESP8266'yı temel alan Wi-Fi özellikli anahtarlardır. Sonoff altyapısı basit kullanıcılar için oldukça iyi çalışabilirken, diğerleri bu donanıma girmek ve üzerinde kendi kodlarını çalıştırmak isteyebilir. Sonoff Smart Switch'lerin donanımı, düşük fiyatı göz önüne alındığında harika:

  • 1MB flaşlı ESP8266
  • 220V AC entegre güç adaptörü
  • 10A Röle (veya Sonoff Dual'de iki)
  • Yerleşik LED (veya Sonoff Dual'de iki tane)
  • Yerleşik Düğme

En sevdiğiniz programlama dilini kullanarak bu donanım üzerinde tam kontrol sahibi olmak istiyorsanız, bu eğitim tam size göre.

Adım 1: Donanımı Hacklemek

Donanımı Hacklemek
Donanımı Hacklemek
Donanımı Hacklemek
Donanımı Hacklemek
Donanımı Hacklemek
Donanımı Hacklemek

ESP8266, seri port üzerinden programlanır. Hem Sonoff Basic hem de Sonoff Dual, PCD'de bulunur.

Bir USB-UART adaptörünü kolayca bağlamak için PCB'ye bir pin başlığı lehimlemeniz gerekebilir.

2. Adım: Yazılımı Hacklemeye Hazırlanma

Yazılımı Hacklemeye Hazırlanma
Yazılımı Hacklemeye Hazırlanma

Python'u seviyorum, bu yüzden MicroPython ürün yazılımını kullanacağım. Desteklenen herhangi bir SDK'yı da kullanabilirsiniz. Tescilli Sonoff ürün yazılımı yerine MicroPython'u yanıp sönmeye devam edelim:

ESP8266'nın yanıp sönmesini kolaylaştıran esptool python paketini kurun:

pip kurulum esptool

En son kararlı MicroPython ürün yazılımını MicroPython indirme sayfasından indirin. Karta bir USB-UART adaptörü bağlayın. Güvenlik için, panoya 220V AC soket yerine adaptörden güç verilmesi önerilir. Yalnızca 3.3V kullanabileceğinizi unutmayın, ESP8266 yongasını 5V güç kaynağına bağlarsanız ölür.

ESP8266'yı Flash Moduna önyükleyin. Cihazı açarken GPIO0 pinini aşağı çekerek yapabilirsiniz:

  • Sonoff Basic'te GPIO0 sadece bir düğmedir. Düğmeyi basılı tutarken USB-UART adaptörünü PC'nize bağlayın ve Flash Modundasınız.
  • Sonoff Dual'de işler biraz daha zor. Kartı çalıştırırken PCB üzerindeki iki pedi kısa devre yapmanız gerekir. Gerekli pedler yukarıdaki resimde gösterilmiştir. Cımbız kullanın veya aralarına küçük bir tel lehimleyin.

ESP8266, Flaş Modundayken, kartın LED'i yanıp sönmemelidir.

USB-UART adaptörü tarafından açılan seri bağlantı noktasına erişebildiğinizden emin olun. Linux'ta muhtemelen \dev\ttyUSB0'dır, Mac'te ls \dev\cu.* veya ls \dev\tty.* komut çıktısında "usbserial" veya "usbmodem" gibi bir şey aramalısınız, Windows'ta bu COM3 olmalıdır veya daha yüksek. Gerekirse USB-UART adaptör sürücülerini yükleyin.

esptool kullanarak flaşı silin. Gerekirse bağlantı noktanız için /dev/ttyUSB0'ı değiştirin:

esptool.py --port /dev/ttyUSB0 delete_flash

Seri bağlantı noktasına erişmek için esptool.py'yi süper kullanıcı olarak çalıştırmanız gerekebilir.

3. Adım: Yanıp Sönme

yanıp sönen
yanıp sönen

Silme işlemi başarılı olduysa, kartın gücünü kesin, ESP8266'yı Flash Modunda yeniden başlatın ve belleniminizi yükleyin:

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

Yanıp sönme başarılı olduysa, kartın gücünü kesin, düğmeye basmadan tekrar bağlayın ve bir terminaldeki seri bağlantı noktasını açın. Linux ve Mac'te screen /dev/ttyUSB0 115200'ü kullanabilirsiniz (gerekirse bağlantı noktanız için /dev/ttyUSB0'ı değiştirin), Windows'ta PuTTY'yi kullanabilirsiniz (varsayılan baud hızı 115200'dür). Bağlandıktan sonra Enter tuşuna basın ve Python kabuğunun üç köşeli ayracı görürseniz, her şey yolunda gider!

>> >>> help() MicroPython'a Hoş Geldiniz! Çevrimiçi belgeler için lütfen https://docs.micropython.org/en/latest/esp8266/ adresini ziyaret edin. Hata raporlarına dahil edilecek tanılama bilgileri için 'import port_diag' komutunu çalıştırın. Temel WiFi yapılandırması: ağı içe aktar sta_if = network. WLAN(network. STA_IF); sta_if.active(True) sta_if.scan() # Kullanılabilir erişim noktalarını tarayın sta_if.connect("", "") # Bir AP'ye bağlanın sta_if.isconnected() # Başarılı bağlantı olup olmadığını kontrol edin # ESP8266'nın AP'sinin adını/parolasını değiştirin: ap_if = network. WLAN(network. AP_IF) ap_if.config(essid="", authmode=network. AUTH_WPA_WPA2_PSK, password="") Kontrol komutları: CTRL-A -- boş bir satırda ham REPL modunu girin CTRL- B -- boş bir satırda normal REPL moduna girin CTRL-C -- çalışan bir programı kesintiye uğratın CTRL-D -- boş bir satırda CTRL-E kartını yazılımdan sıfırlayın -- boş bir satırda yapıştır girin mode Belirli bir nesneyle ilgili daha fazla yardım için help(obj) >>> yazın

Bir sonraki talimatta, bir MQTT protokolü aracılığıyla Cloud4RPi platformuyla nasıl etkileşime girileceğini açıklayacağız.

Önerilen: