Orodha ya maudhui:

MicroPython IoT Rover Kulingana na WEMOS D1 (ESP-8266EX): Hatua 7 (na Picha)
MicroPython IoT Rover Kulingana na WEMOS D1 (ESP-8266EX): Hatua 7 (na Picha)

Video: MicroPython IoT Rover Kulingana na WEMOS D1 (ESP-8266EX): Hatua 7 (na Picha)

Video: MicroPython IoT Rover Kulingana na WEMOS D1 (ESP-8266EX): Hatua 7 (na Picha)
Video: MicroPython IoT Rover Based on WeMos D1 (ESP-8266EX) 2024, Julai
Anonim
Image
Image
MicroPython IoT Rover Kulingana na WEMOS D1 (ESP-8266EX)
MicroPython IoT Rover Kulingana na WEMOS D1 (ESP-8266EX)

** Sasisho: Nilichapisha video mpya ya v2 na lance **

Ninaandaa semina za Roboti kwa watoto wadogo na kila wakati natafuta majukwaa ya kiuchumi ya kujenga miradi ya kufurahisha. Wakati viini vya Arduino ni vya bei rahisi, hutumia lugha ya C / C ++ ambayo watoto hawaijui. Pia, haina WiFi iliyojengwa ambayo ni lazima kwa miradi ya IoT. Kwa upande mwingine, wakati Raspberry Pi ina WIFI na watoto wanaweza kuipanga kwa kutumia Python, bado ni jukwaa la gharama kubwa kudhibiti bandari chache za GPIO kuwasha na kuzima vifaa. Ninahitaji kitu kati ambacho kina WIFI na uwezo wa Python. Inaonekana kwamba nilipata jibu langu katika MicroPython iliangaza kwenye bodi ya bei rahisi ya ESP8266.

Micropython ni nini?

Kulingana na wavuti yake, MicroPython ni utekelezaji thabiti na mzuri wa lugha za programu ya Python 3 ambayo inajumuisha seti ndogo ya maktaba ya kawaida ya Python na imeboreshwa kuendesha kwa wadhibiti wadudu na katika mazingira yenye shida (kama ESP8266). Ni kimsingi Python IDE kwenye chip. Faida moja kuu ni kwamba unaweza kuunda nambari na kuibadilisha kwa kuruka ukitumia mteja wa kivinjari cha wavuti kinachoitwa Webrepl. (Jaribu kufanya hivyo katika Arduino.) Unaweza pia kuona data ya sensa katika wakati halisi kwenye Webrepl badala ya kutegemea ukataji wa data au skrini ya LED huko Arduino.

ESP8266 ni nini?

Kwa kifupi, fikiria kama Arduino na uwezo wa mtandao uliojengwa. Unaweza kutumia IDE ya Arduino kupanga bodi za ESP8266 katika C / C ++ au unaweza kuziwasha na NodeMCU au MicroPython. Katika mradi huu, nitaangazia MicroPython kwenye bodi ya ESP8266.

Niliamua kupata WEMOS D1 ambayo inategemea ESP8266-12EX kwa mradi huu rahisi ambapo nitatembea kwa gari la 2WD kwa kutumia kivinjari. Kuna bodi zingine ambazo zimetengenezwa kwa MicroPython lakini nilitaka kitu cha bei rahisi ambacho ningeweza kutupa ikiwa hakikidhi vigezo vyangu. Kama inavyotarajiwa, ilitimiza mahitaji yangu yote na uwezekano mkubwa nitajumuisha WeMos na Micropython katika miradi ya baadaye.

Hatua ya 1: Sehemu

Sehemu
Sehemu
Sehemu
Sehemu
Sehemu
Sehemu
Sehemu
Sehemu
  • Wemos D1 au bodi yoyote ya msingi ya ESP8266
  • Ngao ya magari (ninatumia L293D ya bei rahisi kutoka kwa AliExpress)
  • Wamiliki wa betri ya 4 x AA na 9V (4 x AA betri ni za motors na 9V ni ya bodi ya Wemos)
  • Chassis ya gari la 2WD
  • Kamba za Dupont

Inaweza kuhitaji chuma cha kutengeneza, dereva wa screw na bunduki ya gundi kuweka kila kitu pamoja.

Hatua ya 2: Mkutano wa vifaa

Mkutano wa vifaa
Mkutano wa vifaa
Mkutano wa vifaa
Mkutano wa vifaa
Mkutano wa vifaa
Mkutano wa vifaa

Kwanza, unganisha chasisi kulingana na maagizo.

Kisha, gundi moto vifaa vingine kama inavyoonyeshwa.

Waya za magari zinapaswa kuuzwa kwa vituo vya magari na kutumia gundi moto ili kuimarisha viungo vya wastaafu.

Iliyobadilisha swichi ndogo kwa mmiliki wa betri ya 4AA. Hii itazima / kuzima nguvu kwa ngao ya magari.

Hatua ya 3: Wiring

Wiring
Wiring
Wiring
Wiring
Wiring
Wiring

Fuata mchoro wangu wa wiring kama inavyoonyeshwa.

Wemos kwa Motor Shield:

D1 IN2

D2 IN1 D3 IN4 ** ruka D4 D5 IN3 GND -> GND

Shield ya Magari kwa Magari / Nguvu:

Terminal -> kushoto Motor

B terminal -> Right Motor VCC -> Battery (+) GND -> Betri (-)

Hatua ya 4: Ufungaji wa MicroPython

Kwanza, Wemos ina chip ya serial / USB kulingana na CH304G. Hii ni chip ile ile inayopatikana katika Arduino-clones za bei rahisi na lazima usakinishe dereva sahihi wa Mac au PC. Fuata maagizo kwenye wavuti hii kusakinisha dereva.

Unganisha Wemos kwenye kompyuta yako na uthibitishe kuwa kompyuta yako inaweza kugundua Wemos. Kwenye Mac, endesha amri ifuatayo na utaona kifaa kinachoitwa /dev/tty.wchusbserial640.

$ ls -lt / dev / tty * | kichwa

crw-rw-rw- 1 mzizi gurudumu 17, 4 Mar 2 23: 31 / dev /tty.wchusbserial640

Ikiwa uko kwenye PC, unaweza kutumia hii inayoweza kufundishwa kama kumbukumbu.

Ifuatayo, utahitaji kusanidi Python 2 au 3 kwenye kompyuta yako kwani zana ya flash, esptool.py, inategemea Python. Wakati mwongozo wa MicroPython unaweza kusema kuwa zana hiyo inafanya kazi tu na Python 2.7, niliweza kuiendesha katika Python 3 bila maswala yoyote. Pakua Python ya hivi karibuni kutoka https://www.python.org na ufuate maagizo ya usanidi wa PC au Mac yako.

Mwishowe, utahitaji kusanikisha MicroPython kwenye Wemos. Tovuti ya MicroPython ina mafunzo bora juu ya jinsi ya kuweka MicroPython kwenye ESP8266. Fuata tu maagizo ya usanidi katika Kuanza na MicroPython kwenye ESP8266.

Chini ni amri nilizotumia:

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

esptool.py v1.3 Inaunganisha…. Kuendesha shina la taa la Cesanta… Kufuta flash (hii inaweza kuchukua muda)… Futa ilichukua sekunde 10.5

$ 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 Inaunganisha…. Inatumia shina la taa la Cesanta… Viwango vya Flash vimewekwa 0x0240 Imeandika kaiti 589824 saa 0x0 kwa sekunde 50.8 (92.8 kbit / s)… Inaondoka…

MicroPython sasa imewekwa kwenye bodi yako!

Hatua ya 5: Sanidi Mtandao

Sanidi Mtandao
Sanidi Mtandao

Wakati MicroPython sasa imewekwa kwenye Wemos yako, bado haijaunganishwa kwenye mtandao wako. Itabidi kwanza uwezeshe mtandao. Kwenye Mac, fanya amri ya SCREEN kuanza kikao cha serial cha Wemos.

$ skrini / dev / tty.wchusbserial640 115200

Unapoona skrini tupu, piga RUDI ili uone haraka:

>>

(Kumbuka: Ili kutoka, andika CTRL-A CTRL- )

Sasa, wacha tuwezeshe ufikiaji wa wavuti. Andika "kuagiza webrepl_setup" ili kuendesha programu ya usanidi. Ingiza E kuwezesha WebREPL na kisha weka nywila. Washa upya ili kuamsha mabadiliko.

>> kuagiza webrepl_setup

Hali ya kuanza kiotomatiki ya daemon ya WebREPL: imelemazwa Je! Ungependa (E) nable au (D) isable it Run on boot? (Ondoa laini ya kuacha)> E Ili kuwezesha WebREPL, lazima uweke nywila yake Nenosiri mpya: xxxxx Thibitisha nywila: xxxxx Mabadiliko yataamilishwa baada ya kuwasha tena Je! Ungependa kuwasha upya sasa? (y / n) y

Mwishowe, pakua mteja wa Webrepl kwenye mashine yako. Hii ni ya hiari lakini mteja anakuja na zana zingine muhimu ambazo unaweza kutaka kutumia baadaye. Kwa mfano, webrepl_cli.py ni amri ya kunakili faili kwa Wemos katika sintaksia inayofanana na scp. Tumia git kupakua mteja. (Sakinisha zana ya git ikiwa bado unayo.)

clone ya git

Fungua kivinjari chako cha wavuti na kwenye uwanja wa URL, ingiza eneo la tovuti yako ya faili ya mteja iliyopakuliwa kama vile:

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

Hii inapaswa kuonyesha mteja wa wavuti kwenye kivinjari chako. Kabla ya kuungana nayo, lazima uunganishe kwanza kwa Kituo chake cha Ufikiaji cha WIFi. Ukiangalia WIFI inayopatikana kwa kompyuta yako, utaona mtandao unaanza na MicroPython-xxxx. Unganisha kwenye mtandao huo. (Onyo: Mara tu ukiunganisha kwenye mtandao huo, utapoteza ufikiaji wako wa Mtandao.)

Rudi kwa mteja wako wa wavuti na bonyeza Bonyeza. Inapaswa kuhamasisha nywila. Ingiza nywila yako ya Wemos na unapaswa kuungana.

Karibu kwenye MicroPython!

Nenosiri: WebREPL imeunganishwa >>>

Wemos wako bado wanaendesha katika Hali ya AccessPoint. Ingawa hii ni sawa, napendelea kukimbia katika Stesheni ya Stesheni ambapo inaunganisha na WIFI yangu ya nyumbani ili kompyuta yangu iweze kuipata kupitia WIFI ya nyumbani na bado ina ufikiaji wa Mtandaoni. Ili kufanya hivyo, italazimika kuunda faili inayoitwa boot.py na usanidi wa mtandao na kuipakia kwa Wemos.

Hapa kuna sampuli ya boot.py. Badilisha ssid na nywila kwenye mtandao wako wa WIFI ya nyumbani. Pia, nataka kuipatia IP tuli ya 192.168.0.32. Badilisha kwa anwani ya IP inayopatikana ya WIFI yako.

boot.py (unaweza kuipakua kutoka chini)

kuagiza gc

