Мазмуну:

Жол картасы: 6 кадам
Жол картасы: 6 кадам

Video: Жол картасы: 6 кадам

Video: Жол картасы: 6 кадам
Video: АСТАГФИРУЛЛАХ! ҚАБЫР ІШІНЕ КАМЕРА ОРНАТЫБ КӨМЫЛГЕН АДАМ 2024, Ноябрь
Anonim
Жол картасы
Жол картасы
Жол картасы
Жол картасы
Жол картасы
Жол картасы

Бул IoT долбоорунда биз NEO-6M (GPS модулу) менен байланышып, жайгашуу маалыматын Arduino аркылуу компьютерде сактала турган Excel баракчасына жеткиребиз. Кийин Tableau Public менен, биз басып өткөн жолду картага түшүрүү үчүн бул маалыматтардын маалыматын визуалдаштырууну түзөбүз. Бул абдан корреляцияланган маалыматтарда реалдуу убакытта маалыматтарды чогултуунун жана көрсөтүүнүн бир жолу болсо да, бул процесс башка маалыматка негизделген долбоорлорго да колдонулушу мүмкүн.

1 -кадам: Материалдарды алуу

Материалдарды алуу
Материалдарды алуу

Бул долбоор үчүн сизге төмөнкүлөр керек болот:

  • NEO-6M GPS модулу
  • Arduino Uno
  • Эркек/эркек секирүүчү зымдар (сизге 4 зым керек)
  • USB 2.0 кабели Адан Вге чейин
  • Бул программалар бар компьютер: Tableau Public, Arduino IDE (TinyGPS ++ менен) жана иштетүү

2 -кадам: Түзмөктөрдү орнотуу

Түзмөктөрдү орнотуу
Түзмөктөрдү орнотуу
Түзмөктөрдү орнотуу
Түзмөктөрдү орнотуу

Биз биринчи кезекте GPS модулун Arduino UNO менен орнотушубуз керек, бул Arduino бизге маалыматтарды көрсөтүү үчүн интерфейс берет. 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 коддоо

Маалыматтарды алуу үчүн Arduino коддоо
Маалыматтарды алуу үчүн Arduino коддоо

Эми спутниктерден GPS маалыматын чогултуу үчүн орнотулган түзмөктөр бар болгондуктан, биз каалаган GPS маалыматын талдоо үчүн код жазабыз. Сиз сигналды алдыңыз деп ойлосоңуз (менин GPS модулум көк түстө өчүп калат), NEO-6M демейки боюнча сериялык мониторго чийки маалыматты NMEA билдирүүлөрү түрүндө басып чыгарат, алар $ GP сыяктуу окшош, андан кийин дагы тамгалар жана сериялар сандардын. Жогорудагы сүрөт негизги Arduino коду киргизилгенден кийин сериялык монитордо эмнени көрсөтүү керек экендиги жөнүндө жалпы түшүнүк берет.

Мен тиркеген кодду түшүндүрүү үчүн (же эгер сиз аны өзүңүз коддоого аракет кылгыңыз келсе), адегенде SoftwareSerial жана TinyGPS ++ китепканаларын кошушуңуз керек (экинчиси үчүн, Sketch> Кошуу>. ZIP китепканасын кошуу). SoftwareSerial бизге сериялык туташууга мүмкүндүк берет; TinyGPS ++ бизге максаттуу маалыматты окула турган түрдө басып чыгаруунун оңой куралын берет. SoftwareSerial объектисин Arduinoдогу тийиштүү казыктарга инициализациялаганыңызды текшериңиз. Орнотуу функциясында биз 9600 колдонобуз, ылдамдыктын ылдамдыгы.

Бул көрсөтмө берүү үчүн, биз цикл функциясында жети түрдөгү маалыматты гана басып чыгарабыз: кеңдик (градус), узундук (градус), ылдамдык (км), курс (градус), бийиктик (км), спутниктердин саны колдонуу, жана hdop. Сиз бул маалыматты басып чыгаруу үчүн синтаксисти Arduiniana китепканасынан издей аласыз. Жалпы түрү Serial.print (). Мисалы, узундукту басып чыгаруу үчүн, биз Serial.print (gps.location.lng (), 6) деп теребиз. 6, ондук чекиттин оң жагында канча цифраны каалаарыбызды билдирет.

Менин кодумда кийинки кадамда оңой форматталган регекс үчүн басылган кошумча белгилер бар. Эгерде сиз бул кадамга токтогуңуз келсе, сериялык монитордо көрүүнү жеңилдетүү үчүн маалыматтарды башкача форматтаңыз.

4 -кадам: Угуу үчүн иштетүүнү колдонуу

Угуу үчүн иштетүүнү колдонуу
Угуу үчүн иштетүүнү колдонуу

Бизде Arduino IDE орнотуу коду бар болсо да, бизде бул маалыматты сактоо маселеси бар. Азырынча биз сериялык монитордогу маалыматтарды чогултуп жатканда гана көрө алабыз. Бул маалыматтарды каттоонун көптөгөн жолдору бар, бирок мен биринчи кезекте анын иштетүү интерфейси Arduino IDEге окшош болгондуктан жана ал мага тааныш болгон Java тилин колдонгону үчүн иштетүүнү тандадым (эгер сиз Firmata жүктөп алсаңыз, кайра иштетүү менен Arduino тактасын башкара аласыз). Иштетүү Arduino менен туташкан портто угулат жана сериялык мониторго окулган маалыматтарды иштетүү мүмкүнчүлүгүнө ээ. Бул порттун атын табуу үчүн, Arduino IDE файлына кайрылып, Куралдар> Портту текшериңиз.

Мен иштетүү кодун бердим, бирок бул жерде коддун иштеши боюнча кыскача сереп.

Орнотуу функциясын аткаруудан мурун, порт үчүн өзгөрмөлөр бар экениңизди, алынган таблицаны, биз иштей турган сапты жана файлдын атын текшериңиз. Андан кийин, орнотуу функциясында, Run терезеңиздин өлчөмүн коюу үчүн параметрлер бар, бирок бул сандар биздин иштөөбүзгө таасир этпейт (мисалы, аларды (500, 500) деп коюңуз). Портту баштапкы абалга келтиргенде, String түрүндөгү порттун атын жана 9600 бады колдонуңуз. Акырында, столду инициализациялоо үчүн тогуз тилкени (жети GPS категориясы, убактысы жана датасы үчүн) түзүңүз.

Тартуу функциясында биз GPS маалыматтарынын ар бир топтому качан алынганын көзөмөлдөө үчүн курулган дата жана убакыт функцияларын колдонобуз. Эми Arduino маалымат агымын окуу жана аны туура убакыт жана күн менен ылайыктуу аталыштардын астына коюу үчүн, биз үзгүлтүксүз сөз айкаштарын колдонобуз.

Мен бирдей белгиси менен үтүрлүү чекиттин ортосундагы ар кандай туюнтманы издеген matchAll функциясы менен так маалыматтарды талдоо үчүн regexти колдоном (мен Arduino кодума койгон чек арачылар). Бул кийинчерээк бардык дал келген тегдерди, сандык маалыматтарды эки өлчөмдүү массивге жайгаштырат. Андан кийин биз бул массив индекстерин Excel баракчасынын аталыштарынын астына коюуга чакыра алабыз.

Жаңы.csv файлын сактоо үчүн, биз Run терезесин жабуу үчүн баскычты басабыз. Баскычты басуу үчүн канчалык көп күтсөңүз, ошончолук көп маалымат чогултасыз. Башка гиддин жолун жолдоп, мен дагы файлдын аталышы катары датасы жана убактысы бар маалымат папкасына сактоону чечтим.

5 -кадам: Tableau Publicда маалыматтарды көрсөтүү

Tableau Public жөнүндө маалыматтарды көрсөтүү
Tableau Public жөнүндө маалыматтарды көрсөтүү
Tableau Public жөнүндө маалыматтарды көрсөтүү
Tableau Public жөнүндө маалыматтарды көрсөтүү
Tableau Public жөнүндө маалыматтарды көрсөтүү
Tableau Public жөнүндө маалыматтарды көрсөтүү

Акыркы кадам кээ бир маалыматтарды элестетүүнү камтыйт. Маалыматтын визуалдаштырылышын түзүү жана көрсөтүү үчүн көптөгөн программалар бар, башкача айтканда Plotly, бирок бул долбоор үчүн Tableau колдонобуз. Tableau Public программасын ачыңыз жана сакталган Excel файлын текст файлы катары ачыңыз. Иш барагын түзүү үчүн, сол жактын астындагы 1 -баракты чыкылдатыңыз.

Биз GPS маалыматы менен иштеп жаткандыктан, биз маалыматты чагылдыруу үчүн картаны колдонобуз. Ченөөлөр жазылган сол мамычада биз Узундукту Мамычаларга жана Кеңдикти Саптарга Сүйрөйбүз. Tableau эки чараны тең AVG үчүн демейки абалга келтирет, андыктан шарттардын жанындагы ачылуучу баскычты чыкылдатып, экөөнү тең Өлчөмгө өзгөртүңүз. Эми картада чогултулган кеңдик жана узундук баалуулуктарын колдонуу менен көрсөтүлгөн жол болушу керек.

Дайындарыңызды катачылыктан тазалоо үчүн (бул Tableau ачуудан мурун да жасалышы мүмкүн), сиз аларды басып, параметрди тандоо менен кээ бир жайгашкан чөйрөлөрдү алып салууну тандасаңыз болот. Менин GPS модулум 100% так эмес, анткени менин жолдун кээ бир жерлери жайгашкан эмес, бирок жалпы жол жазылган.

6 -кадам: Визди тазалоо

Визди тазалоо
Визди тазалоо

Акыркы бөлүгү - бул маалыматтарды окумдуу кылуу. Эгерде сиз көчө контекстин кааласаңыз, анда Карта> Карта катмары> Көчө жана Шосселерге барсаңыз болот. Башка Маркалар менен тажрыйба жүргүзүүдөн тартынбаңыз. Мен ылдамдык жогорулаганда түстүн интенсивдүүлүгү кантип жогорулаарын көрсөтүү үчүн Speed to Color'ди сүйрөдүм. Мен ошондой эле курстун этикеткасынын ордуна деталды колдондум, анткени Label цифраларды картада көрсөтөт, ал эми мен сиз жайгашкан жердин чекиттеринин үстүнө чыкканыңызда гана маалыматтын чыгышын кааладым.

Эми сиз маалыматтарды чогултуунун жана маалымат визуалдаштырууңуздагы нерселерди көрсөтүүнүн бүт процессин башыңыздан өткөрдүңүз, муну башка долбоорлорго колдонсоңуз болот!

Pingdi Huang тарабынан, Жай 2018

Сунушталууда: