- Инсталирање АВС ИОТ уређаја за развој софтвера за Питхон на Распберри Пи:
- Кружни дијаграм:
- Програмирање вашег Распберри Пи:
- Тестирање програма питхон кроз Схелл Виндов:
- Рад:
Распберри Пи је увек био први избор за развој апликација заснованих на ИоТ-у ако је укључен неки ниво рачунања. Захваљујући флексибилности питхона и јакој заједници програмера, врло је лако прикупити, евидентирати, анализирати или пријавити скуп података користећи Пи. У овом упутству научићемо како да спојимо снагу Распберри Пи-а са услугом Амазон АВС за објављивање података на мрежи на Интернету.
У овом упутству користићемо сензор ДХТ11 за очитавање вредности температуре и влажности, затим ћемо се повезати са услугом АВС ИОТ и ажурирати вредности сензора помоћу АВС ИОТ СДК. Ови подаци се затим могу визуализовати на Амазон ИОТ конзоли како би били сигурни да податке објављујемо на Интернету.
Такође можете да користите услугу АВС Еластиц Сеарцх Сервице да бисте преузели ове сензорске долине и ускладиштили их у базу података, а затим помоћу услуге Кибана Дасхбоард приказали податке сензора као уредно исцртани графикон. Доста занимљиво? !!! Па, почнимо…
Предуслови:
У овом упутству се претпоставља да сте већ креирали свој бесплатни АВС налог и да знате основе о АВС ИоТ услузи, попут стварања ствари, сертификата, смерница и објављивања вредности помоћу ње. Ако је другачије прочитајте доњи водич.
- Први кораци са Амазон АВС ИОТ са МКТТ.фк
Такође се претпоставља да знате како повезати ЛЦД и ДХТ11 сензор са Распберри Пи, а библиотеке за то раде већ инсталиране на вашем Пи. Ако није, наставите са доњим упутством.
- Повезивање ДХТ11 са Распберри Пи
На крају горњег водича створили бисте ствар на АВС-ИОТ-у, а требали бисте имати и адресу брокера за своју ствар заједно са сертификатима потребним за приступ вашој ствари. Такође претпостављамо да је ваш Распберри пи већ постављен са ОС-ом и повезан је на Интернет. Са овим на месту, наставимо са упутством. Ако сте нови у Распберри Пи, прво прођите кроз Први кораци са Распберри пи.
Инсталирање АВС ИОТ уређаја за развој софтвера за Питхон на Распберри Пи:
Да бисмо користили АВС услугу на Пи, можемо да инсталирамо било који од два СДК-а. Један је ЈаваСцрипт СДК који користи ЈаваСцрипт као програмски језик, а други је Питхон СДК који очигледно користи питхон као програмски језик. Овде бирамо Питхон као свој СДК, јер нам је Питхон угоднији од ЈаваСцрипт-а.
Комплетне информације о АВС ИОТ СДК доступне су на његовој ГитХуб страници.
Корак 1: Да бисте инсталирали СДК на свој Пи, отворите терминал на откуцајте следећу команду
гит клон хттпс://гитхуб.цом/авс/авс-иот-девице-сдк-питхон.гит
Корак 2: Ово је требало да инсталира авс директоријум на ваш Пи, а сада се кретајте њиме помоћу следеће наредбе.
цд АВС - ИОТ -девице- СДК -питхон
Корак 3: У директоријуму инсталирајте датотеку за подешавање помоћу линије испод
питхон сетуп.пи инсталација
Кружни дијаграм:
На хардверској страни имамо Распберри Пи повезан са ДХТ11 сензором и ЛЦД екраном. ДХТ11 се користи за добијање вредности температуре и влажности, а ЛЦД за приказ вредности и информација о уклањању грешака. Шема кола за исти је приказана у наставку.
И ЛЦД и ДХТ11 сензор раде са напајањем од + 5В, тако да користимо 5В пинове на Распберри Пи за напајање оба. Отпор за повлачење вредности 1к користи се на излазном пину сензора ДХТ11, ако користите модул, овај отпор можете избећи.
Тример пот оф 10к се додаје у Вее пин ЛЦД бисте контролисали ниво контраста ЛЦД. Осим тога, све везе су прилично равне. Али забележите које ГПИО пинове користите за повезивање пинова, јер ће нам бити потребни у нашем програму. Доња табела би требало да вам омогући да откријете ГПИО бројеве пинова.
Користите графикон и успоставите везе према схеми кола. За повезивање сам користио даску за спавање и џамперске жице. Пошто сам користио модул, спојио сам га директно на Распберри Пи. Мој хардвер је изгледао овако доле
Програмирање вашег Распберри Пи:
У нашем питхон програму морамо очитати вредност температуре и влажности, приказати је на ЛЦД екрану и такође објавити обе вредности на Амазон ИОТ ствари коју смо створили већ у претходном водичу. Дакле, уверите се да сте ствар створили и да имате све три кључне датотеке и адресу посредника ствари коју сте створили.
У нашем питхон програму морамо повезати три кључне датотеке како би Распберри Пи могао добити приступ за објављивање вредности на нашој ствари. Дакле, копирајте све три кључне датотеке и залепите их на радну површину вашег Распберри пи јер ће нам бити потребна њихова адреса пута у нашем програму.
Комплетан питон Програм се може наћи на дну ове странице, можете користити програм након уређивања брокерско адреса и путања директоријума према ствар сте направили. Даље у наставку објаснио сам код у малим исечцима.
Почињемо са увозом библиотека потребних за наш пројекат. Три главне библиотеке су АВС СДК, ЛЦД библиотека и ДХТ библиотека, уверите се да сте инсталирали све три своје Пи. Време и ДатеТиме библиотека ће бити инсталиран подразумевано.
од АВСИоТПитхонСДК.МКТТЛиб увоза АВСИоТМКТТЦлиент #импорт од: АВС-пуно Либрари време увоза # бисте креирали кашњење од датетиме дана увоза, ДатеТиме #То добити датум и време увоза Адафруит_ЦхарЛЦД као ЖК #импорт ЖК библиотека увоза Адафруит_ДХТ #импорт ДХТ Библиотека за сензор
У следећем реду морамо навести детаље о ствари као што су адреса брокера, име клијента и путања до датотека сертификата и кључева. Овде сам користио име клијента као нев_Цлиент , можете користити исто или било које име по вашем избору. Адресу посредника треба променити у адресу ствари коју сте креирали, а директоријум путање такође треба променити према вашој ствари. Осим ове две ствари, у следећим редовима не морате ништа да мењате.
миМКТТЦлиент = АВСИоТМКТТЦлиент ("нев_Цлиент") миМКТТЦлиент.цонфигуреЕндпоинт ("кверт1234567иуио89.иот.ус-еаст-2.амазонавс.цом", 8883) миМКТТЦлиент.цонфигуреЦредентиалс ("/ хоме / цертификати / ЕСП / ЦА.СП32 / ЕСП. "/ хоме / пи / Десктоп / ЕСП32_Тхинг цертификати / привате.пем.кеи", "/ хоме / пи / Десктоп / ЕСП32_Тхинг цертификати / цертифицате.пем.црт") миМКТТЦлиент.цонфигуреОффлинеПублисхКуеуеинг (-1) # Бесконачно офлајн Објављивање у реду за чекање миМКТТЦлиент. цонфигуреДраинингФрекуенци (2) # Испуштање: 2 Хз миМКТТЦлиент.цонфигуреЦоннецтДисцоннецтТимеоут (10) # 10 сец миМКТТЦлиент.цонфигуреМКТТОператионТимеоут (5) # 5 сец
Даље морамо навести детаље пин-а наше везе. ГПИО број пина сваког пина додељен је одговарајућем имену. Овде смо користили ДХТ сензор на пину 17 и ЛЦД у 4-битном режиму. Код за исти приказан је испод
сенсор_наме = Адафруит_ДХТ.ДХТ11 # користимо ДХТ11 сензор сенсор_пин = 17 # Сензор је повезан на ГПИО17 на Пи лцд_рс = 7 #РС ЛЦД-а је повезан на ГПИО 7 на ПИ лцд_ен = 8 #ЕН ЛЦД-а је повезан на ГПИО 8 на ПИ лцд_д4 = 25 # Д4 ЛЦД-а је повезан на ГПИО 25 на ПИ лцд_д5 = 24 # Д5 ЛЦД-а повезан је на ГПИО 24 на ПИ лцд_д6 = 23 # Д6 ЛЦД-а повезан је на ГПИО 23 на ПИ лцд_д7 = 18 # Д7 од ЛЦД је повезан на ГПИО 18 на ПИ лцд_бацклигхт = 0 #ЛЕД није повезан па додељујемо 0
Затим иницијализујемо ЛЦД и приказујемо малу уводну поруку на ЛЦД екрану. После тога ћемо покушати да се повежемо са АВС-ом помоћу адресе брокера и датотека кључа унетих горе. Ако је веза успешна, ЛЦД ће приказати „ Цоннецтед то АВС тхинг “ или ће покушати 10 секунди, а ако није успела, приказаће се порука о грешци. Ако примите поруку о грешци, уверите се да сте ствар успешно направили и да сте је правилно повезали са кодом. Увек се можете вратити на претходни водич да бисте видели да ли сте ствар правилно креирали у АВС-у.
ако тиме.тиме () <цоннецтион_тиме: #покушајте да се повежете са АВС на 10 секунди миМКТТЦлиент.цоннецт () миМКТТЦлиент.публисх ("ДХТ11 / инфо", "цоннецтед", 0) испиши "МКТТ Цлиент цоннецтион цоннецтион!" лцд.мессаге ('Цоннецтед то \ н АВС тхинг') #иф цоннецтед елсе: принт "Грешка: Провери детаље АВС-а у програму" лцд.мессаге ('Грешка: \ нНеважећи детаљи') #ико није повезан
Када је веза успешно успостављена, улазимо у бесконачне вхиле петље да објави вредност времена, температуре и влажности ваздуха као корисног терета. Корисни терет овде увек треба да буде низ у ЈСОН формату. Дакле, прво смо читајући тренутни датум и време и чувајући га у променљивој помоћу доњих редова
нов = датетиме.утцнов () #гет дате анд тиме цуррент_тиме = нов.стрфтиме ('% И-% м-% дТ% Х:% М:% СЗ') #гет тренутно време у формату низа
Затим очитамо вредности влажности и температуре са сензора ДХТ11 и приказујемо их на ЛЦД екрану. Променљива влажност и температура задржаће вредност влажности, односно температуре
влажност, температура = Адафруит_ДХТ.реад_ретри (име_сензора, сензор_пин) #читај са сензора
и сачувајте одговарајуће вредности у променљивој температури и влажности
лцд.цлеар () # Очистите ЛЦД екран лцд.мессаге ('Темп =%.1ф Ц'% температуре) # Прикажите вредност температуре лцд.мессаге ('\ нХум =%.1ф %%'% влажности) #Дисплаи вредност времена влажности.спавање (2) # Сачекајте 2 секунде, а затим ажурирајте вредности
Као што је раније речено, корисни терет треба да буде у облику низа са коврџастим заградама око њега, додајемо вредност датума, времена, температуре и влажности након претварања променљиве у низове као што је приказано доле.
#препаре паилоад у стринг формату паилоад = '{"тиместамп": "' + цуррент_тиме + '", "температуре":' + стр (температура) + ', "влажност":' + стр (влажност) + '}'
Коначно, када је носивост спремна, морамо је објавити на МКТТ клијенту. То се може учинити помоћу команде миМКТТцлиент.публисх . Док објављујемо на нечему што бисмо такође требали да му дамо име, овде сам га назвао ДХТ11 / дата, али можете му дати било шта што желите. Али обавезно упамтите име јер ћемо морати да се претплатимо на нашу ствар да бисмо видели податке.
Тестирање програма питхон кроз Схелл Виндов:
Када је програм спреман, покрените га користећи ваш избор. Користио сам Питхон ИДЕ за покретање програма на прозору љуске. Ако је све у реду, требало би да успоставите везу са поруком успешно и сав корисни терет треба да буде приказан на прозору. Можете да проверите да ли се вредности температуре и влажности правилно очитавају. Корисни терет ће се ажурирати сваких 5 секунди. Прозор љуске ће изгледати отприлике овако у наставку
Ако имате било каквих проблема, уверите се да сте дали тачне кључне детаље и адресу брокера, такође проверите да ли се ствар може повезати помоћу софтвера МКТТ.фк. Ако љуска приказује успјех МКТТ клијентске везе и виси тамо, то значи да ДХТ11 сензор не реагира провјерите да ли сте се повезали с исправним пином и да ли је сензор функционалан.
Рад:
Једном када покренете програм и добијете горе наведене детаље на прозору љуске, то значи да програм правилно реагује и вредности се преносе на Амазон АВС сервер. Такође можете да приметите да ЛЦД екран провери да ли пише Објављено у АВС-ИоТ сваких 5 секунди, као што је приказано доле.
Можемо ући у апликацију МКТТ.фк и претплатити се на тему ДХТ11 / подаци . Тада бисмо требали бити у могућности да добијемо све податке које објављује Распберри Пи. Ови подаци ће се такође ажурирати на сваких 5 секунди; екран вашег МКТТ ће изгледати отприлике овако у наставку
Као што видите, корисни терет се прима на МКТТ софтвер означен плавом бојом. Такође можете погледати видео испод како бисте знали како пројекат функционише. Од сада имамо своје податке на Интернету, можемо их користити са другим алатима које пружа Амазон, попут Еластиц сеарцх-а и Ламбда-е, за чување података у бази података или визуализацију затим на графикону. Постоји много више апликација, заснованих на томе како морамо да имамо користи од података.
Надам се да сте разумели туторијал и уживали сте у стварању нечег сличног, ако имате било какав проблем да то урадите, објавите га у одељку за коментаре испод или користите форуме за техничку помоћ.