kuagiza webrepl def do_connect (): ingiza mtandao sta_if = network. WLAN (network. STA_IF) ikiwa sio sta_if.isconnected (): chapisha ('unganisha kwa mtandao …') sta_if.active (True) sta_if.ifconfig (('192.168. 0.32 , '255.255.255.0', '192.168.0.1', '192.168.0.1')).ifconfig ()) do_connect () webrepl. anza () gc.kusanya ()

Tumia fomu ya "Tuma Faili" ya mteja wa Webrepl kutuma faili yako ya boot.py kwa Wemos yako. Bonyeza kitufe cha kuweka upya ili kuwasha upya. Ikiwa bado umeunganishwa kupitia USB kwa kutumia amri ya SCREEN, utaona:

kuunganisha kwenye mtandao… usanidi wa mtandao: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') Webemon ya daemon ya WebREPL ilianza kwenye ws: //192.168.4.1: daemon ya WebREPL ya 8266 ilianza kwenye ws: //192.168.0.32: 8266 Imeanza webrepl katika hali ya kawaida haikuweza kufungua faili 'main.py' kwa kusoma MicroPython v1.8.7-7-gb5a1a20a3 mnamo 2017-01-09; Moduli ya ESP na ESP8266 Aina "msaada ()" kwa habari zaidi. >>>

Hii inathibitisha kuwa Wemos zako zimeunganishwa na WIFI yako ya nyumbani kwa kutumia ipaddress ya 192.168.0.32.

Unaweza kubonyeza anwani hiyo ya IP ili kuhalalisha.

$ ping 192.168.0.32

PING 192.168.0.32 (192.168.0.32): data 56 ka

Baiti 64 kutoka 192.168.0.32: 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..

Hatua ya 6: Sakinisha Programu kuu

Sakinisha Programu kuu
Sakinisha Programu kuu
Sakinisha Programu kuu
Sakinisha Programu kuu

Mwishowe, utahitaji kusanikisha programu kuu ambayo itaendelea kuendesha kwenye Wemos yako.

Rudi kwenye kivinjari chako na uendeshe programu ya mteja wa wavuti. Badilisha anwani ya ip kwa anwani yako ya IP ya Wemos. Kwa upande wangu, sasa ni 192.168.0.32. Ingiza nywila yako ya Wemos na sasa unapaswa kushikamana na Wemos.

Wacha tupakie programu kuu.py iliyoambatishwa. Pakua faili iliyoambatanishwa kwenye kompyuta yako. Bonyeza kwenye Chagua Faili kuchagua main.py iliyopakuliwa na bonyeza kwa Iliyotumwa kwa kifaa.

Utahitaji kubonyeza kitufe cha Pumzika kupakia programu kuu.py. Baada ya kubonyeza kitufe cha Rudisha, utaona:

inaunganisha kwenye mtandao…

usanidi wa mtandao: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')

Daemon ya WebREPL ilianza kwenye ws: //192.168.4.1: 8266 WebREPL daemon ilianza kwenye ws: //192.168.0.32: 8266 Ilianza webrepl katika hali ya kawaida Kusikiliza, unganisha kivinjari chako kwa…

Hii inamaanisha mpango wako kuu.py umeamilishwa na kuorodheshwa kwa bandari 80.

Ili kujaribu, fungua kivinjari chako na uingie

Hii inapaswa kuonyesha skrini ya kudhibiti gari kama inavyoonyeshwa kwenye video. Ikiwa waya zako zimeunganishwa vizuri, vifungo vya kudhibiti vitatuma ishara sahihi kwa bandari zako za GPIO kusonga gari.

Hatua ya 7: Maboresho ya Baadaye

Vitu vifuatavyo vya kufanya viko kwenye orodha yangu ya v2:

  • Tumia PWM kudhibiti kasi ya gari
  • Boresha kiolesura cha wavuti. Labda tumia mfumo wa REST. Siamini aREST lib inapatikana kwenye MicroPython kwa wakati huu ili nipate kuibadilisha.

Asante kwa kusoma hii inayoweza kufundishwa. Nifuate kwenye Facebook, Youtube, na Maagizo kwa miradi zaidi katika siku zijazo.

Ilipendekeza: