Мазмуну:

MicroPython IoT Rover WEMOS D1ге негизделген (ESP-8266EX): 7 кадам (сүрөттөр менен)
MicroPython IoT Rover WEMOS D1ге негизделген (ESP-8266EX): 7 кадам (сүрөттөр менен)

Video: MicroPython IoT Rover WEMOS D1ге негизделген (ESP-8266EX): 7 кадам (сүрөттөр менен)

Video: MicroPython IoT Rover WEMOS D1ге негизделген (ESP-8266EX): 7 кадам (сүрөттөр менен)
Video: MicroPython IoT Rover Based on WeMos D1 (ESP-8266EX) 2024, Ноябрь
Anonim
Image
Image
MicroPython IoT Rover WEMOS D1ге негизделген (ESP-8266EX)
MicroPython IoT Rover WEMOS D1ге негизделген (ESP-8266EX)

** Жаңыртуу: Мен v2 үчүн найза менен жаңы видео жарыяладым **

Мен жаш балдар үчүн робототехника боюнча семинарларды өткөрөм жана ар дайым кызыктуу долбоорлорду куруу үчүн экономикалык платформаларды издейм. Arduino клондору арзан болгону менен, балдар билбеген C/C ++ тилин колдонот. Ошондой эле, IoT долбоорлору үчүн зарыл болгон орнотулган WiFi жок. Башка жагынан алганда, Raspberry Pi WIFIге ээ болсо жана балдар аны Python аркылуу программаласа, ал дагы эле GPIO портторун башкарып, түзмөктөрдү күйгүзүү жана өчүрүү үчүн кымбат платформа. Мага WIFI жана Python мүмкүнчүлүктөрү бар бир нерсе керек. Мен жоопумду MicroPythonдон таптым окшойт, арзан ESP8266 негизделген тактага.

Micropython деген эмне?

Анын веб -сайтына ылайык, MicroPython - Python 3 программалоо тилдеринин Python стандарттык китепканасынын чакан бөлүгүн камтыган ийкемдүү жана эффективдүү ишке ашыруу жана ал микроконтроллерлерде жана чектелген чөйрөдө иштөө үчүн оптималдаштырылган (мисалы, ESP8266). Бул чипте негизинен Python IDE. Бир чоң артыкчылык-бул Webrepl деп аталган веб-браузердин кардарын колдонуу менен кодду түзүп, аны дароо өзгөртө аласыз. (Муну Arduinoдо жасоого аракет кылыңыз.) Ошондой эле сенсордук маалыматтарды Arduinoдогу маалыматтарды жазууга же LED экранга таянуунун ордуна Webreplде реалдуу убакытта көрө аласыз.

ESP8266 деген эмне?

Кыскача айтканда, муну камтылган тармак жөндөмү бар Arduino деп ойлоңуз. Сиз C/C ++ тилинде ESP8266 такталарын программалоо үчүн Arduino IDE колдоно аласыз же аны NodeMCU же MicroPython менен жаркырата аласыз. Бул долбоордо мен MicroPythonду ESP8266 тактасына жаркыратып коём.

Мен веб-браузерди колдонуп, 2WD унаасын башкара турган ушул жөнөкөй долбоор үчүн ESP8266-12EXке негизделген WEMOS D1ди алууну чечтим. MicroPython үчүн иштелип чыккан башка такталар бар, бирок менин критерийлериме жооп бербесе, ыргытып жибере турган арзан нерсени кааладым. Күтүлгөндөй эле, ал менин бардык талаптарыма жооп берди жана мен келечектеги долбоорлорго WeMos жана Micropythonду киргизем.

1 -кадам: Бөлүктөр

Бөлүктөр
Бөлүктөр
Бөлүктөр
Бөлүктөр
Бөлүктөр
Бөлүктөр
Бөлүктөр
Бөлүктөр
  • Wemos D1 же кандайдыр бир ESP8266 негизделген такталар
  • Мотор калканы (мен AliExpressтан арзан L293D колдонуп жатам)
  • 4 x AA жана 9V үчүн батарея кармагычтар (4 x AA батареялары моторлор үчүн, 9V Wemos тактасы үчүн)
  • 2WD унаа шасси
  • Dupont кабелдери

