Агуулгын хүснэгт:

WEMOS D1 (ESP-8266EX) дээр суурилсан MicroPython IoT Rover: 7 алхам (зурагтай)
WEMOS D1 (ESP-8266EX) дээр суурилсан MicroPython IoT Rover: 7 алхам (зурагтай)

Видео: WEMOS D1 (ESP-8266EX) дээр суурилсан MicroPython IoT Rover: 7 алхам (зурагтай)

Видео: WEMOS D1 (ESP-8266EX) дээр суурилсан MicroPython IoT Rover: 7 алхам (зурагтай)
Видео: P2 ESP01 4CH Relay Module (Subtittled) 2024, Долдугаар сарын
Anonim
Image
Image
WEMOS D1 (ESP-8266EX) дээр суурилсан MicroPython IoT Rover
WEMOS D1 (ESP-8266EX) дээр суурилсан MicroPython IoT Rover

** Шинэчлэлт: Би 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 гэж бодоорой. Та Arduino IDE -ийг ашиглан ESP8266 самбарыг C/C ++ дээр програмчлах эсвэл 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: Тоног төхөөрөмжийн угсралт

Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт

Нэгдүгээрт, явах эд ангиудыг зааврын дагуу угсарна.

Дараа нь бусад бүрэлдэхүүн хэсгүүдийг үзүүлсэн шиг халуун цавуугаар наа.

Моторын утсыг моторын терминал дээр гагнаж, халуун цавуу ашиглан терминалын холболтыг бэхжүүлнэ.

4AA батерейны хайрцагт жижиг унтраалга суулгасан. Энэ нь хөдөлгүүрийн бамбай руу хүчийг асаах/унтраах болно.

Алхам 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-clones-д байдаг ижил чип бөгөөд та Mac эсвэл PC-д тохирох драйвер суулгах ёстой. Драйверийг суулгахын тулд энэ сайт дээрх зааврыг дагана уу.

Wemos -ийг компьютерт холбож, таны компьютер Wemos -ийг илрүүлж болохыг баталгаажуулна уу. Mac дээр дараах тушаалыг ажиллуулаад /dev/tty.wchusbserial640 нэртэй төхөөрөмжийг харах болно.

$ ls -lt /dev /tty* | толгой

crw-rw-rw- 1 эх дугуй 17, 3-р сарын 2 23:31 /dev/tty.wchusbserial640

Хэрэв та компьютер дээр ажиллаж байгаа бол энэхүү зааврыг лавлагаа болгон ашиглаж болно.

Дараа нь esptool.py флаш хэрэгсэл нь Python дээр суурилсан тул та компьютер дээрээ Python 2 эсвэл 3 -ийг тохируулах хэрэгтэй болно. MicroPython -ийн гарын авлагад уг хэрэгсэл нь зөвхөн Python 2.7 дээр ажилладаг гэж хэлж болох боловч би үүнийг Python 3 дээр ямар ч асуудалгүйгээр ажиллуулж чадсан. Хамгийн сүүлийн үеийн Python -ийг https://www.python.org дээрээс татаж аваад компьютер эсвэл Mac дээрээ суулгах зааврыг дагана уу.

Эцэст нь та MicroPython -ийг Wemos дээр суулгах хэрэгтэй болно. MicroPython сайт нь ESP8266 дээр MicroPython -ийг хэрхэн тохируулах талаар маш сайн заавартай байдаг. ESP8266 дээр MicroPython ашиглаж эхлэх хэсэгт байгаа суулгах зааврыг дагана уу.

Миний ашигласан тушаалуудыг доор харуулав.

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

esptool.py v1.3 Холбогдож байна…. Cesanta флэш стоб ажиллуулж байна … Гэрлийг арилгах (энэ нь хэсэг хугацаа шаардаж магадгүй)… Устгахад 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 flasher stub ажиллаж байна … Флэш параметрүүдийг 0x0240 болгож тохируулсан 589824 байтыг 0x0 -д 50.8 секундын дотор (92.8 кбит/с) бичжээ… Гарах …

MicroPython -ийг таны самбар дээр суулгасан болно.

Алхам 5: Сүлжээг тохируулах

Сүлжээг тохируулах
Сүлжээг тохируулах

MicroPython -ийг одоо таны Wemos дээр суулгаж байгаа боловч таны сүлжээнд хараахан холбогдоогүй байна. Та эхлээд сүлжээг идэвхжүүлэх хэрэгтэй. Mac дээр SCREN командыг ажиллуулснаар цуваа терминалын сессийг Wemos руу эхлүүлнэ.

$ дэлгэц /dev/tty.wchusbserial640 115200

Хоосон дэлгэц гарч ирмэгц RETURN товчийг дарж хүлээх мөрийг харна уу.

>>

(Тэмдэглэл: Гарахын тулд CTRL-A CTRL- / гэж бичнэ үү)

Одоо вэб клиентийн хандалтыг идэвхжүүлье. Тохируулах програмыг ажиллуулахын тулд "import webrepl_setup" гэж бичнэ үү. WebREPL -ийг идэвхжүүлэхийн тулд E оруулаад нууц үгээ тохируулна уу. Өөрчлөлтийг идэвхжүүлэхийн тулд дахин ачаална уу.

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

WebREPL демоныг автоматаар эхлүүлэх төлөв: идэвхгүй болсон Та үүнийг ачаалах үед (E) идэвхжүүлэх эсвэл (D) идэвхжүүлэхийг хүсч байна уу? (Гарах хоосон мөр)> E WebREPL -ийг идэвхжүүлэхийн тулд та түүнд нууц үг тохируулах ёстой Шинэ нууц үг: xxxxx Нууц үгээ баталгаажуулах: xxxxx Дахин ачаалсны дараа өөрчлөлтүүд идэвхжих болно Та одоо дахин ачаалахыг хүсч байна уу? (y/n) y

Эцэст нь Webrepl клиентийг машин дээрээ татаж аваарай. Энэ нь заавал биш боловч үйлчлүүлэгч нь дараа нь ашиглахыг хүсч болох бусад хэрэгтэй хэрэгслүүдийг дагалдана. Жишээлбэл, webrepl_cli.py нь файлуудыг Wemos руу scp шиг синтакс дээр хуулах тушаал юм. Үйлчлүүлэгчийг татаж авахын тулд git ашиглана уу. (Хэрэв танд хараахан байхгүй бол git хэрэгслийг суулгаарай.)

git clone

Вэб хөтөчөө нээгээд URL талбарт татаж авсан webrepl клиент файлын байршлыг оруулна уу.

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

Энэ нь таны хөтөч дээр webrepl клиентийг харуулах ёстой. Та холбогдохын өмнө эхлээд түүний WIFi хандалтын цэг рүү холбогдох ёстой. Хэрэв та компьютер дээрээ ашиглах боломжтой WIFI-ийг үзвэл MicroPython-xxxx-ээс эхэлсэн сүлжээг харах болно. Энэ сүлжээнд холбогдоно уу. (Анхааруулга: Хэрэв та энэ сүлжээнд холбогдсон бол интернетэд нэвтрэх эрхээ алдах болно.)

Webrepl үйлчлүүлэгч рүүгээ буцаж очоод Connect дээр дарна уу. Энэ нь нууц үгээ оруулах ёстой. 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 = сүлжээ. WLAN (сүлжээ. STA_IF) sta_if.isconnected биш бол (): хэвлэх ('сүлжээнд холбогдох…') sta_if.active (Үнэн) 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 ()

Webrepl үйлчлүүлэгчийн "Файл илгээх" маягтыг ашиглан boot.py файлыг Wemos руу илгээнэ үү. Дахин эхлүүлэхийн тулд дахин тохируулах товчийг дарна уу. Хэрэв та 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 ms 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 програмыг ачаалахын тулд та Rest товчийг дарах хэрэгтэй болно. Дахин тохируулах товчийг дарсны дараа та дараахь зүйлийг харах болно.

сүлжээнд холбогдож байна …

сүлжээний тохиргоо: ('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 дээр ажиллаж эхэллээ.

Энэ нь таны main.py програм идэвхжиж, 80 порт руу жагсаагдсан гэсэн үг юм.

Туршихын тулд вэб хөтөчөө нээгээд https:// оруулна уу.

Энэ нь видеонд үзүүлсэн шиг машины хяналтын дэлгэцийг харуулах ёстой. Хэрэв таны утас зөв холбогдсон бол хяналтын товчлуурууд таны GPIO портууд руу машинаа хөдөлгөх зохих дохиог илгээнэ.

Алхам 7: Ирээдүйн сайжруулалтууд

Дараах хийх зүйлүүд миний v2 жагсаалтад байна.

  • Хөдөлгүүрийн хурдыг хянахын тулд PWM ашиглана уу
  • Вэб интерфэйсийг сайжруулах. Магадгүй aREST хүрээ ашиглана уу. AREST lib нь одоогоор MicroPython дээр байхгүй байна гэж би бодож байна, тиймээс би үүнийг хакердах хэрэгтэй болж магадгүй юм.

Энэхүү зааварчилгааг уншсанд баярлалаа. Фэйсбүүк, Youtube, Instructables дээр намайг дагаад ирээдүйд илүү олон төслүүдийг үзээрэй.

Зөвлөмж болгож буй: