Мазмұны:
- Жабдықтар
- 1 -қадам: Аппараттық блок
- 2 -қадам: Схема
- 3 -қадам: Firebase туралы
- 4 -қадам: Нақты уақыттағы мәліметтер базасы
- 5 -қадам: Firebase функцияларын орнату
- 6 -қадам: код
- 7 -қадам: Қосымша қадам (қоршау салу)
- 8 -қадам: Әрекетте…
- 9 -қадам: әрі қарай жылжу …
Бейне: Mappifier - Mapping + Notification System: 9 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Түнгі көлік жүргізу өте қызықты. Бірақ көбінесе бұл жолды кесіп өтетін жануарлар түріндегі қорқынышты түс болып шығады (әсіресе, олар сені қасынан өтуі үшін олардың қасында жүруді күтетін қаңғыбас мысықтар мен иттер !!). Мен осылайша осал жерлерге жақындағанда, көлік жүргізуге мұқият болу үшін сізге ескертетін нәрсе жасауды ойладым.
Жүйе екі бөліктен тұрады: Деректерді жинау және Деректерді алу. Бірінші бөлімде орналасқан жер туралы мәліметтер, яғни жануарлардың өтуі ықтималдығы жоғары орындар бар. Бұл деректер қолмен қосылып, картада жаңартылуы керек. Соңғы бөлім біздің қазіргі орналасқан жерімізді алады, содан кейін оны жиналған деректермен салыстырады және тиісті хабарламалар немесе ескертулер беріледі.
Жабдықтар
Қолданылған жабдық
ESP8266 WiFi дамыту тақтасы
Ublox NEO-6M GPS модулі
Жарық диодтары
Бір мезетте басу түймесі
Қолданылған бағдарламалық қамтамасыз ету
Arduino IDE
Кез келген JavaScript редакторы
Firebase (деректерді сақтауға және алуға арналған)
1 -қадам: Аппараттық блок
Аппараттық құрал екі тәсілмен (режимде) жұмыс істеуі үшін қажет: 1) Орналасқан жерді Деректер қорында сақтау: Бұл мәліметтерді жинау процесінің негізгі бөлігі; GPS модулімен алынған орын ESP8266 WiFi әзірлеу тақтасы арқылы от базасының мәліметтер базасына жіберіледі.
2) Навигация кезінде хабарландырулар беріңіз: Навигация кезінде ағымдағы орын алынады және дерекқорға жіберіледі. Орналасқан жерді әр жаңартқан кезде, ағымдағы орын мен сол жерлер арасындағы қашықтық (деректерді жинау процесінде сақталған) есептеледі және ESP8266 модулі арқылы қалпына келтіріледі, содан кейін пайдаланушыға сақталатын орындардың қаншалықты жақын екендігі туралы ескертеді.
Мен режимдердің өзгеруі туралы хабарлау үшін үш жарықдиодты қостым, сонымен қатар дерекқорды сәтті жаңарттым және пайдаланушының сақталған орынға жақындығы туралы ескерту шамы.
Басу түймесі орналасқан жерді бір рет басу арқылы (сақтау/деректерді жинау режимінде) сақтау үшін, сондай -ақ осы режимдер арасында ауысу үшін қолданылады.
Қуат беру
Бастапқыда 3,7 В 300 мАч Lipo аккумуляторы қолданылды, бірақ ол кейбір қиындықтар туғызды. Негізгі мәселе ESP8266 қалпына келтіру болды (ағымдағы көтерілулерге байланысты болуы мүмкін). Сонымен қатар, батарея ұзақ уақыт жұмыс істемеді. Ақыры қуат банкі маған көмекке келді.
2 -қадам: Схема
3 -қадам: Firebase туралы
Firebase - бұл Google -ге тиесілі мобильді және веб -қосымшаларды әзірлеу платформасы. Оның көптеген мүмкіндіктері бар, бірақ мен мұнда тек екеуін ғана қолданамын, нақты уақыт базасы мен бұлтты функциялар.
Firebase -те бастау үшін, 1. Алдымен firebase веб -бетіне өтіңіз.
2. Енді консольге өтіп, жаңа жоба жасау түймесін басыңыз.
3. Жобаны құру үшін басқа да мәліметтермен бірге жобаның атын көрсету қажет.
4. Жоба жасалғаннан кейін, жаңа деректер қорын жасау үшін бүйірлік тақтадан дерекқор опциясын нұқыңыз.
5. Функциялар үшін де солай жасаңыз.
Бұл жобаны құрудың жалпы қадамдары, firebase жақсы құжатталған және жаңадан бастаушыларға арналған youtube -те көптеген видео сериялар бар, толығырақ түсіну үшін өтіңіз.
4 -қадам: Нақты уақыттағы мәліметтер базасы
Деректер қорын құрғаннан кейін, келесі қадам - мәліметтер қорындағы мәліметтердің қалай сақталатынын және оларға қол жеткізуге болатынын көру. Мәліметтер қорына жазу/оқу үшін дерекқор ережелерін конфигурациялау қажет. Әзірлеу мақсатында біз ашық ережені қолдана аламыз, осылайша дерекқорға сілтеме бар кез келген адам оқи алады/жаза алады, бірақ ережелерді конфигурациялауда абай болыңыз. Берілгендер деректерді JSON форматында сақтайды және барлық қосылған құрылғылармен синхрондалады. Сіз бала түйіндерін '+' белгісі арқылы қоса аласыз, бірақ түйіндерді бағдарламалық түрде де құруға болады. Біз дерекқорға «сақтау» режимінде (жиналған орынды сақтау) жүктейтін барлық деректер осында бөлек түйіндер ретінде сақталады, ал «хабарландыру» режиміндегі деректер (шарлау кезінде деректерді алу) әр уақытта жаңартылады (суретті қараңыз).
5 -қадам: Firebase функцияларын орнату
Бізге ағымдағы орналасқан жердің сақталатын орындарға жақындығын есептеу үшін бірдеңе қажет, ал фондық базаның іске қосылған функциялары біздің жұмысымызды атқарады. Функциялар JavaScript -те жазылған және оны от базасына орналастыру қажет.
Компьютерде node.js орнатылуы керек.
1) Енді пәрмен жолындағы «npm install -g firebase -tools» пәрменін пайдаланып firebase пәрмен жолы интерфейсін жүктеңіз.
2) Енді сіз firebase -ке «firebase login» пәрменін пайдаланып кіруіңіз керек (егер сіз әлі кірмеген болсаңыз, Gmail -ге кіру құпия сөзін енгізуіңіз керек)
3) Осыдан кейін жоба каталогына өтіңіз және «firebase init» пәрменімен функцияны іске қосыңыз. Сіз өзіңіздің жобаңыз үшін от базалық функцияларын іске қосу үшін «функциялар» опциясын таңдауыңыз керек.
4) Енді сіз өзіңіздің жоба каталогыңыздағы 'функциялар' қалтасына өтіп, 'index.js' файлын табуыңыз керек.
5) Файлды мәтіндік редактормен өңдеңіз және файлды өңдеңіз/файлды mappifier_function.txt файлымен алмастырыңыз. (Бұл біздің функция болар еді)
6) Соңында пәрмен жолында «firebase deploy» көмегімен функцияны қолданыңыз.
Сіз бұл функцияның Firebase консоліндегі функция мәзірінде орналасқанын тексере аласыз
6 -қадам: код
ESP8266 үшін:
Тақта WiFi мен Firebase -ке тіркелгі деректерін қолданып қосылады және батырманың басылуын күтеді. Түймені басу ұзақтығына сәйкес әр түрлі режимдер іске қосылады. Деректерді жинау режимінде (оны «сақтау» режимі деп атайық), әр түймені басу деректерді іздеу режимінде («хабарландыру режимі») ағымдағы орнын дерекқорға жіберуге әкеледі, ағымдағы орын дерекқорға жіберіледі. және қашықтық дерекқордан автоматты түрде алынады. Мен светодиодтарды ескертуге (белгіленген орынға жақындау) және хабарландыруға (GPS түзету, WiFi байланысы, дерекқордың сәтті жазылуы, режимді өзгерту және т.б.) қостым.
Firebase функциясы үшін:
Бұл функция дерекқордағы «ағымдағы орын» түйініне жазуды тексереді және мәліметтер базасындағы орындар мен ағымдағы орын арасындағы қашықтықты есептейді, содан кейін дерекқордағы «қашықтық» түйініне жазылған ең кіші қашықтықты табады.
Бағдарламаны жүктемес бұрын Wi -Fi тіркелгі деректерін және Firebase аутентификация тіркелгі деректерін қосуды ұмытпаңыз. (Суреттерді қараңыз). Сонымен қатар, егер сіз ESP8266 -да жаңадан болсаңыз және оларды Arduino IDE -де кодтағыңыз келсе, оларды қараңыз.
7 -қадам: Қосымша қадам (қоршау салу)
Аппараттық бөлік жиналатындай етіп жинақы болу үшін мен оларды ішіне сыйғызатын шағын қоршау жасадым. Светодиодты орнату және USB кабелін жалғау үшін бірнеше тесік жасалды. Бірақ соңғы қоршау мен күткеннен де асып түсті !! Ол менің алақанымның ішіне мінсіз қондырылған, оны велосипед тұтқасына және рульге оңай орнатуға болады.
8 -қадам: Әрекетте…
Мұнда ескерту және хабарландыру жарық диодтары бар екі режимді (сақтау және хабарландыру) көрсететін шағын бейне.
9 -қадам: әрі қарай жылжу …
Бұл жүйені әр түрлі мақсаттарда қолдануға болады, мысалы, қазіргі сценарийді ескере отырып, егер сіз аурудың таралу орнын біле алсаңыз және оны мәліметтер базасында сақтай алсаңыз, сол жүйеге жақын болған кезде ескерту беріледі. Бірақ мен жүргізушілерге абай болу үшін және көптеген жануарларды жазатайым оқиғалардан құтқару үшін әлемнің түкпір -түкпірінен жануарлардың өтуі туралы мәлімет алуды ойлаймын. Мен жиналған барлық деректер бар қарапайым веб -бетті жасадым (бірақ әлі орналастырылмаған). Бұл мен серуендеу немесе велосипедпен жүру кезінде жинаған деректер (жолдың бойында мысық пен итті кездестіруге бейім болғандықтан), бірақ мұны жүзеге асыру үшін бізге көбірек деректер қажет.
Мен веб -беттерді (негізінен javascript) және басқа материалдарды жасауда өте жаңашылмын және сіздің ұсыныстарыңыз бен тәжірибеңізді алғым келеді:)