Мазмұны:

ESP8266 және ESP32 үшін Python -ды бастау: 6 қадам
ESP8266 және ESP32 үшін Python -ды бастау: 6 қадам

Бейне: ESP8266 және ESP32 үшін Python -ды бастау: 6 қадам

Бейне: ESP8266 және ESP32 үшін Python -ды бастау: 6 қадам
Бейне: Как отслеживать и контролировать ESP32 из любой точки мира с помощью RemoteXY IoT Cloud 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-мен алғашқы жобалар сериялық қосылымда AT чип командаларын іске қосу үшін Arudions көмегімен ESP-01 чипінен басталды. Осыдан кейін мен келесі жылдарда C ++ тілінде чиптерді бағдарламалау үшін ESP8266 үшін Arduino ядросын қолдандым. Бұл жақсы жұмыс істейді, бірақ Python энтузиастары үшін менің Python 3 -тің MicroPython енгізілуінің ашылуы керемет жаңалық болды.

MiPy-ESP жобасы-бұл ESP-отбасы микроконтроллерлерінде Python IoT толық жинақталған жобалары үшін MicroPython қолданатын икемді құрылым.

Бұл жүйені LeGarage Техникалық Комитетінің Бағдарламалық қамтамасыз етуді әзірлеушілер тобы (LG-TC-SWDT-01) әзірледі, біздің микроконтроллер қосымшалары үшін бұрыннан орнатылған C ++ кодын алмастыруға бағытталған.

Жоба сияқты негізгі мүмкіндіктерді қамтамасыз етеді

  • Желілік қосылу процедуралары
  • Чипке кіру нүктесінің веб -сервері (Wi -Fi қосылымы мен деректер енгізу -шығару үшін чип веб -беттеріне қызмет көрсету үшін)
  • MQTT функциялары
  • Тіркеу/жөндеу
  • Микроконтроллер оқиғаларын жоспарлау
  • Аппаратты енгізу -шығару тәртібі

Бір негізгі ықшам код сценарийімен (main.py), барлығы ғаламдық конфигурациямен (config.py).

Бұл микотонтроллер коды 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 см көлемінде 4 МБ флэш -жады, 11 цифрлық кіріс/шығыс түйреуіштері бар, барлық түйреуіштер үзілісті қолдайды, PWM, I2C, SPI, сериялық және 1 аналогты кіріс 3,3 В максималды кіріс, 5В қуатта жұмыс істей алады, микро USB қосылымы бар және панельмен үйлесімді. Төмен баға мен оның шағын өлшемі оны менің сүйікті ESP тақтасына айналдырды.

Сонымен қатар, тақтаның D1 mini pro нұсқасы сыртқы антеннаны қосуға мүмкіндік береді, қосылу ауқымын едәуір арттырады (+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 үшін чиптің флэш өлшеміне қойылатын ең төменгі талап-1МБ. Сондай-ақ, 512кБ бар тақталарға арналған арнайы құрылым бар, бірақ бұл MiPy-ESP тәуелді файлдық жүйені қолдамайды.

USB кабелін пайдаланған кезде, тақта қосылған кезде компьютерден қуат алады. Бұл сонымен қатар сериялық қосылымды бағдарламалауға және жөндеуге мүмкіндік береді. Жоба коды жүктелгенде және сіздің жобаңыз іске қосылғанда, тақтаның қоректендіру түйреуіштеріне сыртқы қуат қолданылады.

Esptool бағдарламалық жасақтамасы туралы ақпаратты Esptool GitHub репозиторийінен табуға болады. Егер сіз Windows/Linux/OSX (MAC) қолданғыңыз келсе, жоғарыдағы сілтеме де осыған қатысты. Python бумасын орнатуға болады

esptool орнатыңыз

Linux пайдаланушылары үшін Esptool пакеттері Debian мен Ubuntu үшін сақталады, сонымен бірге оларды орнатуға болады

sudo apt esptool орнатыңыз

ESP флэш жадын өшіру Esptool көмегімен сіз ESP флэш жадын пәрменмен өшіресіз

esptool.py --port /dev /ttyUSB0 erase_flash

MicroPyton микробағдарламасын жүктеу MicroPython микробағдарламасы.bin файлында орналасқан, оны MicroPython веб -сайтынан жүктеуге болады.

Репоның ағымдағы жобасының басты филиалы сыналды және Micropython v.1.12 көмегімен жұмыс істейді. MiPY-ESP шеңберінде табысқа жету үшін осы сілтемеден 'esp8266-20191220-v1.12.bin' файлын жүктеп алып, микробағдарламаны чипке мына пәрмен бойынша жазыңыз:

esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = анықтау 0 esp8266-20191220-v1.12.bin

Rshell бумасы чипте орнатылған MicroPython ортасымен пәрмен жолының өзара әрекеттесуіне мүмкіндік береді. Оны мына сілтемеден табуға болады. Rshell-бұл хостта жұмыс істейтін және MicroPython шикізат-REPL файлдық жүйе ақпаратын алу және PyroPython файлдық жүйесіне файлдарды көшіру үшін python үзінділерін жіберу үшін пайдаланатын қарапайым қабық. REPL Read Evaluate Print Loop дегенді білдіреді және бұл ESP8266 -де қол жеткізуге болатын MicroPython интерактивті шақыруына берілген атау. REPL пайдалану - кодты тексерудің және командаларды орындаудың ең оңай жолы. Rshell пәрменін орнатыңыз:

sudo pip rshell орнатыңыз

Mpy-cross компиляторын орнату MicroPython чип файлдық жүйесіне жүктелген ascii.py файлдарымен қолданылуы мүмкін. MicroPython сонымен қатар.mpy файлдарының түсінігін анықтайды, ол алдын ала құрастырылған кодты сақтайтын екілік контейнерлік файл пішімі болып табылады және оны қалыпты.py модулі сияқты импорттауға болады.. Py файлдарын.mpy файлына құрастыру арқылы сіздің жұмыс кодыңыз үшін жедел жад көп болады - бұл MiPy -ESP құрылымының жұмыс істейтін негізгі модулін алу үшін қажет.

MiPy-ESP кодын орналастыру үшін mpy-cross MicroPython кросс-компиляторы.py сценарийлерін чип жүктеу алдында.mpy-ге құрастырады. Осы сілтемедегі нұсқаулар бойынша mpy-cross пакетін орнатыңыз. Сонымен қатар, mpy-cross командасын Python pip пәрмені арқылы орнатуға немесе GitHub-дан MicroPython репозиторийін клондау кезінде 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/драйверлер қалтасында чипке қосылатын әр түрлі жабдықтарға арналған модульдер таңдалады. Src/Utility қалтасында сіздің жобаңызға қосылатын қосымша қызметтік модульдер бар.

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) веб -серверін орнатады SSID чипі мен серверінің құпия сөзі config.py файлында орнатылады. SSID чипіне кіру арқылы 192.168.4.1 микросхемасына кіруге арналған веб-бет қызмет көрсетеді. Анықталған желілер мәзірде көрсетіледі немесе SSID Wi-Fi құпиясөзімен бірге қолмен (жасырын желілер) енгізілуі мүмкін.. Чипті Wi-Fi желісіне сәтті қосқаннан кейін, AP сервері өшеді және main.py коды келесі қадамдарға өтеді.
  3. Main.py файлының Орнату бөлімінде,

    • тапсырмалар мен кері шақыруларға арналған функциялар (т.б. MQTT кері шақырулар) және тұрақты оқиғалар анықталған.
    • Функцияларды іске қосу үшін әр түрлі уақыттық тапсырмалар орнатылады.
    • MQTT брокер клиенті құрылды
  4. Содан кейін код микроконтроллердің негізгі циклына өтеді,

    • желілік және MQTT брокерлік байланыстарын үздіксіз тексеру,
    • MQTT жазылымдары,
    • аппараттық енгізу -шығару
    • және жоспарланған жұмыс.
    • Желі немесе MQTT брокерлік байланысы жоғалған кезде, код қайта орнатуға тырысады.

5 -қадам: Сіздің жоба кодын дайындау

Сіздің жобалық кодты дайындау
Сіздің жобалық кодты дайындау
Сіздің жобалық кодты дайындау
Сіздің жобалық кодты дайындау

Бұл қадамда сіз боласыз

  • MiPy-ESP репозиторийінің файл құрылымы туралы біліңіз
  • чипті жүктеуге жобаның кодын дайындаңыз

Репозиторий қалтасының құрылымы Жоғарыдағы суретте репозиторий қалтасының құрылымы сипатталған және жақтаудың ағымдағы модульдері көрсетілген. Сіздің жобаңыз src/ қалтасындағы кезеңдер. Core MiPy-ESP құрылымдық модульдері src/core, қосымша қызметтік модульдер src/қызметтік бағдарламаларда және src/драйверлердегі аппараттық модульдерде орналасқан.

Қол жетімді MicroPython аппараттық кітапханаларының көпшілігі драйверлерге/ қалтаға еш өзгеріссіз кіре алады. Барлық қазіргі драйверлер MiPy-ESP құрылымымен тексерілген. Утилита/ қалтадағы модульдерге қатысты олар өмірге келген сайын қосылады.

Жобаның кодын кезеңдеу Сіздің жобаның нақты коды src/ қалтасына орналастырылуы керек. Қазір өңдеуге болатын main.py және config.py файлдары бар. Сондай -ақ src/utilities мен src/drayver -ден src/-ке қажет жоба утилиталарын көшіріңіз.

Егер сіз чипке белгілі Wi-Fi желілері мен құпия сөздерді бергіңіз келсе, wifi.json файлын src/-ке қосыңыз.

Қарастырылған Makefile файлын / src ішіндегі.py файлдарын құрастыру, негізгі модульдерді құрастыру және құрастырылған файлдарды 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 ()

Жоба конфигурация файлындағы тіркеу/жөндеу күйге келтіру параметрлеріне байланысты, репл енді ESP чипінен жүйелік байланыс арқылы отладтау хабарларын көрсетеді.

Бұл сізді бастау керек деп үміттенемін.

Ұсынылған: