- Шта је МицроПитхон?
- Зашто МицроПитхон за НодеМЦУ?
- Шта је ЕСП8266 (НодеМЦУ)?
- Коришћени хардвер
- Инсталирање фирмвера МицроПитхон за ЕСП8266
- Комуникација са НодеМЦУ са ПуТТИ
- Отпремање блинк кода заснованог на Питхон-у помоћу Ампи-а
- МицроПитхон на ЕСП8266: Добивање температуре и влажности помоћу ДХТ22
За почетнике који су заинтересовани за програмирање микроконтролера са омогућеном Ви-Фи-ом попут ЕСП8266, разумевање програмског окружења ЕСП-ИДФ или Ардуино ИДЕ може бити застрашујући задатак, криптична синтакса језика Ц и Ц ++ захтева више знања из рачунарске науке која је зашто ти језици нису увек пријатни за почетнике, па ћемо у овом чланку научити да поставимо и програмирамо ЕСП8266 са МицроПитхоном, а на крају ћемо податке о температури и влажности добити из свог омиљеног сензора температуре и влажности ДХТ22. Претходно смо направили и водич о томе како програмирати ЕСП32 помоћу Мицро Питхона, то такође можете проверити ако вас занима.
Шта је МицроПитхон?
Можемо рећи да је МицроПитхон верзија питхона изрезана на коцкице, дизајнирана за рад са микроконтролерима и уграђеним системима. Синтакса и процес кодирања МицроПитхона подсећа на питхон. Дакле, ако већ знате питхон, већ знате како да напишете свој код користећи МицроПитхон. Ако сте љубитељ Питхона, можете погледати овај чланак.
МицроПитхон је развио у Великој Британији, тим који је водио Дамион Јонес, а они су покренули Кицкстартер док су били тамо, где су покренули одређени скуп развојних плоча који би радили на фирмваре-у, што вам омогућава да на њему покренете МицроПитхон, фирмвер је сада пренесен да ради на ЕСП8266, што ћете научити у овом чланку.
Зашто МицроПитхон за НодеМЦУ?
Питхон је један од најчешће коришћених и до данас једноставан за учење програмских језика. Дакле, увођењем МицроПитхона, програмирање микроконтролера заснованих на хардверу постало је врло лако. Ако никада раније нисте програмирали микроконтролер и желите да почнете да учите да програмирате, МицроПитхон је добар почетак.
МицроПитхон користи уклоњену верзију стандардних библиотека Питхон, тако да све стандардне библиотеке нису доступне. Али, МицроПитхон укључује једноставне и једноставне за употребу модуле за повезивање са хардвером, што значи да је уз помоћ МицроПитхона читање и уписивање у ГПИО регистар постало једноставније.
Крајњи циљ МицроПитхона је да програмирање микроконтролера учини што једноставнијим, тако да га свако може користити. Са МицроПитхон увозом библиотека и писањем кода постаје лако, код приказан доле је једноставан пример који трепће на уграђеној ЛЕД плочи НодеМЦУ, о чланку ћемо детаљно разговарати након чланка.
из машинског увоза Пин из времена увоза слееп ЛЕД = Пин (2, Пин.ОУТ) док је Труе: ЛЕД.валуе (не ЛЕД.валуе ()) слееп (0.5)
Шта је ЕСП8266 (НодеМЦУ)?
ЕСП8266 је јефтини Ви-Фи модул, дизајниран за апликације повезане са Интернетом ствари (ИоТ).
Испоручује се са опционим улазним и излазним пиновима (ГПИО), а такође подржава низ често коришћених протокола као што су СПИ, И2Ц, УАРТ и други. Али, најбоља карактеристика овог микроконтролера је што има уграђени Ви-Фи. Помоћу њега се врло лако можемо повезати на било који Ви-Фи од 2,4 ГХз.
Сада су основе изван начина на који можемо прећи на практични део где ћемо вам показати потребан хардвер и поступак инсталирања МицроПитхона на ЕСП8266 ИЦ.
Коришћени хардвер
Списак коришћених материјала
- 1 к Бреадбоард
- 1 к ЕСП8266 (НодеМЦУ)
- 1 к ДХТ22 (сензор температуре и влажности)
- 1 к 3 мм ЛЕД (диода која емитује светлост)
- 1 к 1К отпорник
- 5 к краткоспојна жица
Инсталирање фирмвера МицроПитхон за ЕСП8266
У овом чланку постоје два начина за инсталирање фирмвера МицроПитхон на ЕСП8266. Разговараћемо о обојици, али прво га морамо преузети.
Преузимање МицроПитхон фирмвера за ЕСП8266:
Пре него што повежемо плочу НодеМЦУ (ЕСП8266) са нашим рачунаром, потребно је да преузмемо најновију верзију МицроПитхон-а, након чега можемо инсталирати фирмвер на НодеМЦУ, можете га преузети са званичне странице за преузимање Мицропитхон-а
Инсталирање фирмвера МицроПитхон на ЕСП8266:
Пре него што можемо да инсталирамо фирмвер на ЕСП8266, морамо да се уверимо да имамо одговарајући погон за УСБ у серијски претварач, већина плоче НодеМЦУ користи ЦП2102 УСБ у УАРТ претварач ИЦ, због чега морамо да преузмемо и инсталирамо управљачки програм за ЦП2102 претварач УСБ у УАРТ, Једном када се погон преузме и инсталира, морамо да преузмемо есптоол, алатку засновану на питхону направљену за читање и писање фирмвера на ЕСП8266.
До Питхона је најлакше доћи преко Мицрософт Сторе-а, одатле треба да преузмете и инсталирате копију Питхона. Једном када је Питхон инсталиран, можемо користити наредбу пип3 инсталл есптоол да инсталирамо есптоол. Процес ће изгледати попут нечега на слици испод.
Једном инсталиран, проверите да ли приступате есптоол-у са командног терминала.
Да бисте то урадили, само покрените команду, есптоол.пи верзија, ако добијете прозор попут слике испод, успешно сте инсталирали есптоол на свој Виндовс рачунар.
А ако имате проблема са приступом есптоол-у из командног прозора, покушајте да додате целу путању инсталације у променљиву Виндовс окружења.
Проналажење ПОРТ-а додељеног за НодеМЦУ одбор:
Сада морамо да откријемо додељени порт за НодеМЦУ плочу, да бисмо то урадили, само уђите у прозор вашег менаџера уређаја и потражите опцију звану Портс ако проширите да бисте могли да сазнате порт повезан са НодеМЦУ плочом. Нама изгледа као слика приказана доле.
Брисање флеш меморије са ЕСП8266:
Сада смо схватили придружени ЦОМ порт, можемо припремити НодеМЦУ модул брисањем његове флеш меморије. Да би то учинили, користи се следећа команда, есптоол.пи --порт ЦОМ6 ерасе_фласх . Процес ће изгледати отприлике као на слици испод.
Инсталирање фирмвера:
Покретањем следеће наредбе инсталираће се МицроПитхон бинарни систем на НодеМЦУ плочу, након што га инсталирамо, омогућићемо да отпремимо наше питхон програме и комуницирамо са петљом Реад Евалуате анд Принт .
есптоол.пи --порт ЦОМ6 --боуд 460800 врите_фласх --фласх_сизе = открити 0 есп8266-20200911-в1.13.бин
Процес ће изгледати слично слици испод,
Имајте на уму да је у време инсталације бинарни фајл био на мојој радној површини, тако да имам ЦД на радној површини и покрећем команду.
Сада је то готово, време је за комуникацију са плочом и трептање неких ЛЕД диода.
Комуникација са НодеМЦУ са ПуТТИ
Сада започнимо наш први програм Хелло Ворлд користећи ПуТТИ, ПуТТИ да бисмо то учинили, потребно је да поставимо тип везе као Сериал, затим поставимо Сериал линију (у нашем случају ЦОМ6), и на крају, поставимо Спеед на 115200 бауд.
Ако је све урађено исправно, појавиће се прозор сличан доњој слици и у њега можемо лако да напишемо наш код, то обично ради као иПитхон терминал. Такође, покренули смо наш први здрави светски програм који се састоји од само две једноставне линије, а након што смо ставили изјаву за штампу, добили смо одговор.
Отпремање блинк кода заснованог на Питхон-у помоћу Ампи-а
Приступ МицроПитхону уз помоћ ПуТТИ терминала је добар начин за комуникацију са ЕСП модулом, али још један једноставан начин је учитавање кода путем алата Адафруит Ампи, за инсталирање ампи-а можемо једноставно покренути једноставну пип3 инсталл адафруит- ампи и инсталираће ампи на наш рачунар. Процес ће изгледати отприлике као на слици испод.
Кад то једном добијете, и даље су нам потребне информације о серијском порту на који смо повезани. У нашем случају то је ЦОМ6. Сада само треба да напишемо наш ЛЕД Блинк код са МицроПитхон-ом, за то смо користили водич наведен на званичној веб локацији мицро питхон
Уз помоћ водича прави се следећи код.
из машинског увоза Пин из времена увоза слееп ЛЕД = Пин (2, Пин.ОУТ) док је Труе: ЛЕД.валуе (не ЛЕД.валуе ()) слееп (0.5)
Код је врло једноставан. Прво, увозимо библиотеку Пин са машине. Пин цласс. Даље, морамо увести временску библиотеку која се користи за функцију одлагања. Даље, поставили смо Пин2 (који је уграђена ЛЕД везана за модул ЕСП12Е) као излаз. Даље, поставили смо петљу у којој укључујемо и искључујемо ЛЕД са кашњењем од 500 мс.
Тако учитавате код на НодеМЦУ. Да бисте то урадили, потребно је да покренете следећу команду ампи , ампи --порт ЦОМ6 ставите маин.пи
Ако се изврши исправка програма, видећете ЛЕД како трепће као што је приказано доле.
Напомена: Током отпремања кода, поставио сам тренутну локацију упита на радну површину, тако да нисам морао да наведем пуну путању за датотеку маин.пи ако то није случај, јер је потребно да наведете пуну путању за главни.пи датотеку.
Затим прелазимо на добијање података о температури и влажности са сензора ДХТ22.
МицроПитхон на ЕСП8266: Добивање температуре и влажности помоћу ДХТ22
Шема за повезивање ДХТ22 са НодеМЦУ:
Комплетна шема кола за овај пројекат налази се у наставку. Користио сам фритзинг за стварање овог кола.
Као што видите, склоп је врло једноставан и лако се може изградити на плочи уз помоћ краткоспојних жица. Комплетна кола се могу напајати помоћу микро-УСБ порта на НодеМЦУ. Моје подешавање хардвера је приказано у наставку.
Шифра:
Врло је лако добити податке о температури и влажности са ДХТ22 или ДХТ11 сензора помоћу МицроПитхон-а, јер фирмваре МицроПитхон који смо раније инсталирали долази са уграђеном ДХТ библиотеком.
1. Наш код започињемо увозом ДХТ библиотеке и пин библиотеке из машинске класе.
импорт дхт фром мацхине импорт Пин
2. Затим креирамо ДХТ објекат који се односи на пин, у који смо прикључили наш сензор.
сензор = дхт.ДХТ22 (пин (14))
3. На крају, да бисмо измерили вредност сензора, морамо да користимо следеће три команде.
сенсор.меасуре () сенсор.температуре () сенсор.хумидити ()
За коначни код, стављамо га у вхиле петљу са и исписујемо вредности које означавају крај нашег кода. Такође, сензору ДХТ22 требају 2 секунде пре него што може да прочита било које податке, па морамо да додамо кашњење од 2 секунде.
из машинског увоза Привремени привремени увоз успавани увоз дхт дхт22 = дхт.ДХТ22 (прибадача (14)) док је Труе: три: слееп (2) дхт22.меасуре () темп = дхт22.температуре () хум = дхт22.хумидити () принт ('Температуре:% 3.2ф Ц'% темп) принт ('Влажност:% 3.2ф %%'% хум), осим ОСЕррор ас е: принт ('Није успело читање података са сензора ДХТ22.')
Када завршимо са кодирањем, можемо да учитамо код уз помоћ команде ампи.
ампи --порт ЦОМ6 ставите маин.пи
Након успешног извршавања кода, можете да пратите вредности температуре и влажности на било ком серијском монитору. Користио сам кит и као што видите доле, успео сам да примим вредности температуре и влажности на ЦОМ5.
Надам се да сте уживали у чланку и научили нешто корисно. Ако имате било каквих питања, можете их оставити у одељку за коментаре испод или користити наше форуме да бисте поставили друга техничка питања.