Съдържание:

Пълна базирана на Arduino GPS+GPRS система против кражба на превозни средства: 5 стъпки (със снимки)
Пълна базирана на Arduino GPS+GPRS система против кражба на превозни средства: 5 стъпки (със снимки)

Видео: Пълна базирана на Arduino GPS+GPRS система против кражба на превозни средства: 5 стъпки (със снимки)

Видео: Пълна базирана на Arduino GPS+GPRS система против кражба на превозни средства: 5 стъпки (със снимки)
Видео: ET082 - GSM GPRS коммуникатор 2024, Юли
Anonim
Image
Image
Хардуерът
Хардуерът

Здравейте всички!

Исках да изградя цялостно решение за устройство против кражба на автомобил с GPS, което би било:

възможно най -евтино

възможно най -пълно

тъй като тя просто работи, няма какво друго да правите

Така че в крайна сметка създадох решение на базата на Arduino, което ми струваше общо 25 $, повече или по-малко.

Както можете да видите от видеото, просто работи! Запалвате колата, получавате известие на мобилния си телефон, че колата се движи, след това отваряте мобилното приложение и можете да видите колата да се движи в реално време (с 10 секунди забавяне на актуализацията).

Този урок ще ви води през всички стъпки, като имате предвид, че в решението има няколко компонента:

1) хардуерът (базиран на Arduino)

2) софтуерът (програмата Arduino)

3) повече софтуер (получаване на GPS местоположения от страна на сървъра)

4) още повече софтуер (мобилното приложение)

Да започваме..

Стъпка 1: Хардуерът

Хардуерът
Хардуерът

Списък за пазаруване:

1) Arduino Uno R3 или клон. Използвах клона "DCcEle DCcduino uno", който изглежда вече не е наличен. Ето еквивалент: на Aliexpress - 3,75 $

2) GPS устройство за Arduino (GY-NEO6MV2 нов GPS модул с Flight Control Flight Control EEPROM MWC APM2.5 голяма антена NEO6MV2). Използвах това: на Aliexpress - 6.66 $

3) GPRS / GSM устройство за Arduino (SIM800L V2.0 5V безжичен GSM GPRS МОДУЛ Quad-Band W / Антенна кабелна капачка). Използвах това: на Aliexpress - 6.71 $

4) Резервни кабели dupont като тези: на Aliexpress - 0,89 $

5) SIM карта за данни на IoT (или всяка друга сим карта с връзка за данни). Използвах това: от Hologram.io. Имам безплатен такъв за разработчици, само платена доставка - 7,50 $

Общо: 25,51 $, но вече имах кабелите, така че е по -малко от 25 $!

Двете снимки показват компонентите преди сглобяването и крайния продукт. Връзките, които трябва да направите са:

Arduino - SIM800L

10 - ВЪЗСТАНОВЯВАНЕ

GND - GND (2 от тях)

5v - 5v

7 - SIM_TXD

8 - SIM_RXD

Arduino-GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

Свържете всички кабели и антени и се уверете, че захранвате Arduino от източник, който може да ви даде пикове от 2A. Компютърният usb едва е наред (използвам MacBook Pro), "произволно" зарядно за телефона няма да е достатъчно. Повечето usb изходи на автомобили също са по -малко от 1А. Ако това е вашият случай, имате нужда и от 12v автомобилно 5v захранване с поне 2A.

Поставете сим картата. Ако използвате сим картата Hologram.io, уверете се, че сте се регистрирали на таблото им за управление и активирате сим картата (това отнема няколко минути / часове).

Стъпка 2: Софтуерът (програма Arduino)

Софтуерът (Програма Arduino)
Софтуерът (Програма Arduino)

Предполагам, че сте запознати с програмирането на Arduino. В противен случай, моля, започнете с това ръководство: на Instructables.

Имате нужда само от една външна библиотека, трябваше да я инсталирам ръчно. Отидете тук: TinyGPS, експортирайте библиотеката и я инсталирайте в локалната си папка Arduino.

Оттам нататък ще „откраднем“някакъв код от основния им пример и ще го променим според нашите цели.

След това ще „откраднем“от това ръководство и ще променим кода отново за нашите цели.

Резултатът е приложената.ino програма.

Има няколко неща, които можете и трябва да промените:

дефиницията "SECONDS" и "SERVER".

Зададох SECONDS на 10 и ето защо: Програмата за разработчици Hologram.io ви дава 1 МБ безплатни данни на месец. Това означава, че искаме да сведем до минимум изпратените байтове, но също така трябва да актуализираме позицията си толкова често. Ще използваме стандартни AT модемни команди, за да изпращаме UDP пакети до нашия сървър, който получава съобщенията, с lat/lon, всеки използва 4 байта, а скоростта използва 1 байт. Така че общата актуализация на gps е 20 байта (IP заглавка) плюс 8 байта (UDP заглавка) плюс 9 байта (полезен товар). Това е 37 байта. Ако приемем, че колата ми е активна не повече от 2 часа на ден, мога да си позволя актуализация на всеки 10 секунди и да консумирам само 806 KB на месец (31 дни). Това ми дава 218kb за времето за шофиране над моето собствено, тоест крадецът на автомобили. Което ми дава 16,76 часа GPS наблюдение извън времето ми за шофиране, с една актуализация на всеки 10 секунди.

Сега тези UDP пакети трябва да отидат някъде. Използвам сървър на Ubuntu, хостван в облак CloudAtCost, който купих за 8 $ с 80% отстъпка и който ми служи за други цели, като по този начин не влиза в изчисленията на разходите. Ако не искате да плащате за сървър, можете да получите безплатен екземпляр на Amazon AWS за 12 месеца и да инсталирате Ubuntu на него. След като настроите сървъра си (вижте следващата стъпка), вземете неговия статичен IP адрес и го поставете до дефиницията на SERVER.

Стъпка 3: Още софтуер (получаване на GPS местоположения от страна на сървъра)

И CloudAtCost, и Amazon идват с предварително конфигурирано изображение на Ubuntu (CloudAtCost е в Ubuntu 14.04). Така че няма да минавам през стъпките за инсталиране на Ubuntu, тъй като няма да се налага. Ако използвате CloudAtCost, може да искате да надстроите до Ubuntu 16.04, това е направено с

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

След това трябва да инсталирате LAMP (вижте това ръководство: тук), въпреки че няма да използваме PHP.

Инсталирайте Python с

sudo apt-get install python-minimal pip

След това добавете няколко модула:

pip install --user urllib3 искания

Трябва да зададем /var /www за писане от вас, така че нека направим:

sudo adduser YOUR_USER www-datasudo chown -R www-данни: www-data /var /www

sudo chmod -R g+rwX /var /www

Сега се нуждаем от „сървър“, за да i) получаваме UDP пакетите, ii) да изграждаме пистата, iii) да изпращаме известие до нашия мобилен телефон и „сървър“, който да обслужва създадената gps писта (това ще е apache).

За първия сървър копирайте прикачения код на python. Трябва да конфигурирате следните неща:

iftttuser = "ВАШИЯТ ПОТРЕБИТЕЛ на IFTTT"

iftttpass = "ВАШАТА IFTTT ПАРОЛА"

iftttappletid = "ВАШЕТО ПРИЛОЖЕНИЕ ЗА ИНФОРМИРАНЕ НА IFTTT"

iftttkey = "ВАШИЯТ IFTTT КЛЮЧ"

iftttevent = "ВАШЕТО IFTTT СЪБИТИЕ"

Както може би се досещате, ние използваме IFTTT за изпращане на известия в реално време на нашите мобилни телефони. Следвайте това ръководство: тук, но вместо да изберете „изпрати ми sms“, изберете „изпращане на известие за приложение“. Вземете идентификатора на аплета (превъртете в долната част на конфигурацията на аплета, за да го видите) и го използвайте по -горе. Използвайте също така създадения ключ в настройките по -горе. Събитието IFTTT е името, което сте дали на вашия аплет, аз му дадох „carmoving“.

Сега няма безплатни платформи за известия в реално време, AFAIK. Ако знаете за един, кажете ми. IFTTT има забавяне. Това забавяне може да бъде сведено до няколко секунди, ако използвате задействането на имейла. За съжаление, това не е надеждно. Току -що създаденият webhook има 15 минути закъснение. Но ние не искаме да чакаме 15 минути, за да знаем, че колата ни е открадната, нали? Това е паролата, която ви моли да настроите всички горепосочени настройки. Ако превъртите кода на python, виждате, че има няколко реда, а именно 45-53, за автоматизиране на функционалността „провери сега“на IFTTT, която принуждава внезапна проверка на тригерите и задейства известието за по-малко от 1 секунда! Моля:)

След като сте настроили своя python код някъде, просто го стартирайте. Ако сте професионален потребител, стартирайте го при стартиране на сървъра. Вижте тоновете безплатни ръководства онлайн за това как да направите това, например този.

Стъпка 4: Още повече софтуер (мобилното приложение)

Още повече софтуер (мобилното приложение)
Още повече софтуер (мобилното приложение)
Още повече софтуер (мобилното приложение)
Още повече софтуер (мобилното приложение)
Още повече софтуер (мобилното приложение)
Още повече софтуер (мобилното приложение)
Още повече софтуер (мобилното приложение)
Още повече софтуер (мобилното приложение)

Нуждаем се от бърз и лесен начин просто да визуализираме gps следата, която сървърът на предишната стъпка поддържа актуален. Вероятно трябва да работи на всякакви смартфони.

Нека тогава използваме пакет от мобилни приложения за различни платформи, като Ionic/Cordova. Използвам Ionic v1, не го бъркайте с Ionic Native или Ionic v2, това е различно нещо.

Следвайте тези много прости стъпки, за да започнете първия си проект в Ionic: тук.

След това трябва да започнете нов проект, базиран на sdk на google maps, като този:

ionic start myapp maps

Отидете в папката „ресурси“и копирайте голямото изображение на автомобила тук като „icon.png“. Качете вместо това малките икони като „car2.png“и „start.png“някъде на вашия сървър, като https://yourserver/car2.png. Те ще ви трябват като маркери в приложението ви.

Използвайте приложените файлове index.html (преименувайте index.html.txt на index.html), directives.js и controllers.js файлове и ги поставете в www (index.html), www/js (всички js).

добавете вашата платформа така:

йонна добавка plaftorm android

изграждайте така:

йонно изграждане на android

тогава ionic ще ви каже къде е създал вашия.apk, който можете да инсталирате на мобилния си телефон.

За да създадете за iOS, ще ви трябва Mac и Xcode. След това ionic може да запише Xcode проект, който можете да отворите в Xcode и да създадете за вашия телефон. Ако нямате акаунт за разработчици на iOS, тогава ще трябва да свържете телефона си с Xcode и да настроите телефона си за развитие, за да можете да инсталирате приложението там. Това е извън обхвата на тази инструкция.

В различните js файлове ще трябва да намерите редовете, съответстващи на „car2.png“и „start.png“и да ги промените с пътя на вашите изображения. Същото за "plan.json".

Това е!!

Стъпка 5: Бъдеща работа

1) Сложих всичко в картонена кутия, която мога да скрия навсякъде близо до USB изхода. Най-доброто нещо, което трябва да направите, е да монтирате по-добър калъф под капака на колата, с преобразувател 12v-> 5v.

2) С Bluetooth сензор всъщност бихте могли да „усетите“, ако сте в колата, така че GPS системата няма да се включи.

3) Просто плащайте за план за данни за sim и задайте SECONDS на 1, за да се насладите на проследяване в супер реално време:)

Надявам се да ви хареса тази моя първа инструкция!

Препоръчано: