Mundarija:
- 1 -qadam: qismlar
- 2 -qadam: Uskuna yig'ish
- 3 -qadam: simlarni ulash
- 4 -qadam: MicroPython -ni o'rnatish
- 5 -qadam: Tarmoqni sozlash
- 6 -qadam: Asosiy dasturni o'rnating
- 7 -qadam: kelajakdagi yaxshilanishlar
Video: WEMOS D1 (ESP-8266EX) ga asoslangan MicroPython IoT Rover: 7 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
** Yangilash: men nayzali v2 uchun yangi videoni joylashtirdim **
Men yosh bolalar uchun robototexnika bo'yicha seminarlar o'tkazaman va men har doim iqtisodiy loyihalarni yaratish uchun iqtisodiy platformalarni qidiraman. Arduino klonlari arzon bo'lsa -da, u bolalar bilmagan C/C ++ tilidan foydalanadi. Bundan tashqari, u IoT loyihalari uchun zarur bo'lgan o'rnatilgan Wi-Fi-ga ega emas. Boshqa tomondan, Raspberry Pi -da Wi -Fi mavjud bo'lsa va bolalar uni Python -dan dasturlashlari mumkin bo'lsa -da, bu qurilmalarni yoqish va o'chirish uchun GPIO -ning bir nechta portlarini boshqarish uchun qimmat platforma. Menga WIFI va Python imkoniyatlariga ega bo'lgan narsa kerak. Ko'rinib turibdiki, men javobimni MicroPython-da ESP8266 asosidagi arzon taxtaga tushdim.
Micropython nima?
O'z veb -saytiga ko'ra, MicroPython - bu Python standart kutubxonasining kichik bir qismini o'z ichiga olgan Python 3 dasturlash tillarining sodda va samarali qo'llanilishi va u mikrokontrollerlarda va cheklangan muhitda (ESP8266 kabi) ishlash uchun optimallashtirilgan. Bu asosan chipdagi Python IDE. Katta afzalliklardan biri shundaki, siz Webrepl deb nomlangan veb-brauzer mijozi yordamida kod yaratishingiz va uni tezda o'zgartirishingiz mumkin. (Buni Arduino-da bajarishga harakat qiling.) Arduino-dagi ma'lumotlarni yozish yoki LED-ekranga tayanish o'rniga, Webrepl-da real vaqtda sensor ma'lumotlarini ko'rishingiz mumkin.
ESP8266 nima?
Muxtasar qilib aytganda, buni o'rnatilgan tarmoq qobiliyatiga ega Arduino deb tasavvur qiling. Siz C/C ++ da ESP8266 platalarini dasturlash uchun Arduino IDE -dan foydalanishingiz mumkin yoki uni NodeMCU yoki MicroPython yordamida o'chirib qo'yishingiz mumkin. Ushbu loyihada men MicroPython -ni ESP8266 taxtasida yondiraman.
Men ushbu oddiy loyiha uchun ESP8266-12EX asosidagi WEMOS D1 ni olishga qaror qildim, u erda 2WD rusumli avtomashinani veb-brauzer yordamida boshqaraman. MicroPython uchun mo'ljallangan boshqa taxtalar ham bor, lekin men o'zimning mezonimga mos kelmasa, tashlab yuboradigan arzon narsani xohlardim. Kutilganidek, bu mening barcha talablarimga javob berdi va men, ehtimol, kelajakdagi loyihalarga WeMos va Micropythonni kiritaman.
1 -qadam: qismlar
- Wemos D1 yoki har qanday ESP8266 asosidagi taxtalar
- Dvigatel qalqoni (men AliExpress -dan arzon L293D ishlataman)
- 4 x AA va 9 V batareya ushlagichlari (4 x AA batareyalar dvigatellar uchun, 9 V esa Wemos platasi uchun)
- 2WD avtomobil shassisi
- Dupont kabellari
Hamma narsani birlashtirish uchun lehimlantiruvchi temir, tornavida va yopishtiruvchi qurol kerak bo'lishi mumkin.
2 -qadam: Uskuna yig'ish
Birinchidan, yo'riqnomaga muvofiq shassisni yig'ing.
Keyin, ko'rsatilganidek, boshqa komponentlarni issiq yopishtiring.
Dvigatel simlari dvigatel terminallariga lehimli bo'lishi kerak va terminal bo'g'inlarini mustahkamlash uchun issiq elimdan foydalanish kerak.
4AA batareya ushlagichiga kichik kalit o'rnatilgan. Bu vosita qalqoni quvvatini yoqadi/o'chiradi.
3 -qadam: simlarni ulash
Ko'rsatilganidek, mening ulanish sxemasiga amal qiling.
Dvigatel qalqoniga Wemos:
D1 IN2
D2 IN1 D3 IN4 ** o'tish D4 D5 IN3 GND -> GND
Dvigatel qalqoni/quvvat:
Terminal -> Chap motor
B terminali -> VCC o'ng dvigateli -> Batareya (+) GND -> Batareya (-)
4 -qadam: MicroPython -ni o'rnatish
Birinchidan, Wemos CH304G -ga asoslangan ketma -ket/USB chipga ega. Bu arzon Arduino-klonlarida mavjud bo'lgan chip va siz Mac yoki shaxsiy kompyuter uchun tegishli drayverni o'rnatishingiz kerak. Drayverni o'rnatish uchun ushbu saytdagi ko'rsatmalarga amal qiling.
Wemos -ni kompyuteringizga ulang va kompyuteringiz Wemos -ni aniqlay olishini tasdiqlang. Mac -da quyidagi buyruqni bajaring va siz /dev/tty.wchusbserial640 nomli qurilmani ko'rasiz.
$ ls -lt /dev /tty* | bosh
crw-rw-rw- 1 ildiz g'ildiragi 17, 4 mart 2 23:31 /dev/tty.wchusbserial640
Agar siz kompyuterda bo'lsangiz, siz ushbu ko'rsatmalarni mos yozuvlar sifatida ishlatishingiz mumkin.
Keyinchalik, kompyuteringizda Python 2 yoki 3 ni o'rnatishingiz kerak bo'ladi, chunki esptool.py flesh -vositasi Python -ga asoslangan. MicroPython qo'llanmasida bu vosita faqat Python 2.7 bilan ishlaydi, deb aytsa ham, men buni Python 3 da hech qanday muammosiz ishga tushirdim. Oxirgi Python -ni https://www.python.org saytidan yuklab oling va kompyuter yoki Mac uchun o'rnatish ko'rsatmalariga rioya qiling.
Va nihoyat, siz MicroPython -ni Wemos -ga o'rnatishingiz kerak bo'ladi. MicroPython saytida ESP8266 -da MicroPython -ni sozlash bo'yicha ajoyib qo'llanma mavjud. ESP8266 -da MicroPython -ni ishga tushirishda o'rnatish ko'rsatmalariga amal qiling.
Quyida men ishlatgan buyruqlar:
$ esptool.py --port /dev/tty.wchusbserial640 erase_flash
esptool.py v1.3 ulanmoqda…. Cesanta flasher stubini ishga tushirish … Chiroqni o'chirish (biroz vaqt ketishi mumkin)… O'chirish 10,5 soniya davom etdi
$ 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 ulanmoqda…. Cesanta flasher stubini ishga tushirish … Flash parametrlari 0x0240 ga o'rnatildi 589824 baytni 0x0 da 50,8 soniyada (92,8 kbit/s) yozdi… Chiqish…
Endi sizning kartangizga MicroPython o'rnatilgan!
5 -qadam: Tarmoqni sozlash
MicroPython hozir Wemos -ga o'rnatilgan bo'lsa -da, u hali tarmog'ingizga ulanmagan. Avval siz tarmoqni yoqishingiz kerak. Mac -da, Wemos -ga ketma -ket terminal sessiyasini boshlash uchun SCREEN buyrug'ini bajaring.
$ ekran /dev/tty.wchusbserial640 115200
Bo'sh ekranni ko'rsangiz, bildirishnomani ko'rish uchun RETURN tugmasini bosing:
>>
(Eslatma: Chiqish uchun CTRL-A CTRL- / ni kiriting)
Endi veb -mijozlarga kirishni yoqamiz. O'rnatish dasturini ishga tushirish uchun "import webrepl_setup" yozing. WebREPL -ni yoqish uchun E kiriting va parolni o'rnating. O'zgarishlarni faollashtirish uchun qayta yoqing.
>> webrepl_setup -ni import qiling
WebREPL daemon avtomatik ishga tushirish holati: o'chirilgan (E) ulanishni xohlaysizmi yoki (D) yuklashda ishlashini xohlaysizmi? (Chiqish uchun bo'sh satr)> E WebREPL -ni yoqish uchun siz unga parol o'rnatishingiz kerak Yangi parol: xxxxx Parolni tasdiqlang: xxxxx Qayta ishga tushirilgandan so'ng o'zgarishlar faollashadi Siz hozir qayta yoqishni xohlaysizmi? (y/n) y
Nihoyat, Webrepl mijozini kompyuteringizga yuklab oling. Bu ixtiyoriy, lekin mijoz boshqa foydali asboblar bilan birga keladi, ularni keyinchalik ishlatishingiz mumkin. Masalan, webrepl_cli.py-bu fayllarni Wemos-ga scp-ga o'xshash sintaksisda nusxalash buyrug'i. Mijozni yuklab olish uchun git dan foydalaning. (Agar sizda hali bo'lmasa, git vositasini o'rnating.)
git klon
Veb -brauzeringizni oching va URL maydoniga yuklab olingan webrepl mijoz faylining manzilini kiriting, masalan:
fayl: ///Users/xxxxx/wemos/webrepl/webrepl.html
Bu brauzerda webrepl mijozini ko'rsatishi kerak. Ulanishdan oldin, avval WIFi kirish nuqtasiga ulanishingiz kerak. Agar siz kompyuteringiz uchun mavjud Wi-Fi tarmog'iga qarasangiz, MicroPython-xxxx bilan boshlangan tarmoqni ko'rasiz. U tarmoqqa ulaning. (Ogohlantirish: Agar siz tarmoqqa ulansangiz, siz Internetga kira olmaysiz.)
Webrepl mijozingizga qayting va Ulanish -ni bosing. U parolni so'rashi kerak. Wemos parolini kiriting va siz ulanishingiz kerak.
MicroPython -ga xush kelibsiz!
Parol: WebREPL ulangan >>>
Sizning Wemos hali ham AccessPoint rejimida ishlaydi. Bu yaxshi bo'lsa -da, men uni stantsiya rejimida ishlashni afzal ko'raman, u mening uy Wi -Fi tarmog'imga ulanadi, shunda mening kompyuterim unga uy Wi -Fi tarmog'i orqali kirishi va Internetga kirishi mumkin. Buni amalga oshirish uchun siz tarmoq konfiguratsiyasiga ega boot.py faylini yaratishingiz va uni Wemos -ga yuklashingiz kerak bo'ladi.
Bu erda boot.py namunasi. Ssid va parolni uy WIFI tarmog'iga o'zgartiring. Bundan tashqari, men unga 192.168.0.32 statik IP berishni xohlayman. Uni uy WIFI -ning mavjud IP -manziliga o'zgartiring.
boot.py (uni pastdan yuklab olishingiz mumkin)
gc import qilish
import webrepl def do_connect (): import sta_if = network. WLAN (network. STA_IF) sta_if.isconnected (): chop etish ('tarmoqqa ulanish…') sta_if.active (To'g'ri) sta_if.ifconfig (('192.168. 0.32 ',' 255.255.255.0 ',' 192.168.0.1 ',' 192.168.0.1 ')) sta_if.connect (' ',' ') emas, balki sta_if.isconnected (): o'tishni bosib o'tish (' tarmoq konfiguratsiyasi: ', sta_if).ifconfig ()) do_connect () webrepl.start () gc.collect ()
Boot.py faylini Wemos -ga yuborish uchun Webrepl mijozining "Fayl yuborish" formasidan foydalaning. Qayta ishga tushirish uchun reset tugmasini bosing. Agar siz hali ham SCREEN buyrug'i yordamida USB orqali ulangan bo'lsangiz, quyidagilarni ko'rasiz:
tarmoqqa ulanish… tarmoq konfiguratsiyasi: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') WebREPL demoni ws: //192.168.4.1: 8266 da ishga tushirildi: //192.168.0.32: 8266 Oddiy rejimda ishga tushirilgan webrepl 2017-01-09 da MicroPython v1.8.7-7-gb5a1a20a3 ni o'qish uchun 'main.py' faylini ocholmadi; ESP8266 bilan ESP moduli Qo'shimcha ma'lumot olish uchun "help ()" yozing. >>>
Bu sizning Wemos -ni uy WIFI -ga 192.168.0.32 IP -manzili orqali ulanganligini tasdiqlaydi.
Tasdiqlash uchun siz ushbu IP -manzilga ping yuborishingiz mumkin.
$ ping 192.168.0.32
PING 192.168.0.32 (192.168.0.32): 56 ma'lumotlar bayti
192.168.0.32 dan 64 bayt: icmp_seq = 0 ttl = 255 vaqt = 9.334 ms 192.168.0.32 dan 64 bayt: icmp_seq = 1 ttl = 255 vaqt = 11.071 mil.
6 -qadam: Asosiy dasturni o'rnating
Nihoyat, siz Wemos -da ishlashda davom etadigan asosiy dasturni o'rnatishingiz kerak bo'ladi.
Veb -brauzeringizga qayting va webrepl mijoz dasturini ishga tushiring. IP -manzilni Wemos -ning IP -manziliga o'zgartiring. Menimcha, hozir 192.168.0.32. Wemos parolingizni kiriting va endi siz Wemos -ga ulangan bo'lishingiz kerak.
Keling, biriktirilgan main.py dasturini yuklaylik. Qo'shilgan faylni kompyuteringizga yuklab oling. Yuklab olingan main.py faylini tanlash uchun Fayl tanlash -ni bosing va Qurilmaga yuborilgan -ni bosing.
Main.py dasturini yuklash uchun Rest tugmasini bosishingiz kerak bo'ladi. Qayta tiklash tugmachasini bosgandan so'ng, siz ko'rasiz:
tarmoqqa ulanmoqda…
tarmoq konfiguratsiyasi: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')
WebREPL demon ws: //192.168.4.1: 8266 da ishlay boshladi WebREPL demon ws: //192.168.0.32: 8266 da ishga tushdi, webrepl normal rejimda ishga tushdi, tinglanmoqda, brauzeringizni ulang…
Bu shuni anglatadiki, main.py dasturi faollashtirilgan va 80 -portga ro'yxatga olingan.
Sinab ko'rish uchun veb -brauzeringizni oching va https:// kiriting.
Bu videoda ko'rsatilgandek avtomobilni boshqarish ekranini ko'rsatishi kerak. Agar simlaringiz to'g'ri ulangan bo'lsa, boshqaruv tugmalari mashinani harakatlantirish uchun GPIO portlariga to'g'ri signallarni yuboradi.
7 -qadam: kelajakdagi yaxshilanishlar
Quyidagi vazifalar mening v2 ro'yxatimda:
- Dvigatel tezligini boshqarish uchun PWM -dan foydalaning
- Veb -interfeysni yaxshilash. Ehtimol, aREST ramkasidan foydalaning. Hozir MicroPython -da aREST lib mavjudligiga ishonmayman, shuning uchun uni buzishim kerak bo'lishi mumkin.
Ushbu ko'rsatmalarni o'qiganingiz uchun tashakkur. Kelajakda boshqa loyihalar uchun meni Facebook, Youtube va Instructables -da kuzatib boring.
Tavsiya:
SMS -xabarnoma va Thingspeak ma'lumotlarini yuklash, Arduino -ga asoslangan, uy avtomatizatsiyasi bilan GPS avtomobil kuzatuvchisi: 5 qadam (rasmlar bilan)
SMS -xabarnoma va Thingspeak ma'lumotlarini yuklash, Arduino -ga asoslangan, uy avtomatizatsiyasi bilan GPS avtomobil kuzatuvchisi: Men bu GPS -trekerni o'tgan yili yaratganman va u yaxshi ishlaganligi uchun hozir uni Instructable -da nashr etaman. U yuk mashinasining aksessuarlari vilkasiga ulangan. GPS -kuzatuvchi avtomobilning joylashuvi, tezligi, yo'nalishi va o'lchangan haroratini mobil ma'lumotlar orqali yuklaydi
Arduino IDE bilan Esp 8266 Esp-01 bilan ishlashni boshlash - Esp kartalarini Arduino Ide -ga o'rnatish va Esp -ni dasturlash: 4 qadam
Arduino IDE bilan Esp 8266 Esp-01 bilan ishlashni boshlash | Esp-ni Arduino Ide-ga o'rnatish va Esp-ni dasturlash: Bu yo'riqnomada biz esp8266 platalarini Arduino IDE-ga o'rnatishni, esp-01-ni dasturlashni va unga kodni yuklashni o'rganamiz. ESP-platalar juda mashhur bo'lgani uchun men ko'rsatmalarni to'g'rilash haqida o'yladim. bu va ko'pchilik odamlar muammoga duch kelishadi
Arduino -ga asoslangan robotli qo'l bilan ko'rishning arzon echimi: 19 qadam (rasmlar bilan)
Arduino -ga asoslangan robotli qo'l bilan ko'rishning arzon echimi: Biz mashinani ko'rish haqida gapirganda, biz uchun bu har doim ham imkonsiz bo'lib tuyuladi. Biz hammaga ochiq bo'lishi mumkin bo'lgan ochiq manbali vizual demo tayyorlaganimizda. Bu videoda OpenMV kamerasi bilan, qizil kub qaerda bo'lishidan qat'i nazar, robot
R-PiAlerts: Raspberry Pis bilan WiFi-ga asoslangan xavfsizlik tizimini yarating: 8 qadam (rasmlar bilan)
R-PiAlerts: Raspberry Pis yordamida WiFi-ga asoslangan xavfsizlik tizimini yarating: Ish stolida ishlayotganingizda, to'satdan uzoqdan shovqin eshitiladi. Yaqinda kimdir uyga keldimi? Mening mashinam uyim oldida turgan, kimdir mening mashinamni buzib kirganmi? Siz qaror qabul qilishingiz uchun telefoningizga yoki ish stoliga bildirishnoma kelishini xohlamaysizmi?
DIY Smart Kamera bilan meni kuzatib boring (Arduino -ga asoslangan): 22 qadam (rasmlar bilan)
DIY Smart Follow Me Drone with Camera (Arduino asosidagi): Hozirgi kunda dronlar juda mashhur o'yinchoqlar va asboblar. Siz bozorda professional va hatto boshlang'ich dronlar va uchadigan gadjetlarni topishingiz mumkin. Menda to'rtta dron bor (kvadrokopterlar va hexkopterlar), chunki men uchadigan hamma narsani yaxshi ko'raman, lekin 200 -parvoz emas