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

Гэрийн бодит цагийн GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 алхам
Гэрийн бодит цагийн GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 алхам

Видео: Гэрийн бодит цагийн GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 алхам

Видео: Гэрийн бодит цагийн GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 алхам
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Долдугаар сарын
Anonim
Гэрийн бодит цагийн GPS Tracker (SIM800L, Ublox NEO-6M, Arduino)
Гэрийн бодит цагийн GPS Tracker (SIM800L, Ublox NEO-6M, Arduino)

Тэгэхээр GSM модуль над шиг хэвтэж байна уу? Бас GPS мөрдөгч үү?

Бид ч мөн адил бодож байна!

Энэхүү зааварчилгааны хичээлд би шинэхэн хүний үүднээс зорилгоо хэрхэн биелүүлэх талаар танд туслахыг хичээх болно.

Би урьд нь цахилгаан инженерийн талаар ямар ч мэдлэггүй байсан (үнэнийг хэлэхэд төсөлд тийм ч их хэрэггүй, гэхдээ тийм биш), мөн өгөгдлийг вэб хөтчид шууд дамжуулдаг төхөөрөмжийг хэрхэн яаж хийх талаар мэдэхгүй байсан тул олон асуудалтай тулгарсан. Гэсэн ч би эцэст нь ажлаа амжуулж чадсан.

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

Санаж байгаарай: Цахилгаан эрчим хүчээр ажиллахдаа үргэлж болгоомжтой байгаарай!

ЖИЧ: Би мэргэжлийн хүн биш. Код нь таны бүх хэрэгцээнд нийцсэн нарийн төвөгтэй биш байж магадгүй юм. Төсөл нь "хобби төсөл" болох зорилготой боловч! энэ нь миний төлөө ажилласан. Хэрэв энэ нь миний төлөө ажилласан бол энэ нь танд ч бас туслах болно!

Алхам 1: Урьдчилсан нөхцөл

Урьдчилсан нөхцөл
Урьдчилсан нөхцөл
Урьдчилсан нөхцөл
Урьдчилсан нөхцөл
Урьдчилсан нөхцөл
Урьдчилсан нөхцөл

GSM модуль - SIM800L

  • Маш жижигхэн, ашиглахад хялбар
  • Хөдөлгөөнт интернет (GPRS) ашиглах чадвартай
  • Хямд

GPS модуль - Ublox NEO6M

  • Бас жижиг
  • Ажил үүргээ маш сайн гүйцэтгэдэг

Микроконтроллер бол юу ч байж болно - та алдартай Arduino Uno эсвэл Nano -г ашиглан зай гаргах боломжтой.

Зай - Би 18650 үүрийг үндсэн, цорын ганц тэжээлийн эх үүсвэр болгон ашигласан (нэрлэсэн 3.7V)

Зай эзэмшигч - яагаад? - Учир нь 18650 батерейг гагнах нь халуунаас болж нэлээд аюултай байдаг.

DC -DC Boost хөрвүүлэгч 5V хүртэл дээшлэх модуль - Миний ашигладаг Arduino -д 5V шаардлагатай байдаг

Хэрэглэх боломжтой багаж хэрэгсэл, үндсэн зүйлс:

Туршилтын утас, гагнуурын төмөр, талхны хавтан

Алхам 2: Үндсэн ойлголт

Үндсэн ойлголт
Үндсэн ойлголт

Системийн үндсэн ойлголт нь дараахь зүйлүүд юм.

Энэ нь 3 хэсгээс бүрдэнэ:

  1. Тохиромжтой GPS -координаттай, алсаас сервер рүү холбогдож өгөгдөл илгээх боломжтой төхөөрөмж
  2. Ирж буй өгөгдлийг хүлээн авч, хадгалах, бусад үйлчлүүлэгчдэд үйлчлэх вэб сервер
  3. Бидний координатыг харах боломжтой платформ бол энэ нь одоо гар утасны програм эсвэл вэбсайт байх ёстой

Алхам 3: SIM800L модуль

SIM800L модуль
SIM800L модуль
SIM800L модуль
SIM800L модуль

Модулийг ашиглахад надад хэцүү байсан.

Би зарим шинж чанар, лавлагаагаар эхлэхийг хүсч байна.

Мэдээллийн хүснэгтийн дагуу:

  • Энэ нь 3.4 - 4.4 V хооронд ажилладаг
  • Энэ нь SMS илгээх, бусад утас руу дуут дуудлага хийх, тэр ч байтугай интернетэд холбогдох боломжтой!
  • Бид AT командыг ашиглан түүнтэй холбоо барьж болно!
  • Оргил ачааллын үед 2А хүртэл ашиглах боломжтой! Анхаарна уу: дээж авах хурд багатай тул та үүнийг мултиметрээр хэмжих боломжгүй байх

Миний туршлага бол 3.8V -ээс доош SIM800L үнэхээр ажилладаггүй.

Нэмэлт мэдээлэл авахыг хүсвэл: мэдээллийн хуудсыг үзнэ үү

Тиймээс таны даалгавар бол хамгийн багадаа 2А гаралттай тэжээлийн модульд хамгийн багадаа 3.8 В хүчдэл (хамгийн тохиромжтой нь 4V) өгөх явдал юм.

Модулийг эцсийн төхөөрөмжид ашиглахаас өмнө таны төхөөрөмж зөв ажиллаж байгаа эсэхийг шалгахын тулд SIM800L болон компьютертэйгээ холбоо тогтоохыг зөвлөж байна.

Юуны өмнө, дээрх зураг дээрх шиг SIM картаа залгаарай.

Үүнийг компьютерт холбохын тулд та USB -ээс TTL хөрвүүлэгч эсвэл Arduino ашиглаж болно.

Одоо би Arduino -той хамт явж байна.

SIM800L VCC ба GND -ийг тэжээлийн эх үүсвэрийн терминалдаа холбоно уу.

TX -ийг Arduino 10 -р дижитал зүү, RX -ийг arduino 11 -р дижитал зүү рүү холбоно уу.

Кодыг татаж аваарай, би энэ алхамд холбосон.

Кодыг ашигласнаар та цуваа монитор дээрээ тушаал илгээж, буцааж авах боломжтой.

Зарим энгийн тушаалууд:

AT Хэрэв холболт хэвийн байвал OK буцаана.

ATD+123456789; Өгөгдсөн утасны дугаар руу залгаарай. Тэмдэглэл: Үүнийг таслалаар таслахаа бүү мартаарай.

AT+CPIN? SIM картын статусыг буцаана (түгжигдсэн эсвэл түгжигдээгүй)

Хэрэв та мессеж илгээхийг хүсч байвал "$" тэмдгээр оруулах боломжтой тусгай тэмдэгтээр оролтоо дуусгах хэрэгтэй.

Бусад сонирхолтой командуудын хувьд үүнийг уншихыг танд зөвлөж байна.

Янз бүрийн тушаалууд байдаг, тэдэнтэй танилцаарай, энэ нь үнэхээр хэрэгтэй юм.

Улаан статусын LED байдаг бөгөөд энэ нь SIM800L ямар ажиллагаатай байгааг хэлж өгдөг.

64 MS ON - 800MS OFF - SIM800L сүлжээнд бүртгэгдээгүй байна.

64 MS ON - 3000MS OFF - SIM800L сүлжээнд бүртгэгдсэн байна.

64 MS ON - 300MS OFF - SIM800l нь GPRS горимд байна

Хэрэв SIM800L нь ойролцоогоор 8-10 удаа анивчсаны дараа дахин асах юм бол энэ нь үр ашигтай цахилгаан хангамжгүй байгаатай холбоотой байж болох юм.

Хэрэв та AT -ийн дараа ОК -г авахгүй бол утсыг шалгаарай! Хэрэв танд мултиметр байгаа бол утаснуудын тасралтгүй байдлыг шалгаарай.

Утас ба гагнуурын холболтын холболтыг шалгана уу! Модуль нь зөвхөн анивчих үед л ажиллах болно.

Алхам 4: Ublox Neo 6м

Ublox Neo 6м
Ublox Neo 6м
Ublox Neo 6м
Ublox Neo 6м

Зарим шинж чанарууд

  • Хамгийн их хүчдэл: 3.6V - Би үүнийг Arduino -ийн 3.3V зүүгээр тэжээсэн
  • Хамгийн их гүйдэл нь 67 мА тул та үүнийг arduino -оос тэжээх боломжтой
  • Температурын хүрээ: -40-85 хэм (танд тохирох байх гэж бодож байна)

Миний захиалсан төхөөрөмж зураг дээр харсан антентай ирсэн бөгөөд үүнийг холбогдох үүрэнд нь залгаарай.

Төхөөрөмж дохио өгөх үед цэнхэр LED гэрлээр анивчдаг.

Нэгдүгээрт, хэрэв та мэдэхгүй бол GPS энд хэрхэн ажилладагийг шалгаарай.

Төхөөрөмж асаж, 3 хиймэл дагуул олсон тохиолдолд дээрх шиг таслалаар тусгаарлагдсан маш олон утгыг Arduino руу илгээдэг.

Бидний ажилд туслахын тулд бид зарим гадаад номын санчдыг ашиглан эдгээр өгөгдлийг илүү уншихад хялбар болгохын тулд задалж болно.

Та TinyGps номын сан эсвэл NeoGPS номын санг ашиглаж болно. Би илүү хөнгөн тул 2 -рыг ашигласан.

Туршилт хийхийн тулд та тэжээлийн тээглүүрийг arduino 3.3V ба GND руу холбох ёстой.

Энэ кодыг татаж аваад GPS ашиглан ашиглаарай. RX Digital pin 10, TX Digital pin 11

Тэмдэглэл: Үүл байхгүй үед модулийг гадаа ашиглахаа бүү мартаарай.

Хагас минутын дараа төхөөрөмж анивчиж, таны GPS координатыг гаргах ёстой!:)

Таны SIM800L болон GPS модуль зохих ёсоор ажиллаж байгааг та мэдээд дараагийн алхам руу шилжиж болно.

Алхам 5: Цахилгаан хэлхээ

Хэлхээ
Хэлхээ

Хэлхээ нь зураг дээрх шиг байна.

Тиймээс 3.4V - 4.2V 18650 батерей нь тэжээлийн гол эх үүсвэр болдог. Sim800L нь энергийг шууд үүнээс авдаг. Хэлхээний тогтвортой байдлыг сайжруулахын тулд тэдгээрийн хооронд зэрэгцээ зэрэгцээ конденсатор байдаг.

Конденсаторыг сонгохдоо бага ESR capactior сонгох хэрэгтэй.

Нэг 5В хүчдэлийн хувиргагч нь батерейны хүчдэлийг 5В хүртэл нэмэгдүүлдэг (Arduino 5V-тэй ажилладаг тул ir хэрэгтэй).

5V цахилгаан дамжуулах хоолой энд нано руу холбогдсон байна. Sim800L болон Neo6m нь зураг дээрх шиг Nano -той холбогдсон байна. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 нь RST -тэй холбогдсон тул бид системийг программын дагуу дахин эхлүүлэх боломжтой (SIM800L -ээс бусад). ТАЙЛБАР: Энэ дахин ачаалах арга нь хамгийн сайн практик биш байж магадгүй юм)

Эцэст нь хэлэхэд, хоёр LED нь NANO -той холбогдсон тул ямар нэгэн алдаа гарсан тохиолдолд бид хэрэглэгчдэд хэлж чадна.

Алхам 6: Код

Кодыг Instructables -д хавсаргасан эсвэл github -ийг үзнэ үү.

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

waitUntilResponse (); Туслах функцийг түүний кодоос авсан болно. Түүний ажлыг шалгаад код бичээрэй!

Товчхондоо, тохиргооны функц дээр бид SIM800L модулийн GPRS холболтыг идэвхжүүлэх хэрэгтэй. Хэрэв LED хурдан анивчих юм бол энэ нь амжилттай эсэхийг бид мэднэ. (setupGPRSConnection ())

Давталтын функцэд - 15 секунд тутамд sendTP () функцийг дууддаг бөгөөд энэ нь HTTP хүсэлтэй байдаг

Би өгөгдлийг вэб сервер рүү энэ форматаар оруулахын тулд асуулгын мөрүүдийг ашигласан.

ip хаяг/file.php? key = утга & түлхүүр = утга гэх мэт.

Алдаа гарсан тохиолдолд холбогдох LED гэрэл асах болно. (SIM, GPS)

Алхам 7: Вэб сервер

Вэб сервер
Вэб сервер

Бидний хувьд энгийн хөнгөн вэб сервер хангалттай.

Таны сонгож болох зарим сонголтууд байна:

  1. Та байнгын төлбөр төлөх шаардлагатай байдаг компанийн алсын сервер ашиглаж болно.
  2. Та өөрийн компьютер ашиглаж болно. Би үүнийг зөвхөн туршилт хийхийг санал болгож байна, эрчим хүч алдах, аюулгүй байдлын асуудлаас болж 24/7 ажиллуулах нь тийм ч үр дүнтэй биш юм.
  3. Та Raspberry PI гэх мэт жижигхэн компьютер ашиглаж болно. Хөнгөн, хямд, их эрчим хүч зарцуулдаггүй.

Би 2, 3 -р сонголтыг туршиж үзсэн, тэд сайн ажилласан. Гол зорилго бол энэ зааварчилгааны сервер биш, гэхдээ би танд хэдэн зөвлөгөө өгөх болно.

Хэрэв та компьютер ашигладаг бол Windows ашигладаг байж магадгүй. Хэрэв би таны оронд байсан бол би үүнд Apache эсвэл XAMPP сервер суулгах байсан.

XAMPP нь аль хэдийн PHP -тэй бөгөөд үүнээс гадна HTML, Perl, мэдээллийн баазыг удирдах системтэй хамт ирдэг. PHP -ийн тусламжтайгаар та динамик сервер хийх боломжтой. Хэрэв та дэлхийн өнцөг булан бүрээс саяхан хийсэн локал серверээ ашиглахыг хүсч байвал статик IP -ийг компьютерт оноож, порт дамжуулах ажлыг хийх хэрэгтэй. Статик IP -ийн талаархи зааварчилгаа:

Мөн бүхэлд нь дамжуулах зүйл:

Хэрэв танд бөөрөлзгөнө байгаа бол үүнийг хэрэглэх нь сайн практик юм. Та Linux командуудтай танилцаж, өөрийн серверээ 24/7 ажиллуулж болно.

OS нь Raspbian Jessie байсан бөгөөд толгойгүй тохируулгатай (гар, дэлгэцгүй) - Би үүнийг SSH холболттой компьютераараа удирддаг байсан.

Би бөөрөлзгөнө дээрээ нэвтрэхийн тулд Putty -ийг ашигласан. Бусад хүмүүс Pi руу нэвтэрч чадахгүй байхын тулд дансныхаа нууц үгийг өөрчлөхөө бүү мартаарай. Анхдагч утга нь: pi, passw: raspberry.

Би sqlite3 -тай lighttpd вэб сервер суулгасан. Сайн заавар эндээс олдлоо:

Би ихэвчлэн серверийн кодонд PHP ашигладаг байсан. PHP -ийн тусламжтайгаар та өгөгдөл хүлээн авах, өгөгдлийн санг унших/бичих, асуулгыг json формат руу кодлох гэх мэтийг авах боломжтой. Энэхүү заавар нь мэдээллийн санг PHP ашиглан хэрхэн удирдах талаар танд маш их туслах болно.

Та миний кодыг github дээрээс server_files хавтаснаас үзэх боломжтой.

Мэдээжийн хэрэг, хэрэв та үүнд алсаас хандахыг хүсвэл чиглүүлэгч дээрээ Pi руу дамжуулахыг идэвхжүүлэх ёстой.

Алхам 8: Төгсгөл/туршлага

Хашаа барих хараахан болоогүй байна.

Миний туршлага бол систем тийм ч муу биш ажилладаг. Гэхдээ тогтвортой байдлын сайжруулалт хүлээж байна.

Хэрэв мөрдөгч миний хавсаргасан кодтой ажиллаагүй бол санаа зовох хэрэггүй. SIM800L болон NEO 6M нь зохих ёсоор ажиллаж байгаа эсэхийг шалгахыг хичээгээрэй. Та миний кодыг чөлөөтэй өөрчилж эсвэл илүү сайн хайж олох боломжтой. Би танд энэ төслийг хэрхэн дуусгах талаар жишээ үзүүлэх болно гэж найдаж байна.

Би ямар ч зөвлөгөө, сэтгэгдлээс гарсан залруулгыг хүлээж авдаг. Асуулт асууж болно.

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