Бардыгын бириктирүү үчүн ширетүүчү, бурагыч жана желим тапанча керек болушу мүмкүн.

2 -кадам: Аппараттык жыйын

Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын

Биринчиден, көрсөтмөсүнө ылайык шассини чогултуп.

Андан кийин, көрсөтүлгөндөй ысык клей башка компоненттерди.

Мотор зымдары мотор терминалдарына ширетилип, терминалдын муундарын бекемдөө үчүн ысык желимди колдонушу керек.

4АА батарейка кармагычка кичинекей которуштуруу орнотулду. Бул мотор калканчынын кубатын күйгүзөт/өчүрөт.

3 -кадам: Кабелдөө

Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү
Электр өткөргүчтөрү

Көрсөтүлгөндөй менин туташуу схемамды ээрчиңиз.

Wemos to Motor Shield:

D1 IN2

D2 IN1 D3 IN4 ** өткөрүп D4 D5 IN3 GND -> GND

Мотор Калканга/Калкка:

Терминал -> Сол мотор

B терминалы -> Оң мотор VCC -> Батарея (+) GND -> Батарея (-)

4 -кадам: MicroPython орнотуу

Биринчиден, Wemos CH304Gге негизделген сериялык/USB чипке ээ. Бул арзан Arduino-клондорунда табылган чип жана сиз Mac же PC үчүн туура драйверди орнотушуңуз керек. Драйверди орнотуу үчүн бул сайттагы көрсөтмөлөрдү аткарыңыз.

Wemosту компьютериңизге туташтырыңыз жана компьютериңиз Wemosту аныктай аларын ырастаңыз. Macта төмөнкү буйрукту аткарыңыз жана сиз /dev/tty.wchusbserial640 аттуу түзмөктү көрөсүз.

$ ls -lt /dev /tty* | баш

crw-rw-rw- 1 түп дөңгөлөк 17, 4 Март 2 23:31 /dev/tty.wchusbserial640

Эгер сиз компьютерде болсоңуз, анда бул инструкцияны шилтеме катары колдоно аласыз.

Андан кийин, компьютериңизде Python 2 же 3 орнотушуңуз керек, анткени флеш куралы esptool.py Pythonго негизделген. MicroPython гид бул курал Python 2.7 менен гана иштейт деп айтса да, мен муну Python 3те эч кандай көйгөйсүз иштете алдым. Акыркы Python'ду https://www.python.org сайтынан жүктөп алыңыз жана PC же Mac үчүн орнотуу көрсөтмөлөрүн аткарыңыз.

Акырында, MicroPythonду Wemosко орнотушуңуз керек болот. MicroPython сайтында ESP8266 боюнча MicroPython орнотуу боюнча эң сонун окуу куралы бар. ESP8266 боюнча MicroPython менен иштөөнү баштоо жөнүндөгү нускамаларды аткарыңыз.

Төмөндө мен колдонгон буйруктар:

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

esptool.py v1.3 туташууда…. Чезантанын жарк этмесин иштетүү… Жарк өчүрүү (бул бир аз убакыт кетиши мүмкүн)… Тазалоо 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 туташууда…. Cesanta жаркылдаган стубу иштетилүүдө… Flash параметрлери 0x0240 деп коюлду 588824 байтты 0x0де 50,8 секундада (92,8 кбит/с) жазды… Чыгууда…

MicroPython азыр тактаңызга орнотулду!

5 -кадам: Тармакты орнотуу

Тармакты орнотуу
Тармакты орнотуу

MicroPython азыр Wemosко орнотулганда, ал азырынча тармагыңызга туташа элек. Алгач тармакты иштетишиңиз керек. Macта, Wemosко сериялык терминалдык сеансты баштоо үчүн SCREEN буйругун аткарыңыз.

$ screen /dev/tty.wchusbserial640 115200

Бош экранды көргөндө, чакырыкты көрүү үчүн RETURN баскычын басыңыз:

>>

(Эскертүү: Чыгуу үчүн CTRL-A CTRL- / териңиз)

Эми, webclient кирүүсүн иштетели. Орнотуу программасын иштетүү үчүн "import webrepl_setup" териңиз. WebREPLди иштетүү үчүн E киргизип, андан кийин сырсөздү коюңуз. Өзгөртүүлөрдү иштетүү үчүн өчүрүп күйгүзүңүз.

>> webrepl_setup импорттоо

WebREPL демонунун автоматтык түрдө башталуу абалы: өчүрүлгөн (E) иштетүүнү же (D) жүктөөдө иштетүүнү каалайсызбы? (Чыгуу үчүн бош сызык)> E WebREPLди иштетүү үчүн, ага сырсөздү коюшуңуз керек Жаңы сырсөз: xxxxx Сырсөздү ырастаңыз: xxxxx Өзгөрүүлөр кайра жүктөлгөндөн кийин активдештирилет Азыр кайра жүктөөнү каалайсызбы? (y/n) y

Акырында, Webrepl кардарын машинаңызга жүктөп алыңыз. Бул милдеттүү эмес, бирок кардар кийинчерээк колдонууну каалаган башка пайдалуу куралдар менен келет. Мисалы, webrepl_cli.py-файлдарды Wemosко скп сыяктуу синтаксисте көчүрүү буйругу. Клиентти жүктөө үчүн git колдонуңуз. (Эгерде сизде азырынча жок болсо, git куралын орнотуңуз.)

git clone

Веб -браузериңизди ачыңыз жана URL талаасында, жүктөлүп алынган webrepl кардар файлынын жайгашкан жерин киргизиңиз, мисалы:

файл: ///Users/xxxxx/wemos/webrepl/webrepl.html

Бул браузериңизде webrepl кардарын көрсөтүшү керек. Ага туташуудан мурун, анын WIFi кирүү чекитине туташууңуз керек. Эгер сиз компьютериңиз үчүн жеткиликтүү WIFIди карасаңыз, MicroPython-xxxx менен башталган тармакты көрөсүз. Ошол тармакка туташыңыз. (Эскертүү: Ошол тармакка туташкандан кийин, Интернетке кирүү мүмкүнчүлүгүңүздү жоготосуз.)

Кайра вебрепл кардарына кайтып, Байланышты чыкылдатыңыз. Ал сырсөздү сурашы керек. Wemos сырсөзүңүздү киргизиңиз жана туташыңыз.

MicroPythonго кош келиңиз!

Сырсөз: WebREPL туташты >>>

Сиздин Wemos дагы эле AccessPoint режиминде иштеп жатат. Бул жакшы болсо да, мен аны станциянын режиминде иштеткенди жакшы көрөм, ал менин үйүмдөгү WIFIге туташат, ошондо менин компьютерим ага үй WIFI аркылуу кире алат жана дагы эле Интернетке кире алат. Ал үчүн тармак конфигурациясы менен boot.py аттуу файлды түзүп, аны Wemosко жүктөшүңүз керек болот.

Бул жерде boot.py үлгүсү бар. SSID менен сырсөздү үй WIFI тармагыңызга өзгөртүңүз. Ошондой эле, мен ага 192.168.0.32 статикалык IP бергим келет. Аны үй WIFI жеткиликтүү IP дарегине өзгөртүңүз.

boot.py (аны төмөндөн жүктөп алсаңыз болот)

импорттоо gc

webrepl def do_connect () импорттоо: sta_if = network. WLAN (network. STA_IF) sta_if.isconnected эмес болсо (): басып чыгаруу ('тармакка туташуу…') 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 эмес (): басып чыгаруу (' тармак конфигурациясы: ', sta_if).ifconfig ()) do_connect () webrepl.start () gc.collect ()

Boot.py файлыңызды Wemosко жөнөтүү үчүн Webrepl кардарынын "Файл жөнөтүү" формасын колдонуңуз. Кайра жүктөө үчүн баштапкы абалга келтирүү баскычын басыңыз. Эгерде сиз дагы эле SCREEN командасын колдонуп USB аркылуу туташып турсаңыз, анда сиз төмөнкүлөрдү көрөсүз:

тармакка туташууда… тармак конфигурациясы: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') WebREPL демон ws: //192.168.4.1: 8266 WebREPL демон wsте башталды: //192.168.0.32: 8266 Кадимки режимде башталган webrepl 2017-01-09 боюнча MicroPython v1.8.7-7-gb5a1a20a3 окуу үчүн 'main.py' файлын ача алган жок; ESP8266 менен ESP модулу Көбүрөөк маалымат алуу үчүн "help ()" териңиз. >>>

Бул сиздин Wemos үйдүн WIFIге 192.168.0.32 дарегин колдонуу менен туташканын ырастайт.

Бул IP дарегин текшерүү үчүн пингге коюңуз.

$ ping 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 маалымат байты

192.168.0.32ден 64 байт: icmp_seq = 0 ttl = 255 убакыт = 9.334 мс 192.168.0.32ден 64 байт: icmp_seq = 1 ttl = 255 убакыт = 11.071 мс..

6 -кадам: Негизги программаны орнотуңуз

Негизги программаны орнотуу
Негизги программаны орнотуу
Негизги программаны орнотуу
Негизги программаны орнотуу

Акырында, сиз Wemos менен иштей берчү негизги программаны орнотушуңуз керек.

Веб -браузериңизге кайтып келип, webrepl кардар программасын иштетиңиз. IP дарегин Wemosтун IP дарегине өзгөртүңүз. Менин учурда, ал азыр 192.168.0.32. Wemos сырсөзүңүздү киргизиңиз жана сиз азыр Wemosко туташууңуз керек.

Келгиле тиркелген main.py программасын жүктөйбүз. Тиркелген файлды компьютериңизге жүктөп алыңыз. Жүктөлгөн main.py файлын тандоо үчүн Файлды тандоо дегенди чыкылдатыңыз жана түзмөккө жөнөтүлгөндү чыкылдатыңыз.

Main.py программасын жүктөө үчүн Эс алуу баскычын басууңуз керек. Кайра коюу баскычын баскандан кийин, сиз көрөсүз:

тармакка туташууда…

тармак конфигурациясы: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')

WebREPL демону ws: //192.168.4.1: 8266да башталды WebREPL демону ws: //192.168.0.32: 8266де webrepl кадимки режимде башталды Укууда, браузериңизди…

Бул сиздин main.py программаңыз активдештирилгендигин жана 80 портуна тизмеленгендигин билдирет.

Сыноо үчүн, веб -браузериңизди ачыңыз жана https:// киргизиңиз

Бул видеодо көрсөтүлгөндөй машинаны башкаруу экранын көрсөтүшү керек. Эгерде сиздин зымдар туура туташтырылган болсо, башкаруу баскычтары машинаңызды жылдыруу үчүн GPIO портторуңузга туура сигналдарды жөнөтөт.

7 -кадам: Келечектеги жакшыртуулар

Төмөнкү нерселер менин v2 тизмемде:

  • Мотор ылдамдыгын көзөмөлдөө үчүн PWMди колдонуңуз
  • Веб интерфейсти жакшыртуу. Балким, aREST алкагын колдонуңуз. Мен aREST lib учурда MicroPythonдо жеткиликтүү эмес деп эсептейм, андыктан аны бузууга туура келиши мүмкүн.

Бул Нускаманы окуганыңыз үчүн рахмат. Келечекте дагы көптөгөн долбоорлор үчүн мени Facebook, Youtube жана Instructables аркылуу ээрчиңиз.

Сунушталууда: