Tartalomjegyzék:

MicroPython IoT Rover WEMOS D1 (ESP-8266EX) alapján: 7 lépés (képekkel)
MicroPython IoT Rover WEMOS D1 (ESP-8266EX) alapján: 7 lépés (képekkel)

Videó: MicroPython IoT Rover WEMOS D1 (ESP-8266EX) alapján: 7 lépés (képekkel)

Videó: MicroPython IoT Rover WEMOS D1 (ESP-8266EX) alapján: 7 lépés (képekkel)
Videó: MicroPython IoT Rover Based on WeMos D1 (ESP-8266EX) 2024, Július
Anonim
Image
Image
MicroPython IoT Rover WEMOS D1 (ESP-8266EX) alapján
MicroPython IoT Rover WEMOS D1 (ESP-8266EX) alapján

** Frissítés: Új videót tettem közzé a v2 -hez, lándzsával **

Robotika műhelyeket szervezek kisgyermekek számára, és mindig gazdaságos platformokat keresek érdekes projektek készítéséhez. Míg az Arduino klónok olcsók, a C/C ++ nyelvet használja, amelyet a gyerekek nem ismernek. Ezenkívül nem rendelkezik beépített WiFi-vel, amely elengedhetetlen az IoT-projektekhez. Másrészről, bár a Raspberry Pi rendelkezik WIFI -vel, és a gyerekek programozhatják a Python segítségével, még mindig drága platform, amely csak néhány GPIO -port vezérlését teszi lehetővé az eszközök be- és kikapcsolásához. Szükségem van valamire, ami WIFI és Python képességekkel is rendelkezik. Úgy tűnik, hogy a válaszomat a MicroPythonban találtam egy olcsó ESP8266-alapú táblára villogva.

Mi a Micropython?

Webhelye szerint a MicroPython a Python 3 programozási nyelvek sovány és hatékony megvalósítása, amely a Python szabványos könyvtár egy kis részhalmazát tartalmazza, és mikrokontrollereken és korlátozott környezetben (például ESP8266) való futtatásra van optimalizálva. Ez lényegében Python IDE egy chipen. Az egyik fő előny az, hogy létrehozhat kódot, és menet közben megváltoztathatja azt a Webrepl nevű webböngésző kliens segítségével. (Próbálja ezt megtenni az Arduino-ban.) Az érzékelők adatait valós időben is láthatja a Webrepl webhelyen, ahelyett, hogy az adatnaplózásra vagy egy LED-képernyőre támaszkodna az Arduino-ban.

Mi az ESP8266?

Röviden, gondoljon rá, mint egy beépített hálózati képességgel rendelkező Arduino-ra. Az Arduino IDE segítségével programozhatja az ESP8266 kártyákat C/C ++ nyelven, vagy villoghat NodeMCU vagy MicroPython segítségével. Ebben a projektben a MicroPython -t villogom egy ESP8266 táblára.

Úgy döntöttem, hogy veszek egy WEMOS D1-et, amely az ESP8266-12EX-en alapul ehhez az egyszerű projekthez, ahol egy 2WD-s autót böngészek egy webböngészővel. Vannak más táblák is, amelyeket MicroPythonra terveztek, de valami olcsót szerettem volna, amit eldobhatok, ha nem felel meg a kritériumaimnak. A várakozásoknak megfelelően minden igényemet kielégítette, és valószínűleg a WeMos -t és a Micropython -t beépítem a jövőbeli projektekbe.

1. lépés: Alkatrészek

Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
  • Wemos D1 vagy bármely ESP8266 alapú kártya
  • Motorpajzs (az AliExpress olcsó L293D -jét használom)
  • Elemtartók 4 x AA és 9 V -hoz (4 x AA elem motorokhoz és 9 V a Wemos kártyához)
  • 2WD autó alváz
  • Dupont kábelek

Lehet, hogy forrasztópáka, csavarhúzó és ragasztópisztoly szükséges az összes összeállításához.

2. lépés: A hardver összeszerelése

Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés

Először szerelje össze az alvázat az utasításoknak megfelelően.

Ezután az ábrán látható módon ragasztja fel a többi alkatrészt.

A motorhuzalokat a motor kapcsaihoz kell forrasztani, és forró ragasztóval kell erősíteni a kapocscsuklókat.

Egy kis kapcsolót rögzített a 4AA elemtartóhoz. Ez be-/kikapcsolja a motorpajzs áramellátását.

3. lépés: huzalozás

Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték

Kövesse a kapcsolási rajzomat az ábrán látható módon.

Wemos a motorpajzshoz:

D1 IN2

D2 IN1 D3 IN4 ** ugrás D4 D5 IN3 GND -> GND

Motorpajzs motorhoz/teljesítményhez:

Egy terminál -> Bal motor

B csatlakozó -> Jobb motor VCC -> Akkumulátor (+) GND -> Akkumulátor (-)

4. lépés: A MicroPython telepítése

Először is, a Wemos rendelkezik egy CH304G -n alapuló soros/USB lapkával. Ugyanaz a chip található az olcsó Arduino-klónokban, és telepítenie kell egy megfelelő illesztőprogramot Mac vagy PC számára. Az illesztőprogram telepítéséhez kövesse az ezen az oldalon található utasításokat.

Csatlakoztassa a Wemos -t a számítógépéhez, és győződjön meg arról, hogy számítógépe észleli a Wemos -t. Mac rendszeren futtassa a következő parancsot, és megjelenik egy /dev/tty.wchusbserial640 nevű eszköz.

$ ls -lt /dev /tty* | fej

crw-rw-rw- 1 gyökérkerék 17, 4. március 23. 23:31 /dev/tty.wchusbserial640

Ha PC -n dolgozik, akkor ezt az Instructable -t használhatja referenciaként.

Ezután be kell állítania a Python 2 vagy 3 alkalmazást a számítógépén, mivel a flash eszköz, az esptool.py Pythonon alapul. Míg a MicroPython útmutató kijelenti, hogy az eszköz csak a Python 2.7 -vel működik, ezt a Python 3 -ban minden probléma nélkül le tudtam futtatni. Töltse le a legújabb Python -t a https://www.python.org webhelyről, és kövesse a PC vagy a Mac telepítési utasításait.

Végül telepítenie kell a MicroPython programot a Wemos rendszerre. A MicroPython webhely kiváló oktatóanyaggal rendelkezik a MicroPython ESP8266 rendszeren történő beállításáról. Csak kövesse a telepítési utasításokat a MicroPython használatának megkezdése című részben az ESP8266 készüléken.

Az alábbi parancsokat használom:

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

esptool.py v1.3 Csatlakozás…. A Cesanta villogó csonkja fut … A vaku törlése (ez eltarthat egy ideig)… A törlés 10,5 másodpercig tartott

$ 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 Csatlakozás…. A Cesanta villogó csonkja fut … A vaku paraméterei 0x0240 -re állítva Írt 589824 bájt 0x0 -ra 50,8 másodperc alatt (92,8 kbit/s)… Kilépés…

A MicroPython már telepítve van az alaplapra!

5. lépés: A hálózat beállítása

Hálózat beállítása
Hálózat beállítása

Miközben a MicroPython most telepítve van a Wemos készülékére, még nem csatlakozik a hálózathoz. Először engedélyeznie kell a hálózatot. Mac számítógépen hajtsa végre a SCREEN parancsot a Wemos soros terminál munkamenetének elindításához.

$ screen /dev/tty.wchusbserial640 115200

Ha üres képernyőt lát, nyomja meg a RETURN gombot, hogy megjelenjen a prompt:

>>

(Megjegyzés: A kilépéshez írja be a CTRL-A CTRL- / billentyűt)

Most engedélyezzük a webkliens -hozzáférést. A telepítőprogram futtatásához írja be az "import webrepl_setup" parancsot. Írja be az E gombot a WebREPL engedélyezéséhez, majd állítsa be a jelszót. Indítsa újra a módosítások aktiválásához.

>> webrepl_setup importálása

WebREPL démon automatikus indítás állapota: letiltva Szeretné (E) letiltani vagy (D) letiltani, hogy rendszerindításkor futjon? (Üres sor a kilépéshez)> E A WebREPL engedélyezéséhez meg kell adnia a jelszót. Új jelszó: xxxxx Jelszó megerősítése: xxxxx A módosítások aktiválódnak az újraindítás után. Szeretné most újraindítani? (y/n) y

Végül töltse le a Webrepl klienst a számítógépére. Ez opcionális, de az ügyfél más hasznos eszközöket is tartalmaz, amelyeket később érdemes használni. Például a webrepl_cli.py egy parancs, amely fájlokat másol a Wemos-ba scp-szerű szintaxisban. A git segítségével töltse le az ügyfelet. (Telepítse a git eszközt, ha még nem rendelkezik vele.)

git klón

Nyissa meg a webböngészőt, és az URL mezőbe írja be a letöltött webrepl ügyfélfájl helyét, például:

fájl: ///Users/xxxxx/wemos/webrepl/webrepl.html

Ennek a webrepl ügyfelet kell megjelenítenie a böngészőben. Mielőtt hozzá tudna csatlakozni, először csatlakoznia kell a WIFi hozzáférési ponthoz. Ha megnézi a számítógépéhez rendelkezésre álló WIFI-t, látni fogja, hogy a hálózat MicroPython-xxxx-el kezdődik. Csatlakozzon ehhez a hálózathoz. (Figyelmeztetés: Miután csatlakozott ehhez a hálózathoz, elveszíti internet -hozzáférését.)

Menjen vissza a webrepl ügyfélhez, és kattintson a Csatlakozás gombra. Jelszót kell kérnie. Írja be Wemos jelszavát, és csatlakoznia kell.

Üdvözli a MicroPython!

Jelszó: WebREPL csatlakoztatva >>>

A Wemos továbbra is AccessPoint módban fut. Bár ez rendben van, inkább állomás módban futtassam, ahol csatlakozik az otthoni WIFI -hez, hogy a számítógépem hozzáférhessen az otthoni WIFI -n keresztül, és továbbra is rendelkezzen internet -hozzáféréssel. Ehhez létre kell hoznia egy boot.py nevű fájlt hálózati konfigurációval, és fel kell töltenie a Wemos -ra.

Itt egy minta boot.py. Módosítsa az SSID -t és a jelszót az otthoni WIFI -hálózatra. Továbbá szeretnék 192.168.0.32 statikus IP -t adni neki. Módosítsa az otthoni WIFI elérhető IP -címére.

boot.py (letöltheti alulról)

import gc

import webrepl def do_connect (): import hálózat sta_if = network. WLAN (network. STA_IF) ha nem sta_if.isconnected (): print ('csatlakozás a hálózathoz …') 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 (' ',' '), míg nincs sta_if.isconnected (): pass print (' network config: ', sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()

Használja a Webrepl kliens "Fájl küldése" űrlapját a boot.py fájl Wemos -ba küldéséhez. Az újraindításhoz nyomja meg a reset gombot. Ha továbbra is USB -n keresztül csatlakozik a SCREEN paranccsal, akkor a következőket fogja látni:

csatlakozás a hálózathoz… hálózati konfiguráció: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') A WebREPL démon elindult a ws: //192.168.4.1: 8266 webrepl démonon: //192.168.0.32: 8266 Az elindított webrepl normál módban nem tudta megnyitni a "main.py" fájlt a MicroPython v1.8.7-7-gb5a1a20a3 olvasásához 2017-01-09; ESP modul ESP8266 -tal Típus "help ()" további információkért. >>>

Ez igazolja, hogy a Wemos a 192.168.0.32 ipaddress használatával csatlakozik az otthoni WIFI -hez.

Az IP -címet pingelve ellenőrizheti.

$ ping 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 adatbájt

64 bájt a 192.168.0.32 -ből: icmp_seq = 0 ttl = 255 time = 9.334 ms 64 byte from 192.168.0.32: icmp_seq = 1 ttl = 255 time = 11.071 ms..

6. lépés: Telepítse a főprogramot

Telepítse a főprogramot
Telepítse a főprogramot
Telepítse a főprogramot
Telepítse a főprogramot

Végül telepítenie kell a fő programot, amely továbbra is fut a Wemos készüléken.

Menjen vissza a böngészőbe, és futtassa a webrepl ügyfélprogramot. Módosítsa az ip -címet a Wemos IP -címére. Esetemben ez most 192.168.0.32. Írja be Wemos jelszavát, és most csatlakoznia kell a Wemos szolgáltatáshoz.

Töltsük fel a mellékelt main.py programot. Töltse le a csatolt fájlt a számítógépére. Kattintson a Fájl kiválasztása gombra a letöltött main.py kiválasztásához, majd kattintson az Elküldve az eszközre elemre.

A main.py program betöltéséhez meg kell nyomnia a Pihenés gombot. A Reset gomb megnyomása után látni fogja:

csatlakozás a hálózathoz…

hálózati konfiguráció: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')

A WebREPL démon a ws: //192.168.4.1: 8266 webhelyen indult

Ez azt jelenti, hogy a main.py program aktiválva van, és a 80 -as portra kerül.

A teszteléshez nyissa meg a webböngészőt, és írja be a

Ennek meg kell jelennie az autó vezérlőképernyőjén, ahogy a videó is mutatja. Ha a vezetékek megfelelően vannak csatlakoztatva, a vezérlőgombok megfelelő jeleket küldenek a GPIO -portokra az autó mozgatásához.

7. lépés: Jövőbeni fejlesztések

A következő teendők szerepelnek a v2 listámban:

  • A motor fordulatszámának szabályozásához használja a PWM -et
  • A webes felület javítása. Esetleg használjon aREST keretrendszert. Nem hiszem, hogy az aREST lib jelenleg elérhető a MicroPythonon, így lehet, hogy feltörnöm kell.

Köszönjük, hogy elolvasta ezt az utasítást. Kövess engem a Facebookon, a Youtube -on és az Instructables -ben, hogy további projekteket kapj a jövőben.

Ajánlott: