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

Python -ийг ESP8266 ба ESP32: 6 алхамаар эхлүүлэх
Python -ийг ESP8266 ба ESP32: 6 алхамаар эхлүүлэх

Видео: Python -ийг ESP8266 ба ESP32: 6 алхамаар эхлүүлэх

Видео: Python -ийг ESP8266 ба ESP32: 6 алхамаар эхлүүлэх
Видео: Чем ESP32 лучше за ESP8266? 🤔 5 пунктов #iot #arduino #esp32 #esp8266 2024, Долдугаар сарын
Anonim
ESP8266 & ESP32 дээр Python програмыг ашиглаж эхлэх нь
ESP8266 & ESP32 дээр Python програмыг ашиглаж эхлэх нь

Bacground

ESP8266 ба түүний том дүү ESP32 нь бүрэн TCP/IP стек, микро хянагчтай Wi-Fi микрочипүүд юм. ESP8266 чип нь анх 2014 онд үйлдвэрлэгчдийн анхаарлыг татсан юм. Түүнээс хойш хямд үнэ (<5 ам.доллар), Wi-Fi сүлжээний багтаамж, 1 эсвэл 4 МБ хэмжээтэй флаш санах ой, олон төрлийн боломжтой хөгжүүлэлт. самбарууд нь ESP чипийг WiFi болон IoT DIY төслүүдийн хамгийн алдартай микро контроллеруудын нэг болгосон.

MicroPython бол Python стандарт номын сангийн жижиг хэсгийг багтаасан улам бүр түгээмэл болж буй Python програмчлалын хэлийг илүү үр ашигтай, амжилттай хэрэгжүүлж, микроконтроллер дээр ажиллуулахад оновчтой болгосон.

Эдгээр хоёрын хослол нь эхлэгчдэд болон илүү дэвшилтэт хэрэглэгчдэд зориулсан DIY төслүүдийн хувьд маш сонирхолтой сонголт юм.

MiPy-ESP төсөл

2015 онд ESP8266-тэй хийсэн анхны төслүүд маань ESP-01 чип ашиглан Arudions ашиглан AT чип AT цуваа холболтыг ажиллуулж эхлэв. Үүний дараа дараагийн жилүүдэд би Arduino цөмийг ESP8266 -д ашиглаж, чипийг C ++ хэлээр програмчлав. Энэ нь сайн ажилладаг, гэхдээ Python сонирхогчдын хувьд Python 3 -ийн MicroPython -ийн хэрэгжилтийг олж мэдсэн нь гайхалтай мэдээ байлаа.

MiPy-ESP төсөл нь ESP гэр бүлийн микро контроллер дээр Python IoT-ийн иж бүрэн төслүүдэд MicroPython-ийг ашигладаг уян хатан бүтэц юм.

Энэхүү хүрээг LeGarage Техникийн Хорооны Програм хангамж Хөгжүүлэгч Баг (LG-TC-SWDT-01) боловсруулсан бөгөөд манай микроконтроллерийн програмд аль хэдийн байгуулагдсан C ++ дээр суурилсан кодыг орлуулах зорилготой юм.

Төсөл нь үндсэн функцуудыг хангаж өгдөг

  • Сүлжээнд холбогдох журам
  • Чип хандалтын цэгийн вэб сервер (Wi -Fi холболт, өгөгдөл оролтод зориулагдсан чип вэб хуудсыг ашиглах зориулалттай)
  • MQTT функцууд
  • Бүртгэл хийх/дибаг хийх
  • Микроконтроллерийн үйл явдлын хуваарь
  • Тоног төхөөрөмжийн оролт/гаралтын горим

Нэг үндсэн авсаархан кодын скрипттэй (main.py), бүгд дэлхийн тохиргоотой (config.py).

Энэхүү mictocontroller код нь WiFi сүлжээ болон MQTT брокеруудын чип холболтын найдвартай засвар үйлчилгээтэй ажилладаг. Төрөл бүрийн техник хангамжийн MicroPython модулийг системд хялбархан нэгтгэх боломжтой.

MiPy-ESP хүрээ нь ESP-гэр бүлийн микро контроллеруудыг хамарсан манай хобби электроникийн IoT төслийн бүх тулгуур болсон. Үүнийг NodeMCU, Wemos, Lolin гэх мэт хэд хэдэн ESP гэр бүлийн самбар дээр туршиж үзсэн.

Дараахь заавар нь MiPy-ESP системийг ашиглан ESP-гэр бүлийн микроконтроллер ба MicroPython-ийг хэрхэн эхлүүлэх тухай гарын авлага болно.

Алхам 1: Wemos D1 Mini ESP8266 самбар

Wemos D1 Mini ESP8266 самбар
Wemos D1 Mini ESP8266 самбар
Wemos D1 Mini ESP8266 самбар
Wemos D1 Mini ESP8266 самбар
Wemos D1 Mini ESP8266 самбар
Wemos D1 Mini ESP8266 самбар
Wemos D1 Mini ESP8266 самбар
Wemos D1 Mini ESP8266 самбар

MiPy-ESP хүрээ нь ESP8266 дээр суурилсан ихэнх микроконтроллертой ажилладаг.

Wemos D1 мини хөгжүүлэх самбар нь ESP-8266EX чип дээр суурилдаг. 2.5 х 3.5 см хэмжээтэй, 4MB флаш санах ойтой, 11 дижитал оролт/гаралтын зүүтэй, бүх зүү тасалдлыг дэмждэг, PWM, I2C, SPI, цуваа ба хамгийн их оролт 3.3V, 1 аналог оролт, 5V хүчээр ажиллах боломжтой, микро USB холболттой бөгөөд талхны самбартай нийцдэг. Хямд үнэ, жижиг хэмжээтэй нь миний дуртай ESP хавтан болсон.

Нэмж дурдахад, самбарын D1 мини хувилбар нь гадаад антеныг холбох сонголттой бөгөөд холболтын хүрээг мэдэгдэхүйц нэмэгдүүлдэг (+100 м хүртэлх зай). Нэмж дурдахад самбар нь ижил хэмжээтэй авсаархан хэмжээтэй төрөл бүрийн өргөтгөлийн самбартай ирдэг.

Алхам 2: ESP чип дээр MicroPython -ийг бэлдэх

ESP чип дээрх MicroPython -д бэлэн болж байна
ESP чип дээрх MicroPython -д бэлэн болж байна

Энэ эхний алхамд та хийх болно

  • ESP самбарыг USB -ээр компьютерт холбоно уу
  • Чипийг анивчуулах Esptool програмыг суулгана уу
  • Чипийн санах ойг устгах
  • MicroPython програм хангамж бүхий чипийг гялалзуулна уу
  • Чиптэйгээ командын шугамын харилцан үйлчлэлийг идэвхжүүлэхийн тулд Rshell -ийг суулгана уу
  • Mpy-cross суулгах (.py файлуудыг хоёртын файлд хөрвүүлэх зорилгоор)

ТУЗ-ийг компьютерт USB-самбар ашиглан USB цуваа портоор холбох нь UART-ийг таны компьютерт ашиглах боломжийг олгодог бөгөөд үүнийг эхлүүлэх хамгийн хялбар сонголт юм. USB холболтгүй самбаруудын хувьд гадаад ертөнцтэй холбогдсон анивчих зориулалттай GPIO тээглүүрийг холбохын тулд USB -ээс цуваа руу холбосон FTDI модулийг ашиглаж болох боловч энэ зааварт тусгагдаагүй болно.

MiPy-ESP кодыг ашигладаг MicroPython-ийн хувьд чипний флаш хэмжээтэй байх хамгийн бага шаардлага нь 1MB байна. 512 кБ хэмжээтэй самбаруудад зориулсан тусгай бүтэц байдаг боловч энэ нь MiPy-ESP-ээс хамаардаг файлын системийг дэмждэггүй.

USB кабель ашиглах үед самбарыг холбосон үед таны компьютерээс тэжээл авдаг. Энэ нь мөн цуваа холболт дээр програмчлах, дибаг хийх боломжийг олгодог. Төслийн кодыг байршуулж, таны төслийг байршуулах үед самбарын цахилгаан тэжээлийн зүү дээр гадны хүчийг ашигладаг.

Esptool програм хангамжийн талаархи мэдээллийг Esptool GitHub репозитороос авах боломжтой. Хэрэв та Windows/Linux/OSX (MAC) ашиглахыг хүсвэл дээрх линк дээр мөн тусгасан болно. Python багцыг суулгаж болно

esptool -ийг pip суулгана уу

Линукс хэрэглэгчдийн хувьд Esptool -ийн багцыг Debian болон Ubuntu -д хадгалдаг бөгөөд үүнийг бас суулгаж болно

sudo apt суулгах esptool

Esptool -ийг ашигласнаар та ESP флаш санах ойг тушаалаар устгадаг

esptool.py --port /dev /ttyUSB0 erase_flash

MicroPython програмыг татаж авах MicroPython програм нь.bin файлд байрладаг бөгөөд үүнийг MicroPython вэбсайтаас татаж авах боломжтой.

Одоогийн репо төслийн мастер салбарыг туршиж үзсэн бөгөөд Micropython v.1.12 -тэй ажиллаж байна. MiPY-ESP-ийн хүрээнд амжилтанд хүрэхийн тулд 'esp8266-20191220-v1.12.bin' файлыг энэ линкээс татаж аваад firmware-ийг чип рүү дараах тушаалаар бичнэ үү.

esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = илрүүлэх 0 esp8266-20191220-v1.12.bin

Rshell багц нь чип дээр суулгасан MicroPython орчинтойгоо тушаалын мөрийн харилцан үйлчлэлийг идэвхжүүлдэг. Үүнийг энэ линкээс олж болно. Rshell бол хост дээр ажилладаг энгийн бүрхүүл бөгөөд MicroPython-ийн түүхий-REPL ашиглан файлын системийн мэдээллийг авахын тулд python-ийн хэсгүүдийг илгээж, MicroPython-ийн файлын системээс файл хуулж авдаг. REPL нь Read Evaluate Print Loop гэсэн товчлол бөгөөд та ESP8266 дээр хандаж болох MicroPython интерактив хүлээх мөрийн нэр юм. REPL -ийг ашиглах нь кодоо шалгах, командыг ажиллуулах хамгийн хялбар арга юм. Rshell -ийг дараах тушаалаар суулгана уу.

sudo pip суулгах rshell

Mpy-cross хөрвүүлэгч MicroPython-ийг суулгахдаа чип файлын системд байршуулсан ascii.py файлуудыг ашиглаж болно. MicroPython нь мөн.mpy файлуудын тухай ойлголтыг тодорхойлдог бөгөөд энэ нь урьдчилан эмхэтгэсэн кодыг агуулсан хоёртын контейнер файлын формат бөгөөд ердийн.py модуль шиг импортлох боломжтой юм.. Py файлуудыг.mpy руу хөрвүүлснээр таны ажиллаж буй кодод илүү их RAM санах ой байх болно - энэ нь MiPy -ESP системийн үндсэн модулийг ажиллуулахад шаардлагатай болно.

MiPy-ESP кодыг байршуулахын тулд mpy-cross MicroPython загалмайн хөрвүүлэгч нь чип байршуулахаас өмнө.py скриптүүдийг.mpy болгон хөрвүүлдэг. Энэ холбоос дээрх зааврын дагуу mpy-cross багцыг суулгана уу. Эсвэл, хэрэв та GitHub-аас MicroPython репозиторыг энд клон хийвэл mpy-cross командыг Python pip командаар суулгаж эсвэл mpy-cross хавтасны замаас ажиллуулж болно.

Та одоо MicroPython болон анхны MiPy-ESP төслийг эхлүүлэхэд шаардлагатай бүх хэрэгслийг суулгасан болно

Алхам 3: MiPy-ESP-ийг эхлүүлэх

MiPy-ESP-ийг ашиглаж эхлэх нь
MiPy-ESP-ийг ашиглаж эхлэх нь

Энэ алхамд та хийх болно

MyPy-ESP системийг татаж авах

MiPy-ESP төслийг татаж авах MiPy-ESP төслийг GitHub дээрээс энэ кодын санд олж болно. GitHub -аас та репозиторын файлын бүтцийг татаж авах эсвэл компьютер дээрээ хуулбарлах боломжтой

git clone

Компьютер дээрээ кодын репозиторыг суулгаснаар ESP IoT-ийн бэлэн төслийг бүтээхэд шаардлагатай бүх кодын модулиудтай боллоо. Дараагийн алхамд багажны хайрцгийн талаар дэлгэрэнгүй мэдээлэл авах болно.

Алхам 4: MiPy-ESP Framework архитектур

MiPy-ESP Framework архитектур
MiPy-ESP Framework архитектур

Энэ алхамд та хийх болно

MiPy-ESP кодын ажлын урсгалын талаар олж мэдэх

MiPy-ESP кодын архитектур

Python-ийн бүх хүрээний модулиудыг MiPY-ESP кодын сангийн /src фолдерт байрлуулсан болно. Src/core фолдер нь төсөл бүрт багтдаг үндсэн модулиудыг агуулдаг. Src/drivers фолдер нь таны чиптэй холбох янз бүрийн техник хангамжийн модулиудыг агуулдаг. Src/хэрэгслүүдийн хавтас нь таны төсөлд оруулах нэмэлт хэрэгслийн модулиудыг агуулдаг.

Main.py ба config.py файлуудыг src/ хавтаснаас олдог. Эдгээр нь таны төслийг бүтээхэд засварлах үндсэн файлууд юм.

config.py:

Энэ файл нь таны төслийн дэлхийн тохиргооны файл юм. Энэ нь янз бүрийн тохиргоотой бөгөөд бүгд файлд тайлбарласан тайлбартай байдаг.

main.py:

Энэ бол микро хянагчийн кодын давталтын гол скрипт юм. Энэ нь програмд зориулсан тусгай кодыг агуулдаг. Чип ачаалах үед main.py нь төслийн хамааралтай бүх модулийг config.py файлаас өгөгдсөн оролтоор ажиллуулж, импортлодог. Дээрх схемд main.py скриптийн байршлыг харуулав.

Дээрх зурагт main.py -ийн ажлын урсгалыг тайлбарласан болно.

  1. Ачаалах үед код нь чипийг Wi-Fi сүлжээнд холбохыг оролддог Өмнө нь ашиглагдаж байсан сүлжээнүүд болон тэдний нууц үгийг (чип дээр шифрлэсэн) флаш санах ойд хадгалдаг. Сүлжээний SSID болон тэдгээрийн нууц үгийг wifi.json файлын форматаар оруулах боломжтой {" SSID1 ":" Нууц үг "," SSID ":" Нууц үг2 "}. Энэ файлын сүлжээг хадгалж, нууц үгийг шифрлэж, ачаалах үед файлыг устгадаг.
  2. Хэрэв мэдэхгүй сүлжээ байхгүй бол код нь хандалтын цэг (AP) вэб серверийг тохируулдаг AP серверийн SSID болон нууц үгийг config.py файлд тохируулдаг. SSID чип рүү нэвтэрснээр 192.168.4.1-д Wi-Fi сүлжээнд нэвтрэх вэб хуудас нээгдэнэ. Илрүүлсэн сүлжээнүүдийг цэсэнд харуулах эсвэл SSID-ийг Wi-Fi нууц үгийн хамт гараар (далд сүлжээ) оруулах боломжтой болно.. Чипийг Wi-Fi-д амжилттай холбосны дараа AP сервер унтарч, main.py код дараагийн алхам руугаа орно.
  3. Main.py -ийн Тохиргоо хэсэгт,

    • ажлын болон дуудлага хийх функцууд (MQTT дуудлага гэх мэт) болон тогтмол үйл явдлуудыг тодорхойлдог.
    • Функцийг ажиллуулах өөр өөр цагийн ажлуудыг тохируулсан болно.
    • MQTT брокер үйлчлүүлэгч байгуулагдсан
  4. Дараа нь код нь үндсэн микро хянагчийн давталтад орно.

    • сүлжээ болон MQTT брокерын холболтыг тасралтгүй шалгаж байх,
    • MQTT захиалга,
    • тоног төхөөрөмжийн I/O
    • болон хуваарьт ажлууд.
    • Сүлжээ эсвэл MQTT брокерийн холболт алдагдсан тохиолдолд кодыг дахин байгуулахыг оролддог.

Алхам 5: Төслийн кодоо бэлтгэх

Төслийн кодоо бэлдэж байна
Төслийн кодоо бэлдэж байна
Төслийн кодоо бэлдэж байна
Төслийн кодоо бэлдэж байна

Энэ алхамд та хийх болно

  • MiPy-ESP репозиторын файлын бүтцийн талаар олж мэдэх
  • чип байршуулах төслийн кодоо бэлтгэ

Дээрх зурагт репозиторын фолдерын бүтцийг тайлбарлаж, хүрээний одоогийн модулиудыг жагсаасан болно. Таны төсөл бол src/ фолдер дахь үе шатууд юм. Core MiPy-ESP хүрээний модулиуд нь src/core, src/хэрэгслүүд дэх нэмэлт хэрэгслийн модулиуд, src/драйверуудын техник хангамжийн модулиуд дээр байрладаг.

Ихэнх боломжтой MicroPython тоног төхөөрөмжийн сангууд ямар ч өөрчлөлт оруулахгүйгээр драйвер/ фолдерт орж болно. Одоогийн бүх драйверуудыг MiPy-ESP системээр шалгасан болно. Хэрэгсэл/ фолдер дахь модулийн тухайд илүү ихийг амьдралд орж ирэх үед нэмж оруулах болно.

Төслийн тусгай кодыг src/ хавтсанд байрлуулах ёстой. Та засварлаж болох main.py болон config.py файлууд аль хэдийн бэлэн болсон байна. Мөн хүссэн төслийн хэрэгслүүдийг src/хэрэгслүүд болон src/драйверуудаас src/руу хуулж ав.

Хэрэв та мэдэгдэж байгаа Wi-Fi сүлжээ болон нууц үгээ чипэнд оруулахыг хүсвэл wifi.json файлыг src/дээр нэмнэ үү.

Өгөгдсөн Makefile нь.py файлуудыг / src дотор хөрвүүлэх, үндсэн модулиудыг эмхэтгэх, хөрвүүлсэн файлуудыг build / нэртэй шинэ хавтсанд шилжүүлэх замаар файлыг чип рүү шилжүүлэхэд бэлтгэхэд ашиглаж болно.

бүтээх

Бүтээсэн файлууд нь чип файлын системд байршуулахад бэлэн байна. Анхдагч байдлаар, main.py болон config.py нь суулгасан чипүүдийг шалгахад хялбар хандах үүднээс хоёртын файлд хөрвүүлэгддэггүй. Тушаал:

цэвэрлэх

Бүтээл/ хавтас болон түүний агуулгыг устгадаг.

Алхам 6: Кодыг эмхэтгэж микроконтроллерт байршуулах

Кодыг эмхэтгэх, микроконтроллерт байршуулах
Кодыг эмхэтгэх, микроконтроллерт байршуулах
Кодыг эмхэтгэх, микроконтроллерт байршуулах
Кодыг эмхэтгэх, микроконтроллерт байршуулах

Энэ хэсэгт та үүнийг хийх болно

  • бэлтгэсэн файлуудыг бүтээх/ сүүлийн хэсэгт байршуулах
  • ажиллаж буй кодыг эхлүүлж, хянах

Барилга/ файлуудыг Rshell ашиглан байршуулж байна

Rshell ашиглан /build лавлах дахь бүх файлыг ESP чип рүү байршуулах. USB -д холбогдсон микроконтроллерийг бүтээх/ хавтаснаас Rshell командыг эхлүүлнэ үү

rshell -p /dev /ttyUSB0

Дараа нь чип файлуудыг (хэрэв байгаа бол) шалгаж үзээрэй

ls /pyboard

Чип дээрх бүх файлыг устгах боломжтой

rm /самбар /*.*

Бүтээсэн/ төслийн бүх файлыг чип рүү хуулах:

cp *. * /pyboard

Дараа нь командын тусламжтайгаар интерактив Python терминалыг эхлүүлнэ үү

хариулах

Та одоо Python командыг дуудах эсвэл модулийг импортлох, MiPy-ESP бүртгэгч модулаас чипийн цуваа гаралтыг хянах боломжтой боллоо.

Дахин тохируулах товчлуур дээр дарж эсвэл тушаалын мөрөөс дахин чипийг дахин эхлүүлнэ үү

гол импортлох

эсвэл

импортын машин

Тэгээд

machine.reset ()

Төслийн тохиргооны файл дахь бүртгэл/дибаг хийх тохиргооноос хамааран repl нь ESP чипээс гарсан дибаг хийх зурвасуудыг цуваа холболтоор харуулах болно.

Энэ нь таныг эхлүүлэх байх гэж найдаж байна.

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