Са растућом популарношћу паметних градова, увек постоји потражња за паметним решењима за сваки домен. ИоТ је омогућио могућност паметних градова помоћу функције контроле интернета. Човек може да контролише уређаје инсталиране у свом дому или канцеларији са било ког места на свету само користећи паметни телефон или било који уређај повезан са Интернетом. У паметном граду постоји више домена, а Смарт Паркинг је један од популарних домена у паметном граду.
Индустрија паметног паркирања видела је бројне иновације као што су систем паметног управљања паркирањем, паметна контрола капије, паметне камере које могу да открију типове возила, АНПР (аутоматско препознавање регистарске таблице), систем паметног плаћања, систем паметног уласка и многе друге. Данас ће се следити сличан приступ и биће изграђено паметно решење за паркирање које ће користити ултразвучни сензор за откривање присуства возила и покретање аутоматског отварања или затварања капије. ЕСП8266 НодеМЦУ ће се овде користити као главни контролер за контролу свих периферних уређаја који су на њега прикључени.
ЕСП8266 је најпопуларнији контролер за изградњу апликација заснованих на ИоТ-у, јер има уграђену подршку за Ви-Фи за повезивање на Интернет. Раније смо га користили за изградњу многих ИоТ пројеката попут:
- Систем безбедности заснован на ИОТ-у
- Паметна разводна кутија за кућну аутоматизацију
- Систем за надзор загађења ваздуха заснован на ИОТ-у
- Пошаљите податке ТхингСпеак-у
Овде погледајте све пројекте засноване на ЕСП8266.
У овом ИоТ систему паметног паркирања, веб серверу ћемо послати податке за тражење доступности простора за паркирање возила. Овде користимо фиребасе као Иот базу података да бисмо добили податке о доступности паркинга. За ово морамо да пронађемо Фиребасе адресу хоста и тајни кључ за ауторизацију. Ако већ знате употребу фиребасе-а са НодеМЦУ, онда можете кренути даље, прво бисте требали научити да користите Гоогле Фиребасе Цонсоле са ЕСП8266 НодеМЦУ да бисте добили адресу хоста и тајни кључ.
Компоненте потребне
- ЕСП8266 НодеМЦУ
- Ултразвучни сензор
- ДЦ серво мотор
- ИР сензори
- 16к2 и2ц ЛЦД екран
- Скакачи
Кружни дијаграм
Дијаграм кола за овај систем паркирања возила заснован на ИоТ-у је дат у наставку. Укључује два ИР сензора, два серво мотора, један ултразвучни сензор и један ЛЦД 16к2.
Овде ће ЕСП8266 контролисати комплетан процес, а такође ће послати информације о доступности паркинга Гоогле Фиребасе-у, тако да их путем интернета можете надгледати било где у свету. Два ИР сензора користе се на улазној и излазној капији за откривање присуства аутомобила и аутоматско отварање или затварање капије. ИЦ сензор се користи за откривање било ког објекта слањем и примањем ИЦ зрака, овде сазнајте више о ИР сензору.
Два сервоа деловаће као улазна и излазна капија и ротирају се да би отворили или затворили капију. Коначно, ултразвучни сензор се користи за откривање да ли је паркинг место слободно или заузето и у складу са тим шаље податке на ЕСП8266. Погледајте видео запис дат на крају овог водича да бисте разумели целокупан рад пројекта.
Овако ће изгледати овај комплетни прототип Смарт паркинг система:
Програмирање ЕСП8266 НодеМЦУ за решење за паметно паркирање
Комплетни код са радним видео записом дат је на крају овог водича, овде објашњавамо комплетан програм за разумевање рада пројекта.
За програмирање НодеМЦУ, само прикључите НодеМЦУ на рачунар помоћу микро УСБ кабла и отворите Ардуино ИДЕ. Библиотеке су потребне за И2Ц екран и серво мотор. ЛЦД ће приказати доступност паркинг места, а серво мотори ће се користити за отварање и затварање улазних и излазних капија. Библиотека Вире.х користиће се за повезивање ЛЦД-а у и2ц протоколу. Прибадаче за И2Ц у ЕСП8266 НодеМЦУ су Д1 (СЦЛ) и Д2 (СДА). База података која се овде користи биће Фиребасе, па овде укључујемо и библиотеку (ФиребасеАрдуино.х) за исту.
#инцлуде
Затим укључите поверљиве податке за Фиребасе добијене од Гоогле Фиребасе-а. То ће укључивати име хоста које садржи назив вашег пројекта и тајни кључ. Да бисте пронашли ове вредности, следите претходни водич за Фиребасе.
#дефине ФИРЕБАСЕ_ХОСТ "смарт-паркинг-7ф5б6.фиребасеио.цом" #дефине ФИРЕБАСЕ_АУТХ "суАкУК4вКСРПВ7нА0зЈКВск3Х2ЛмеБДПГмфТМБХЦТ"
Укључите Ви-Фи акредитиве као што су ВиФи ССИД и лозинка.
#дефине ВИФИ_ССИД "ЦирцуитДигест" #дефине ВИФИ_ПАССВОРД "цирцуитдигест101"
Иницирајте И2Ц ЛЦД са адресом уређаја (овде је 0к27) и типом ЛЦД-а. Укључите и серво моторе за улазну и излазну капију.
ЛЦД ЛикуидЦристал_И2Ц (0к27, 16, 2); Серво мисерво; Серво мисерво1;
Покрените И2Ц комуникацију за И2Ц ЛЦД.
Вире.бегин (Д2, Д1);
Повежите улазни и излазни серво мотор са Д5, Д6 пиновима НодеМЦУ.
мисерво.аттацх (Д6); мисервос.аттацх (Д5);
Изаберите окидачки пин ултразвучног сензора као излаз и ехо-пин као улаз. Ултразвучни сензор ће се користити за откривање доступности паркинг места. Ако је аутомобил заузео простор, тада ће светлити, иначе неће светлити.
пинМоде (ТРИГ, ОУТПУТ); пинМоде (ЕЦХО, ИНПУТ);
Два клина Д0 и Д4 НодеМЦУ користе се за очитавање ИЦ сензора. ИР сензор ће деловати као улазни и излазни сензор. Ово ће открити присуство аутомобила.
пинМоде (царЕкитед, ИНПУТ); пинМоде (царЕнтер, ИНПУТ);
Повежите се на ВиФи и сачекајте неко време док се не повеже.
ВиФи.бегин (ВИФИ_ССИД, ВИФИ_ПАССВОРД); Сериал.принт ("Повезивање са"); Сериал.принт (ВИФИ_ССИД); вхиле (ВиФи.статус ()! = ВЛ_ЦОННЕЦТЕД) { Сериал.принт ("."); кашњење (500); }
Започните везу са Фиребасе-ом помоћу хоста и тајног кључа као акредитива.
Фиребасе.бегин (ФИРЕБАСЕ_ХОСТ, ФИРЕБАСЕ_АУТХ);
Започните и2ц 16к2 ЛЦД и подесите положај курсора на 0- ти ред 0- те колоне.
лцд.бегин (); лцд.сетЦурсор (0, 0);
Узмите раздаљину од ултразвучног сензора. Ово ће се користити за откривање присуства возила на одређеном месту. Прво пошаљите импулс од 2 микросекунде, а затим очитајте примљени импулс. Затим га претворите у 'цм'. Овде сазнајте више о мерењу удаљености помоћу ултразвучног сензора.
дигиталВрите (ТРИГ, ЛОВ); делаиМицросецондс (2); дигиталВрите (ТРИГ, ХИГХ); делаиМицросецондс (10); дигиталВрите (ТРИГ, ЛОВ); трајање = пулсИн (ЕЦХО, ХИГХ); удаљеност = (трајање / 2) / 29,1;
Дигитално очитајте пин ИЦ сензора као улазни сензор и проверите да ли је висок. Ако је висок, повећајте број уноса и одштампајте га на ЛЦД екран 16к2, а такође и на серијски монитор.
инт царЕнтри = дигиталРеад (царЕнтер); иф (царЕнтри == ХИГХ) { цоунтИес ++; Сериал.принт ("Цар Ентеред ="); Сериал.принтлн (цоунтИес); лцд.сетЦурсор (0, 1); лцд.принт („Цар Ентеред“);
Такође померите угао серво мотора да бисте отворили улазну капију. Промените угао према случају употребе.
фор (пос = 140; пос> = 45; пос - = 1) { мисервос.врите (пос); кашњење (5); } кашњење (2000); фор (пос = 45; пос <= 140; пос + = 1) { // у корацима од 1 степен мисервос.врите (пос); кашњење (5); }
И пошаљите читање у фиребасе помоћу функције пусхСтринг Фиребасе библиотеке.
Фиребасе.пусхСтринг ("/ Паркинг Статус /", фиреАваилабле);
Урадите сличне кораке као горе за излазни ИР сензор и излазни серво мотор.
инт царЕкит = дигиталРеад (царЕкитед); иф (царЕкит == ХИГХ) { цоунтИес--; Сериал.принт ("Цар Екитед ="); Сериал.принтлн (цоунтИес); лцд.сетЦурсор (0, 1); лцд.принт („Ауто је изашао“); за (пос1 = 140; пос1> = 45; пос1 - = 1) { мисерво.врите (пос1); кашњење (5); } кашњење (2000); фор (пос1 = 45; пос1 <= 140; пос1 + = 1) { // у корацима од 1 степен мисерво.врите (пос1); кашњење (5); } Фиребасе.пусхСтринг ("/ Паркинг Статус /", фиреАваилабле); лцд.цлеар (); }
Проверите да ли је аутомобил дошао на место за паркирање и да ли је стигао, а онда жаруљица засвета даје сигнал да је место попуњено.
иф (дистанце <6) { Сериал.принтлн ("Заузето"); дигиталВрите (лед, ВИСОКО); }
Иначе показују да је место доступно.
иф (дистанце> 6) { Сериал.принтлн ("Аваилабле"); дигиталВрите (лед, ЛОВ); }
Израчунајте укупан празан простор на паркингу и сачувајте га у низу да бисте податке послали у фиребасе.
Празно = аллСпаце - цоунтИес; Доступно = Стринг ("Аваилабле =") + Стринг (Емпти) + Стринг ("/") + Стринг (аллСпаце); фиреАваилабле = Стринг ("Аваилабле =") + Стринг (Емпти) + Стринг ("/") + Стринг (аллСпаце); Такође одштампајте податке на и2Ц ЛЦД. лцд.сетЦурсор (0, 0); лцд.принт (Доступно);
Ево како се доступност паркирања може пратити на мрежи на Фиребасе-у, као што је приказано на снимку испод:
Овим је завршен комплетан систем паметног паркирања помоћу модула ЕСП8266 НодеМЦУ и различитих периферних уређаја. Можете користити и друге сензоре као замену за ултразвучни и ИЦ сензор. Постоји широка примена паметног система за паркирање и могу се додати различити производи како би био паметнији. Коментирајте у наставку ако сумњате или контактирате наш форум за додатну подршку.