İçindekiler:

WEMOS D1'e (ESP-8266EX) Dayalı MicroPython IoT Rover: 7 Adım (Resimlerle)
WEMOS D1'e (ESP-8266EX) Dayalı MicroPython IoT Rover: 7 Adım (Resimlerle)

Video: WEMOS D1'e (ESP-8266EX) Dayalı MicroPython IoT Rover: 7 Adım (Resimlerle)

Video: WEMOS D1'e (ESP-8266EX) Dayalı MicroPython IoT Rover: 7 Adım (Resimlerle)
Video: How to install the new Blynk app | WeMos D1 ESP8266 with Blynk app | how to light led 2024, Temmuz
Anonim
Image
Image
WEMOS D1 (ESP-8266EX) Tabanlı MicroPython IoT Rover
WEMOS D1 (ESP-8266EX) Tabanlı MicroPython IoT Rover

** Güncelleme: v2 için mızraklı yeni bir video yayınladım **

Küçük çocuklar için Robotik atölyelerine ev sahipliği yapıyorum ve her zaman ilgi çekici projeler inşa etmek için ekonomik platformlar arıyorum. Arduino klonları ucuz olsa da çocukların aşina olmadığı C/C++ dilini kullanır. Ayrıca, IoT projeleri için bir zorunluluk olan yerleşik bir WiFi'ye sahip değildir. Öte yandan, Raspberry Pi'de WIFI bulunurken ve çocuklar Python kullanarak programlayabilirken, cihazları açıp kapatmak için yalnızca birkaç GPIO bağlantı noktasını kontrol etmek hala pahalı bir platformdur. Hem WIFI hem de Python özelliklerine sahip bir şeye ihtiyacım var. Görünüşe göre cevabımı MicroPython'da ucuz bir ESP8266 tabanlı tahtaya parladı.

Mikropython nedir?

Web sitesine göre MicroPython, Python standart kitaplığının küçük bir alt kümesini içeren Python 3 programlama dillerinin yalın ve verimli bir uygulamasıdır ve mikrodenetleyicilerde ve kısıtlı ortamlarda (ESP8266 gibi) çalışacak şekilde optimize edilmiştir. Esasen bir çip üzerinde Python IDE'dir. En büyük avantajlarından biri, Webrepl adlı bir web tarayıcı istemcisi kullanarak kod oluşturup anında değiştirebilmenizdir. (Bunu Arduino'da yapmayı deneyin.) Arduino'da veri kaydına veya bir LED ekrana güvenmek yerine, sensör verilerini Webrepl'de gerçek zamanlı olarak da görebilirsiniz.

ESP8266 nedir?

Kısacası, yerleşik ağ özelliğine sahip bir Arduino olarak düşünün. ESP8266 kartlarını C/C++ ile programlamak için Arduino IDE kullanabilir veya NodeMCU veya MicroPython ile flash yapabilirsiniz. Bu projede, MicroPython'u bir ESP8266 kartına yükleyeceğim.

Bir web tarayıcısı kullanarak 2WD bir arabada gezineceğim bu basit proje için ESP8266-12EX tabanlı bir WEMOS D1 almaya karar verdim. MicroPython için tasarlanmış başka panolar da var ama kriterlerime uymuyorsa çöpe atabileceğim ucuz bir şey istedim. Beklendiği gibi, tüm gereksinimlerimi karşıladı ve büyük olasılıkla WeMos ve Micropython'u gelecekteki projelere dahil edeceğim.

Adım 1: Parçalar

Parçalar
Parçalar
Parçalar
Parçalar
Parçalar
Parçalar
Parçalar
Parçalar
  • Wemos D1 veya herhangi bir ESP8266 tabanlı kart
  • Motor kalkanı (AliExpress'ten ucuz bir L293D kullanıyorum)
  • 4 x AA ve 9V için pil tutucular (4 x AA pil motorlar içindir ve 9V Wemos kartı içindir)
  • 2WD araba şasi
  • Dupont kabloları

Her şeyi bir araya getirmek için bir havya, bir tornavida ve bir tutkal tabancası gerekebilir.

Adım 2: Donanım Montajı

Donanım Montajı
Donanım Montajı
Donanım Montajı
Donanım Montajı
Donanım Montajı
Donanım Montajı

İlk olarak, şasiyi talimata göre monte edin.

Ardından, diğer bileşenleri gösterildiği gibi sıcak tutkallayın.

Motor kabloları motor terminallerine lehimlenmeli ve terminal bağlantılarını güçlendirmek için sıcak tutkal kullanılmalıdır.

4AA pil tutucusuna küçük bir anahtar yapıştırıldı. Bu, motor kalkanına giden gücü açar/kapatır.

Adım 3: Kablolama

kablolama
kablolama
kablolama
kablolama
kablolama
kablolama

Kablo şemamı gösterildiği gibi takip edin.

Wemos'tan Motor Shield'e:

D1 IN2

D2 IN1 D3 IN4 **D4'ü atla D5 IN3 GND -> GND

Motor Kalkanından Motora/Gücüne:

Bir terminal -> Sol Motor

B terminali -> Sağ Motor VCC ->Akü (+) GND -> Akü (-)

Adım 4: MicroPython Kurulumu

İlk olarak, Wemos'un CH304G tabanlı bir seri/USB çipi vardır. Bu, ucuz Arduino klonlarında bulunan çipin aynısıdır ve Mac veya PC için uygun bir sürücü yüklemeniz gerekir. Sürücüyü yüklemek için bu sitedeki talimatları izleyin.

Wemos'u bilgisayarınıza bağlayın ve bilgisayarınızın Wemos'u algılayabildiğini onaylayın. Mac'te aşağıdaki komutu çalıştırın ve /dev/tty.wchusbserial640 adlı bir aygıt göreceksiniz.

$ ls -lt /dev/tty* | kafa

crw-rw-rw- 1 kök çarkı 17, 4 Mart 2 23:31 /dev/tty.wchusbserial640

PC kullanıyorsanız, bu Talimatı referans olarak kullanabilirsiniz.

Ardından, flash aracı esptool.py Python tabanlı olduğundan bilgisayarınızda Python 2 veya 3'ü kurmanız gerekir. MicroPython kılavuzu, aracın yalnızca Python 2.7 ile çalıştığını belirtse de, bunu Python 3'te sorunsuz bir şekilde çalıştırabildim. https://www.python.org adresinden en son Python'u indirin ve PC veya Mac'iniz için kurulum talimatlarını izleyin.

Son olarak, MicroPython'u Wemos'a yüklemeniz gerekecek. MicroPython sitesinde, MicroPython'un ESP8266'da nasıl kurulacağına dair mükemmel bir eğitim var. ESP8266'da MicroPython ile Başlarken bölümündeki kurulum talimatlarını izlemeniz yeterlidir.

Aşağıda kullandığım komutlar:

$ esptool.py --port /dev/tty.wchusbserial640 delete_flash

esptool.py v1.3 Bağlanıyor…. Cesanta flaşör saplaması çalıştırılıyor… Flaş siliniyor (bu biraz zaman alabilir)… Silme 10,5 saniye sürdü

$ esptool.py --port /dev/tty.wchusbserial640 write_flash -fm dio -fs 32m -ff 40m 0x00000 esp8266-20170108-v1.8.7.bin

esptool.py v1.3 Bağlanıyor…. Cesanta flaşör saplaması çalışıyor… 0x0240 olarak ayarlanmış flaş parametreleri 50.8 saniyede 0x0'da 589824 bayt yazdı (92.8 kbit/s)… Ayrılıyor…

MicroPython artık panonuza yüklendi!

Adım 5: Ağ Kurulumu

Kurulum Ağı
Kurulum Ağı

MicroPython artık Wemos'unuza kuruluyken, henüz ağınıza bağlı değil. Önce ağı etkinleştirmeniz gerekir. Mac'te, Wemos'ta seri terminal oturumunu başlatmak için SCREEN komutunu yürütün.

$ ekran /dev/tty.wchusbserial640 115200

Boş bir ekran gördüğünüzde, bir istem görmek için RETURN'e basın:

>>

(Not: Çıkmak için CTRL-A CTRL-\ yazın)

Şimdi web istemcisi erişimini etkinleştirelim. Kurulum programını çalıştırmak için "import webrepl_setup" yazın. WebREPL'yi etkinleştirmek için E girin ve ardından şifreyi ayarlayın. Değişiklikleri etkinleştirmek için yeniden başlatın.

>>webrepl_setup'ı içe aktar

WebREPL arka plan programı otomatik başlatma durumu: devre dışı Önyüklemede çalışmasını (E)etkinleştirmek veya (D)devre dışı bırakmak ister misiniz? (Çıkış için boş satır) > E WebREPL'yi etkinleştirmek için, bunun için bir parola belirlemelisiniz Yeni parola: xxxxx Parolayı onaylayın: xxxxx Değişiklikler yeniden başlatmanın ardından etkinleştirilecek Şimdi yeniden başlatmak ister misiniz? (y/n) y

Son olarak, Webrepl istemcisini makinenize indirin. Bu isteğe bağlıdır, ancak istemci, daha sonra kullanmak isteyebileceğiniz diğer yararlı araçlarla birlikte gelir. Örneğin, webrepl_cli.py, dosyaları scp benzeri sözdiziminde Wemos'a kopyalamak için bir komuttur. İstemciyi indirmek için git'i kullanın. (Henüz yoksa git aracını yükleyin.)

git klonu

Web tarayıcınızı açın ve URL alanına indirdiğiniz webrepl istemci dosyası konumunun konumunu aşağıdaki gibi girin:

file:///Users/xxxxx/wemos/webrepl/webrepl.html

Bu, webrepl istemcisini tarayıcınızda göstermelidir. Bağlanmadan önce, WIFi Erişim Noktasına bağlanmanız gerekir. Bilgisayarınız için mevcut WIFI'a bakarsanız, MicroPython-xxxx ile başlayan bir ağ görürsünüz. O ağa bağlanın. (Uyarı: Bu ağa bağlandığınızda İnternet erişiminizi kaybedersiniz.)

Webrepl istemcinize geri dönün ve Bağlan'a tıklayın. Şifre sormalıdır. Wemos şifrenizi girin ve bağlanmalısınız.

MicroPython'a hoş geldiniz!

Şifre: WebREPL bağlandı >>>

Wemos'unuz hala AccessPoint Modunda çalışıyor. Bu uygun olsa da, bilgisayarımın ev WIFI üzerinden erişebilmesi ve hala İnternet erişimi olması için ev WIFI'ma bağlandığı İstasyon Modunda çalıştırmayı tercih ederim. Bunu yapmak için, ağ yapılandırmasıyla boot.py adlı bir dosya oluşturmanız ve onu Wemos'a yüklemeniz gerekir.

İşte bir boot.py örneği. Ssid ve şifreyi ev WIFI ağınıza değiştirin. Ayrıca 192.168.0.32 statik IP vermek istiyorum. Bunu evinizin WIFI'sinin mevcut IP adresiyle değiştirin.

boot.py (aşağıdan indirebilirsiniz)

gc'yi içe aktar

webrepl içe aktar def do_connect(): sta_if.isconnected() değilse, ağı içe aktar sta_if = network. WLAN(network. STA_IF): print('ağa bağlanılıyor…') sta_if.active(True) sta_if.ifconfig(('192.168. 0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')) sta_if.connect('', '') sta_if.isconnected() değilken: print('network config:', sta_if.ifconfig()) do_connect() webrepl.start() gc.collect()

Boot.py dosyanızı Wemos'unuza göndermek için Webrepl istemcisinin "Dosya Gönder" formunu kullanın. Yeniden başlatmak için sıfırlama düğmesine basın. SCREEN komutunu kullanarak hala USB üzerinden bağlıysanız şunları görürsünüz:

ağa bağlanılıyor… ağ yapılandırması: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') WebREPL arka plan programı ws'de başladı://192.168.4.1:8266 WebREPL arka plan programı ws'de başladı://192.168.0.32:8266 Normal modda başlatılan webrepl, 2017-01-09 tarihinde MicroPython v1.8.7-7-gb5a1a20a3'ü okumak için 'main.py' dosyasını açamadı; ESP8266 ile ESP modülü Daha fazla bilgi için "help()" yazın. >>>

Bu, Wemos'unuzun 192.168.0.32 ipad adresini kullanarak ev WIFI'nıza bağlı olduğunu doğrular.

Doğrulamak için bu IP adresine ping atabilirsiniz.

$ ping 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 veri baytı

192.168.0.32'den 64 bayt: icmp_seq=0 ttl=255 süre=9.334 msn 192.168.0.32'den 64 bayt: icmp_seq=1 ttl=255 süre=11.071 ms..

Adım 6: Ana Programı Kurun

Ana Programı Yükle
Ana Programı Yükle
Ana Programı Yükle
Ana Programı Yükle

Son olarak, Wemos'unuzda çalışmaya devam edecek ana programı yüklemeniz gerekecek.

Web tarayıcınıza geri dönün ve webrepl istemci programını çalıştırın. IP adresini Wemos'unuzun IP adresiyle değiştirin. Benim durumumda, şimdi 192.168.0.32. Wemos şifrenizi girin ve şimdi Wemos'a bağlanmalısınız.

Ekli main.py programını yükleyelim. Ekteki dosyayı bilgisayarınıza indirin. İndirilen main.py'yi seçmek için Dosya Seç'e tıklayın ve Cihaza gönderildi'ye tıklayın.

main.py programını yüklemek için Dinlenme düğmesine basmanız gerekir. Sıfırla düğmesine bastıktan sonra şunları göreceksiniz:

ağa bağlanıyor…

ağ yapılandırması: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')

WebREPL arka plan programı ws://192.168.4.1:8266'da başladı WebREPL arka plan programı ws://192.168.0.32:8266'da başladı WebREPL normal modda başladı Dinleme, tarayıcınızı …

Bu, main.py programınızın etkinleştirildiği ve 80 numaralı bağlantı noktasına listelendiği anlamına gelir.

Test etmek için web tarayıcınızı açın ve https:// girin

Bu, videoda gösterildiği gibi araba kontrol ekranını göstermelidir. Kablolarınız düzgün bağlanmışsa, kontrol düğmeleri, aracı hareket ettirmek için GPIO bağlantı noktalarınıza uygun sinyaller gönderecektir.

7. Adım: Gelecekteki İyileştirmeler

Aşağıdaki yapılacaklar v2 listemde:

  • Motor hızını kontrol etmek için PWM kullanın
  • Web arayüzünü iyileştirin. Belki aREST çerçevesini kullanın. AREST lib'in şu anda MicroPython'da mevcut olduğuna inanmıyorum, bu yüzden hacklemem gerekebilir.

Bu Eğitilebilir Yazıyı okuduğunuz için teşekkür ederiz. Gelecekte daha fazla proje için beni Facebook, Youtube ve Instructables'ta takip edin.

Önerilen: