Агуулгын хүснэгт:

Arduino дээр суурилсан автомашины GPS+GPRS хулгайтай тэмцэх иж бүрэн систем: 5 алхам (зурагтай)
Arduino дээр суурилсан автомашины GPS+GPRS хулгайтай тэмцэх иж бүрэн систем: 5 алхам (зурагтай)

Видео: Arduino дээр суурилсан автомашины GPS+GPRS хулгайтай тэмцэх иж бүрэн систем: 5 алхам (зурагтай)

Видео: Arduino дээр суурилсан автомашины GPS+GPRS хулгайтай тэмцэх иж бүрэн систем: 5 алхам (зурагтай)
Видео: LDmicro 21: настройка режима C и Arduino Mega (программирование микроконтроллера с помощью LDmicro) 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) Arduino-д зориулсан GPS нэгж (GY-NEO6MV2 шинэ GPS модуль нь Нислэгийн удирдлагын нислэгийн удирдлага EEPROM MWC APM2.5 том антен NEO6MV2). Би үүнийг ашигласан: Aliexpress дээр - 6.66 доллар

3) Arduino-д зориулсан GPRS / GSM нэгж (SIM800L V2.0 5V утасгүй GSM GPRS модуль Quad-Band W / антен кабелийн таг). Би үүнийг ашигласан: Aliexpress дээр - 6.71 доллар

4) Ийм сэлбэг кабель: Aliexpress дээр - 0.89 доллар

5) IoT өгөгдлийн сим карт (эсвэл өгөгдлийн холболттой бусад сим карт). Би үүнийг ашигласан: Hologram.io -оос. Надад үнэгүй хөгжүүлэгч бий, зөвхөн төлбөртэй тээвэрлэлт - 7.50 доллар

Нийт: 25.51 доллар, гэхдээ би кабелиудтай байсан тул 25 доллараас бага байна!

Хоёр зураг нь угсрахаас өмнө бүрэлдэхүүн хэсгүүд болон эцсийн бүтээгдэхүүнийг харуулав. Таны хийх ёстой холболтууд нь:

Arduino - SIM800L

10 - дахин тохируулах

GND - GND (тэдгээрийн 2 нь)

5в - 5в

7 - SIM_TXD

8 - SIM_RXD

Arduino-GY-NEO6MV2

GND - GND

5V - VCC

3 - RX

4 - TX

Бүх кабель, антенаа холбоод Arduino -ийг 2А -ийн оргилд хүргэх чадвартай эх үүсвэрээс асааж байгаа эсэхээ шалгаарай. Компьютерийн USB бараг л сайн биш байна (би MacBook Pro ашиглаж байна), "санамсаргүй" утасны цэнэглэгч хангалттай биш байх болно. Ихэнх автомашины USB гаралтын цэгүүд нь 1А -аас бага байдаг. Хэрэв ийм зүйл тохиолдвол танд дор хаяж 2А -тай 12V машины 5в цахилгаан хангамж хэрэгтэй болно.

SIM картыг оруулна уу. Хэрэв та Hologram.io сим карт ашиглаж байгаа бол тэдгээрийн хяналтын самбарт бүртгүүлж, сим картаа идэвхжүүлээрэй (хэдэн минут / цаг шаардагдана).

Алхам 2: Програм хангамж (Arduino програм)

Програм хангамж (Arduino програм)
Програм хангамж (Arduino програм)

Та Arduino програмчлалын талаар сайн мэддэг гэж бодож байна. Үгүй бол зааварчилгаанд байгаа энэ гарын авлагаас эхэлнэ үү.

Танд зөвхөн нэг гадаад номын сан хэрэгтэй, би үүнийг гараар суулгах ёстой байсан. Энд очно уу: TinyGPS, номын санг экспортолж, өөрийн дотоод Arduino фолдерт суулгаарай.

Тэндээс бид тэдний үндсэн жишээнээс зарим кодыг "хулгайлж", зорилгодоо нийцүүлэн өөрчлөх гэж байна.

Дараа нь бид энэ гарын авлагаас "хулгайлж", кодыг зорилгынхоо дагуу дахин өөрчлөх гэж байна.

Үр дүн нь хавсаргасан.ino програм юм.

Таны хийж болох хэд хэдэн зүйл байдаг бөгөөд үүнийг засах хэрэгтэй:

"SECONDS" тодорхойлж, "SERVER" тодорхойлно.

Би SECONDS -ийг 10 болгож тохируулсан бөгөөд үүний шалтгаан нь: Hologram.io хөгжүүлэгч програм танд сар бүр 1mb үнэгүй өгөгдөл өгдөг. Энэ нь бид илгээсэн байтуудыг багасгахыг хүсч байгаа боловч байр сууриа байнга шинэчилж байх ёстой гэсэн үг юм. Бид стандарт AT модемийн командыг ашиглан UDP пакетуудыг өөрийн сервер рүү илгээж, лат/lon, тус бүр нь 4 байт, 1 байтын хурдыг ашигладаг. Тиймээс GPS -ийн нийт шинэчлэлт нь 20 байт (IP толгой) дээр 8 байт (UDP толгой) дээр 9 байт (ачаалал) байна. Энэ нь 37 байт юм. Миний машин өдөрт 2 -оос илүүгүй цаг идэвхтэй байгаа гэж үзвэл би 10 секунд тутамд шинэчлэлт хийх боломжтой бөгөөд сард ердөө 806кб (31 хоног) зарцуулдаг. Энэ нь надад машины хулгайч гэхээсээ илүү 218кб өгдөг. Энэ нь жолоодлогын хугацаанаас гадуур 16.76 цаг GPS хянах боломжийг олгодог бөгөөд 10 секунд тутамд нэг шинэчлэлт өгдөг.

Одоо эдгээр UDP пакетууд хаа нэг газар очих ёстой. Би CloudAtCost үүл дээр байрлуулсан Ubuntu серверийг 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 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 илгээх" гэж сонгохын оронд "апп мэдэгдэл илгээх" гэснийг сонгоно уу. Апплет id -ээ аваад апплетын тохиргооны доод хэсэгт гүйлгэж харна уу. Дээрх тохиргоонд ийм байдлаар үүсгэсэн түлхүүрийг ашиглана уу. IFTTT арга хэмжээ бол таны апплетад өгсөн нэр бөгөөд би үүнийг "аялах" гэж өгсөн.

Одоо AFAIK үнэгүй бодит цагийн мэдэгдлийн платформ байхгүй байна. Хэрэв та нэгийг нь мэддэг бол надад мэдэгдээрэй. IFTTT хойшлогдсон байна. Хэрэв та имэйлийн триггерийг ашиглавал энэ саатлыг хэдхэн секундын дотор багасгаж болно. Харамсалтай нь энэ нь найдвартай биш юм. Дөнгөж үүсгэсэн вэб хөтөч нь 15 минутын хоцрогдолтой байна. Гэхдээ манай машин хулгайлагдаж байгааг мэдэхийн тулд бид 15 минут хүлээхийг хүсэхгүй байна, тийм үү? Энэ бол дээрх бүх тохиргоог хийхийг танаас шаардах нууц үг юм. Хэрэв та питон кодыг гүйлгэж үзвэл IFTTT-ийн "одоо шалгах" функцийг автоматжуулахын тулд 45-53 гэсэн хэд хэдэн мөр байгааг харах болно. Та тавтай морилно уу:)

Python кодоо хаа нэгтээ тохируулсны дараа үүнийг ажиллуулна уу. Хэрэв та дэмжигч хэрэглэгч бол үүнийг серверийн ачаалалтаас эхлүүлээрэй. Үүнийг хэрхэн яаж хийх талаар онлайнаар үнэгүй хэдэн гарын авлагаас лавлана уу, жишээлбэл энэ.

Алхам 4: Илүү их програм хангамж (гар утасны програм)

Илүү их програм хангамж (гар утасны програм)
Илүү их програм хангамж (гар утасны програм)
Илүү их програм хангамж (гар утасны програм)
Илүү их програм хангамж (гар утасны програм)
Илүү их програм хангамж (гар утасны програм)
Илүү их програм хангамж (гар утасны програм)
Илүү их програм хангамж (гар утасны програм)
Илүү их програм хангамж (гар утасны програм)

Өмнөх алхам дээрх сервер шинэчлэгдэж байгаа gps замыг төсөөлөхийн тулд бидэнд хурдан бөгөөд энгийн арга хэрэгтэй байна. Магадгүй энэ нь бүх төрлийн ухаалаг гар утсан дээр ажиллах ёстой.

Дараа нь Ionic/Cordova гэх мэт платформ хоорондын гар утасны програмын багцыг ашиглацгаая. Би Ionic v1 ашиглаж байна, үүнийг Ionic Native эсвэл Ionic v2 гэж битгий андуураарай, энэ бол өөр зүйл.

Ionic дээр анхны төслөө эхлүүлэхийн тулд эдгээр маш энгийн алхмуудыг дагана уу: энд.

Дараа нь та google maps sdk дээр суурилсан шинэ төслийг эхлүүлэх хэрэгтэй.

ionic start myapp газрын зургууд

"Нөөц" хавтас руу ороод том машины зургийг эндээс "icon.png" гэж хуулна уу. Жижиг дүрсийг https://yourserver/car2-p.webp

Хавсаргасан index.html (index.html.txt -ийн нэрийг index.html болгон өөрчлөх), directives.js, controllers.js файлуудыг ашиглан www (index.html), www/js (бүх js) болгон оруулна уу.

платформоо дараах байдлаар нэмнэ үү.

ionic plaftorm андроид нэмнэ үү

ингэж бүтээх:

ионик 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) Сим дата төлөвлөгөөний төлбөрийг төлж, SECONDS-ийг 1 болгож тохируулаарай.

Миний анхны зааварчилгаа танд таалагдсан гэж найдаж байна!

Зөвлөмж болгож буй: