Агуулгын хүснэгт:
- Алхам 1: Материал авах
- Алхам 2: Төхөөрөмжүүдийг тохируулах
- Алхам 3: Өгөгдлийг задлахын тулд Arduino -г кодлох
- Алхам 4: Сонсохын тулд боловсруулалтыг ашиглах
- Алхам 5: Tableau дээрх мэдээллийг олон нийтэд үзүүлэх
- Алхам 6: Viz -ийг сайжруулах
Видео: Замын зураглагч: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэхүү IoT төсөлд бид NEO-6M (GPS модуль) -ыг холбож, байршлын өгөгдлийг Arduino-ээр дамжуулан компьютерт хадгалагдах Excel хуудсанд хүргэх болно. Үүний дараа Tableau Public -ийн тусламжтайгаар бид энэ өгөгдлүүдийн өгөгдлийг дүрслэн харуулах замаар өөрсдийн хийсэн замыг тодорхойлдог. Хэдийгээр энэ нь хоорондоо нягт уялдаатай өгөгдөлд бодит цагийн мэдээллийг цуглуулах, танилцуулах нэг арга боловч энэ үйл явцыг өгөгдөлд суурилсан бусад төслүүдэд ашиглаж болно.
Алхам 1: Материал авах
Энэ төслийн хувьд танд дараахь зүйлс хэрэгтэй болно.
- NEO-6M GPS модуль
- Ардуино Уно
- Эрэгтэй/эрэгтэй холбогч утас (танд 4 утас хэрэгтэй болно)
- USB 2.0 кабель А -аас В хүртэл
- Эдгээр програмтай компьютер: Tableau Public, Arduino IDE (TinyGPS ++ -тэй), Боловсруулалт
Алхам 2: Төхөөрөмжүүдийг тохируулах
Arduino бидэнд өгөгдлийг харуулах интерфэйсийг өгөхийн тулд бид эхлээд GPS модулийг Arduino UNO -той тохируулах хэрэгтэй. NEO-6M-д холбогдсон дөрвөн утас тус бүр нь тодорхой портуудтай тохирдог. Хэрэв таны NEO-6M утастай хамт ирээгүй бол шууд холбогч утсаар холбох хэрэгтэй болно. Дээрх диаграммд улаан нь хүч (VCC), хар нь газарт (GND), шар нь өгөгдөл дамжуулахад (TxD), цагаан мэдээлэл хүлээн авахад (RxD) харгалзана. Бид эдгээр утсыг эрэгтэй/эрэгтэй холбогч утас руу холбодог тул Arduino -тэй холбох боломжтой болно. Дээрх диаграмын дагуу бид газардуулгын утсыг Arduino дээрх GND дижитал зүү, TxD утсыг 4, RxD утсыг ~ 3, VCC утсыг хүчдэлийн хувьд 5В -т холбоно. Ирээдүйн алхамд бид TxD ба RxD -ийг SoftwareSerial дээрх зөв тоогоор тодорхойлох шаардлагатай болно.
Хоёр төхөөрөмжийг хооронд нь холбосны дараа бид тэжээлийн эх үүсвэрээр хангах ёстой. USB 2.0 кабелийг зөөврийн компьютерт холбоно уу, NEO-6M дээрх гэрэл асах ёстой.
Алхам 3: Өгөгдлийг задлахын тулд Arduino -г кодлох
Одоо хиймэл дагуулаас GPS өгөгдөл цуглуулах төхөөрөмжүүдийг тохируулсны дараа бид хүссэн GPS өгөгдлөө задлан шинжлэх код бичих болно. Та дохио авсан гэж үзвэл (миний GPS модуль цэнхэр анивчих болно), NEO-6M нь өгөгдлийг цуваа дэлгэц дээр NMEA мессеж хэлбэрээр хэвлэдэг бөгөөд үүний дараа $ GP гэх мэт үсэг, цуврал гарч ирдэг. тоо. Дээрх зураг нь Arduino -ийн үндсэн кодыг оруулсны дараа таны цуваа дэлгэц дээр юу харагдах ёстой талаар ерөнхий ойлголтыг өгдөг.
Миний хавсаргасан кодыг тайлбарлахын тулд (эсвэл хэрэв та өөрөө кодлохыг хүсвэл) эхлээд SoftwareSerial болон TinyGPS ++ номын санг хоёуланг нь оруулах хэрэгтэй (сүүлийнх нь Sketch> Include> Add. ZIP номын сан). SoftwareSerial нь цуваа холболт хийх боломжийг бидэнд олгодог; TinyGPS ++ нь зорилтот мэдээллийг уншигдах хэлбэрээр хэвлэх хялбар хэрэгсэл юм. SoftwareSerial объектыг Arduino дээрх харгалзах зүү рүү эхлүүлсэн эсэхээ шалгаарай. Тохиргооны функцэд бид 9600 -ийг baud rate болгон ашигладаг.
Энэхүү зааварчилгааны зорилгоор бид давталтын функцэд зөвхөн долоон төрлийн өгөгдлийг хэвлэх болно: өргөрөг (градус), уртраг (градус), хурд (км), курс (градус), өндөр (км), хиймэл дагуулын тоо ашиглах, мөн hdop. Та энэ мэдээллийг Arduiniana номын санд хэвлэхийн тулд синтаксийг хайж олох боломжтой. Ерөнхий хэлбэр нь Serial.print () юм. Жишээлбэл, уртраг хэвлэхийн тулд бид Serial.print (gps.location.lng (), 6) гэж бичнэ. 6 нь аравтын бутархайн баруун талд хэдэн цифр байхыг хүсч байгааг илэрхийлнэ.
Дараагийн алхамд хялбархан форматлахын тулд миний код нэмэлт тэмдэгтүүдийг хэвлэв. Хэрэв та энэ алхам дээр зогсохыг хүсч байвал цуваа дэлгэц дээр харахад хялбар байхын тулд өгөгдлийг өөр өөр хэлбэрээр форматлаж болно.
Алхам 4: Сонсохын тулд боловсруулалтыг ашиглах
Бид Arduino IDE -ийг тохируулах кодтой боловч энэ өгөгдлийг хадгалах асуудал гардаг. Одоогийн байдлаар бид цуваа монитор дээрх өгөгдлийг цуглуулж байхдаа л харах боломжтой. Энэ өгөгдлийг бүртгэх олон арга бий, гэхдээ би интерфэйс нь Arduino IDE -ийг дуурайдаг бөгөөд миний мэддэг Java хэлийг ашигладаг тул боловсруулалтыг сонгосон (хэрэв та Firmata -ийг татаж авбал Arduino самбарыг Processing ашиглан хянах боломжтой гэдгийг анхаарна уу). Боловсруулалт нь Arduino -той холбогдсон порт дээр сонсогддог бөгөөд цуваа дэлгэц дээр уншсан өгөгдлийг удирдах чадвартай байдаг. Энэ портын нэрийг олохын тулд Arduino IDE файл руугаа буцаж очоод Хэрэгслүүд> Порт руу очно уу.
Би Боловсруулах кодыг өгсөн боловч код хэрхэн ажилладаг талаар товч танилцуулга энд байна.
Тохируулах функцын өмнө портын хувьсагч, үр дүнгийн хүснэгт, бидний ажиллах мөр, файлын нэр байгаа эсэхийг шалгаарай. Дараа нь тохиргооны функц дээр Run цонхны хэмжээг тохируулах параметрүүд байдаг боловч эдгээр тоо нь бидний үйл ажиллагаанд нөлөөлдөггүй (жишээлбэл, тэдгээрийг (500, 500) болгож тохируулна уу). Портийг эхлүүлэхдээ String хэлбэрээр боомтын нэр болон 9600 өгөгдлийн хурдыг ашиглана уу. Эцэст нь хүснэгтийг эхлүүлэхийн тулд есөн багана (GPS -ийн долоон ангилал, цаг, огнооны хувьд) үүсгэнэ үү.
Татах функц дээр бид GPS -ийн өгөгдлийн багц бүрийг хэзээ гаргаж авсныг хянах зорилгоор огноо, цагийн функцийг ашигладаг. Одоо Arduino -аас өгөгдлийн урсгалыг уншиж, зөв цаг, огноог зохих гарчигт оруулахын тулд бид тогтмол илэрхийллийг ашигладаг.
Тэнцүү тэмдэг ба цэг таслал хоёрын хооронд ямар нэгэн илэрхийлэлийг хайж олох matchAll функцээр яг өгөгдлийг задлахын тулд би regex -ийг ашигладаг (миний Arduino кодонд оруулсан тусгаарлагч). Энэ нь дараа нь таарсан бүх хаяг, тоон өгөгдлийг хоёр хэмжээст массивт байрлуулна. Дараа нь бид эдгээр массивын индексүүдийг дуудаж Excel хуудасны толгойн доор байрлуулж болно.
Шинэ.csv файлыг хадгалахын тулд бид товчлуурыг дарж Run цонхыг хаадаг. Түлхүүр дарах хүртэл хүлээх тусам илүү их мэдээлэл цуглуулах болно. Өөр гарын авлагын дагуу би файлыг өгөгдлийн хавтсанд огноо, цагийг файлын нэрээр хадгалахаар шийдсэн.
Алхам 5: Tableau дээрх мэдээллийг олон нийтэд үзүүлэх
Эцсийн алхам нь зарим өгөгдлийг дүрслэн харуулах явдал юм. Өгөгдлийн дүрслэлийг бий болгох, харуулах олон програмууд байдаг, өөрөөр хэлбэл Plotly, гэхдээ энэ төслийн хувьд бид Tableau -ийг ашиглах болно. Tableau Public -ийг нээж, хадгалсан Excel файлыг текст файл хэлбэрээр нээнэ үү. Ажлын хуудас үүсгэхийн тулд зүүн доод буланд байгаа 1 -р хуудсан дээр дарна уу.
Бид GPS өгөгдөлтэй ажиллаж байгаа тул газрын зургийг ашиглан мэдээллээ дүрслэх болно. Хэмжилт гэж бичсэн зүүн баганад бид уртрагыг багана руу, өргөргийг эгнээ рүү чирнэ. Tableau нь хоёуланг нь AVG гэж тохируулдаг тул нэр томъёоны хажууд байгаа дусал дээр дарж хоёуланг нь Хэмжээ болгон өөрчилнө үү. Одоо газрын зураг дээр цуглуулсан өргөрөг ба уртрагийн утгыг ашиглан замыг харуулах ёстой.
Өгөгдлөө алдаанаас цэвэрлэхийн тулд (үүнийг Tableau -ийг нээхээс өмнө хийж болно), та зарим байршлын тойргийг дарж сонголтыг сонгож хасах боломжтой. Миний GPS -ийн модуль 100% үнэн зөв биш, учир нь миний замын зарим хэсгийг олоогүй байгаа боловч ерөнхий замыг тэмдэглэсэн болно.
Алхам 6: Viz -ийг сайжруулах
Сүүлийн хэсэг нь энэ өгөгдлийг илүү унших боломжтой болгох явдал юм. Хэрэв та гудамжны нөхцөл байдлыг мэдэхийг хүсч байвал Газрын зураг> Газрын зургийн давхарга> Гудамж ба хурдны зам руу очиж болно. Бусад тэмдэгтүүдтэй туршилт хийхээс бүү эргэлзээрэй. Хурд нэмэгдэхэд өнгөний эрч хүч хэрхэн нэмэгддэгийг харуулахын тулд би Speed over Color -ийг чирсэн. Би бас Label for Course -ийн оронд Detail -ийг ашигласан, учир нь Label нь тоонуудыг газрын зураг дээр харуулдаг байсан бол байршлын цэгүүд дээр хулганыг байрлуулахад л мэдээлэл гарч ирэхийг хүссэн юм.
Та өгөгдөл цуглуулах, өөрт байгаа бүхнээ харуулах бүх үйл явцыг мэдэрсэн тул үүнийг бусад төслүүдэд ашиглах боломжтой боллоо!
Пинди Хуанг, 2018 оны зун
Зөвлөмж болгож буй:
Загвар төмөр замын WiFi DCC командын станц: 5 алхам
Загвар төмөр замд зориулсан WiFi DCC командын станц: 2021 оны 4 -р сарын 5 -нд шинэчлэгдсэн: хэлхээний бүрэлдэхүүн хэсгүүдийн шинэ ноорог ба горим. Шинэ ноорог: command_station_wifi_dcc3_LMD18200_v4.ino WiFi -ийг ашиглан зааварчилгаа өгөх шинэ DCC системийг гар утас/таблет тохируулагчийн 3 хэрэглэгч ашиглаж болно. fo
АС -ийн тэжээлийн дутагдал, батерейгаар тэжээгддэг LED замын гэрэл: 8 алхам
АС -ийн цахилгаан тасалдал, батерейгаар тэжээгддэг LED замын гэрэл: Саяхан цахилгаан тасарсан үед, миний подвалын хамгийн харанхуй гүнд … гэрэл үнэхээр тохиромжтой байх байсан. Харамсалтай нь миний гар чийдэн хэдхэн харанхуй өрөөнөөс хол байв. Би жаахан эргэлдэж, гэрлийг олж гэр бүлийн өрөө рүүгээ явлаа. Миний утас
Төмөр замын загвараас энгийн автомат цэг: 10 алхам (зурагтай)
Төмөр замын загвараас энгийн автомат цэг: Arduino микроконтроллерууд нь төмөр замын загварыг автоматжуулах гайхалтай хэрэгсэл юм. Байршлыг автоматжуулах нь галт тэргийг автомат дарааллаар ажиллуулахын тулд зохион байгуулалтыг програмчилж болох дэлгэц дээр байрлуулах гэх мэт олон зорилгоор ашигтай байдаг. Би
Замын объектын илрүүлэлтийг ашигладаг замын хөдөлгөөний анализатор: 11 алхам (зурагтай)
Замын объектын илрүүлэлтийг ашигладаг замын хөдөлгөөний анализатор: Орчин үеийн ертөнцөд гэрлэн дохио нь аюулгүй замд зайлшгүй шаардлагатай байдаг. Гэсэн хэдий ч улаан гэрэл асахтай зэрэгцэн хэн нэгэн гэрэл рүү ойртоход гэрлэн дохио олон удаа бухимдуулдаг. Энэ нь цагийг дэмий үрдэг, ялангуяа гэрэл асаж байвал
Төмөр замын өндөр төмөр замын тээврийн хэрэгслийг зам дээр хэрхэн яаж байрлуулах вэ: 10 алхам (зурагтай)
Төмөр замын өндөр төмөр замын тээврийн хэрэгслийг зам дээр хэрхэн яаж байрлуулах вэ: Аюулгүй байдлын урьдчилан сэргийлэх арга хэмжээ: Өндөр төмөр замын ачааны машиныг төмөр зам дээр тавьж буй хүн, туслах хүн нь харагдахын тулд өндөр үзэгдэх хувцас (хантааз, цамц, цамц) өмсөх ёстой. ирж болзошгүй замын хөдөлгөөнөөр. Хатуу малгай, бээлий ч өмсөх ёстой