İçindekiler:
- Adım 1: Parçalar
- Adım 2: Donanım Montajı
- Adım 3: Kablolama
- Adım 4: MicroPython Kurulumu
- Adım 5: Ağ Kurulumu
- Adım 6: Ana Programı Kurun
- 7. Adım: Gelecekteki İyileştirmeler
Video: WEMOS D1'e (ESP-8266EX) Dayalı MicroPython IoT Rover: 7 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
** 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
- 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ı
İ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
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
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
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:
ESP8266'ya Dayalı Apple HomeKit Wi-Fi Nem Alma Cihazı ?: 6 Adım (Resimlerle)
ESP8266'ya Dayalı Apple HomeKit Wi-Fi Nem Alma Cihazı ?: Ne yazık ki Apple HomeKit'i destekleyen yalnızca bir veya iki Nem Alıcı var, ancak bunların fiyatları gerçekten yüksek (300$+). Bu yüzden, zaten sahip olduğum ucuza dayanarak kendi Wi-Fi özellikli Apple HomeKit Nem Alma Cihazımı yapmaya karar verdim? BEN
Hava Durumuna Dayalı Müzik Üreticisi (ESP8266 Tabanlı Midi Jeneratör): 4 Adım (Resimlerle)
Hava Durumuna Dayalı Müzik Üreticisi (ESP8266 Tabanlı Midi Jeneratör): Merhaba, bugün kendi küçük Hava Durumuna dayalı Müzik üretecinizi nasıl yapacağınızı açıklayacağım. Bir tür Arduino gibi olan bir ESP8266'ya dayanıyor ve sıcaklığa, yağmura tepki veriyor. ve ışık yoğunluğu.Bütün şarkıları veya akor progr
RaspberryPi 4: 15 Adımlarına Dayalı Düşük Maliyetli Bir IoT Hava Kalitesi Monitörü (Resimlerle)
RaspberryPi 4: Santiago, Şili'ye Dayalı Düşük Maliyetli Bir IoT Hava Kalitesi Monitörü, bir kış çevre acil durumu sırasında dünyanın en güzel ülkelerinden birinde yaşama ayrıcalığına sahiptir, ancak ne yazık ki, her şey güllük gülistanlık değildir. Şili kış mevsiminde hava kirliliğinden çok fazla acı çekiyor, mai
MQTT ve AWS'ye Dayalı Rüzgar Sörfü Rüzgar İstasyonu: 3 Adım (Resimlerle)
MQTT ve AWS'ye Dayalı Rüzgar Sörfü için Rüzgar İstasyonu: Shenzhen'de çok güzel plajlar var. Yaz günlerinde en sevdiğim spor yelkendir.Yelken sporu için henüz başlangıç seviyesindeyim, deniz suyunun yüzüme değmesini seviyorum ve dahası bu sporla birçok yeni arkadaşım oldu
ESP32 ile Güneş Ağırlığına Dayalı Tesis Yönetimi: 7 Adım (Resimlerle)
ESP32 ile Güneş Ağırlığına Dayalı Bitki Yönetimi: Bitki yetiştirmek eğlencelidir ve onları sulamak ve onlara bakmak gerçekten zor değildir. Sağlıklarını izlemek için mikrodenetleyici uygulamaları internetin her yerinde ve tasarımlarının ilhamı bitkinin statik yapısından ve izleme kolaylığından geliyor