Агуулгын хүснэгт:
- Алхам 1: Тоног төхөөрөмж
- Алхам 2: Програм хангамж (Arduino програм)
- Алхам 3: Нэмэлт програм хангамж (Gps байршлыг сервер талаас хүлээн авах)
- Алхам 4: Илүү их програм хангамж (гар утасны програм)
- Алхам 5: Ирээдүйн ажил
Видео: Arduino дээр суурилсан автомашины GPS+GPRS хулгайтай тэмцэх иж бүрэн систем: 5 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Бүгдээрээ сайн уу!
Би 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 програмчлалын талаар сайн мэддэг гэж бодож байна. Үгүй бол зааварчилгаанд байгаа энэ гарын авлагаас эхэлнэ үү.
Танд зөвхөн нэг гадаад номын сан хэрэгтэй, би үүнийг гараар суулгах ёстой байсан. Энд очно уу: 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 болгож тохируулаарай.
Миний анхны зааварчилгаа танд таалагдсан гэж найдаж байна!
Зөвлөмж болгож буй:
GPRS (SIM карт) өгөгдлийн холбоос бүхий цаг агаарын авсаархан мэдрэгч: 4 алхам
GPRS (SIM карт) бүхий авсаархан цаг агаарын мэдрэгч Мэдээллийн холбоос: Төслийн хураангуй Энэ нь BME280 температур/даралт/чийгшил мэдрэгч болон ATMega328P MCU дээр суурилсан батерейгаар ажилладаг цаг агаарын мэдрэгч юм. Энэ нь 3.6 V лити тионил АА гэсэн хоёр батерейгаар ажилладаг. Энэ нь маш бага унтлагын хэрэглээ бөгөөд 6 мкА байна. Энэ нь өгөгдлийг илгээдэг
A9G GPS ба GPRS модулийн заавар - Ай сэтгэгч - AT тушаалууд: 7 алхам
A9G GPS ба GPRS модулийн заавар | Ай сэтгэгч | AT Commands: Хөөе, юу байна, залуусаа! Akarsh энд CETech -ээс.Өнөөдөр бид AI Thinker -ийн A9G GPS, GSM, GPRS модулийг ашиглах гэж байна. AI Thinker -ийн A9 ба A6 гэх мэт өөр хэд хэдэн модуль байдаг бөгөөд тэдгээр нь GSM ба GPRS -ийн ижил төстэй чадвартай боловч
Arduino Security 3G/GPRS И -мэйл камер нь хөдөлгөөн мэдрэгчтэй: 4 алхам
Arduino Security 3G/GPRS Хөдөлгөөн илрүүлэх имэйлийн камер: Энэхүү гарын авлагад би хөдөлгөөн мэдрэгч бүхий аюулгүй байдлын тандалтын систем барьж, зургуудаа 3G/GPRS бамбайгаар дамжуулан шуудангийн хайрцагт илгээх нэг хувилбарын талаар хэлэхийг хүсч байна. бусад заавар: заавар 1 ба заавар
Arduino болон SIM900 GSM GPRS 3G температур ба чийгшлийн бүртгэл, гар утасны статистик: 4 алхам
Arduino ба SIM900 GSM GPRS 3G температур ба чийгшлийн бүртгэл, гар утасны статистик: Arduino UNO R3, SIM900 Shield AND DHT22 -ийн тусламжтайгаар температур, чийгшлийн мэдээллийг гадаа, өрөөнд, хүлэмж, лаборатори, хөргөлтийн өрөө эсвэл бусад газарт үнэгүй бүртгэх боломжтой. Энэ жишээг бид өрөөний температур, чийгшилийг бүртгэхэд ашиглах болно. Төхөөрөмж
GPRS дээр TCP/IP холболт: SIM900A модулийг ашиглан өгөгдлийг сервер рүү хэрхэн илгээх вэ: 4 алхам
GPRS -ээр дамжуулан TCP/IP холболт: SIM900A модулийг ашиглан өгөгдлийг сервер рүү хэрхэн илгээх вэ: Энэхүү гарын авлагад би sim900 модулийг ашиглан TCP сервер рүү өгөгдөл илгээх талаар танд хэлэх болно. Мөн бид серверээс үйлчлүүлэгч рүү хэрхэн өгөгдөл хүлээн авахыг харах болно (GSM модуль)