- Потребне компоненте:
- ГПС модул и његов рад:
- Припрема Распберри Пи за комуникацију са ГПС-ом:
- Конекције за повезивање Распберри Пи ГПС модула:
- Тестирање пре Питхон скрипте:
Једна од најзгоднијих уграђених платформи као што је Ардуино дала је произвођачима и самосталним радницима могућност да лако дођу до података о локацији помоћу ГПС модула и тако граде ствари које се ослањају на локацију. Са количином енергије коју је запаковао Распберри Пи, сигурно ће бити сјајно градити пројекте засноване на ГПС-у са истим јефтиним ГПС модулима и то је фокус овог поста. Данас ћемо у овом пројекту повезати ГПС модул са Распберри Пи 3.
Циљ овог пројекта је прикупити податке о локацији (дужину и ширину) путем УАРТ-а са ГПС модула и приказати их на ЛЦД-у 16к2, па ако нисте упознати са начином на који 16к2 ЛЦД ради са Распберри Пи-ом, ово је још један одлична прилика за учење.
Потребне компоненте:
- Распберри Пи 3
- Нео 6м в2 ГПС модул
- 16 к 2 ЛЦД
- Извор напајања за Распберри Пи
- ЛАН кабл за повезивање пи-а са рачунаром у режиму без главе
- Бреадбоард и Јумпер каблови
- Отпорник / потенциометар на ЛЦД-у
- Меморијска картица 8 или 16Гб на рачунару Распбиан Јессие
Осим тога, морамо инсталирати ГПС Даемон (ГПСД) библиотеку, 16к2 ЛЦД Адафруит библиотеку, коју инсталирамо касније у овом упутству.
Овде користимо Распберри Пи 3 са ОС Распбиан Јессие. Сви основни хардверски и софтверски захтеви су претходно разматрани, можете их потражити у Уводу о Распберри Пи.
ГПС модул и његов рад:
ГПС је скраћеница од Глобал Поситионинг Систем (Глобални систем позиционирања) и користи се за откривање ширине и дужине било које локације на Земљи, са тачним УТЦ временом (координирано универзалним временом). ГПС модул је главна компонента у нашем пројекту система за праћење возила. Овај уређај прима координате са сателита сваке секунде, са временом и датумом.
ГПС модул шаље податке који се односе на положај праћења у реалном времену и шаље толико података у НМЕА формату (погледајте снимак екрана испод). НМЕА формат се састоји од неколико реченица, у којима нам треба само једна реченица. Ова реченица почиње од $ ГПГГА и садржи координате, време и друге корисне информације. Овај ГПГГА се односи на податке о поправљању система глобалног позиционирања. Овде сазнајте више о читању ГПС података и његових низова.
Координате можемо извући из $ ГПГГА низа бројањем зареза у низу. Претпоставимо да нађете $ ГПГГА низ и сачувате га у низу, а затим Латитуде можете пронаћи након два зареза, а Лонгитуде након четири зареза. Сада се ове географске ширине и дужине могу ставити у друге низове.
Испод је $ ГПГГА стринг, заједно са његовим описом:
$ ГПГГА, 104534.000,7791.0381, Н, 06727.4434, Е, 1,08,0.9,510.4, М, 43.9, М,, * 47
$ ГПГГА, ХХММСС.ССС, географска ширина, Н, географска дужина, Е, ФК, НОС, ХДП, надморска висина, М, висина, М,, подаци о контролној суми
Идентификатор |
Опис |
$ ГПГГА |
Подаци о поправкама система глобалног позиционирања |
ХХММСС.ССС |
Време у сатима минутним секундама и милисекундама. |
Географска ширина |
Ширина (координата) |
Н. |
Правац Н = Север, С = Југ |
Земљописна дужина |
Географска дужина (координата) |
Е. |
Правац Е = Исток, З = Запад |
ФК |
Исправите податке о квалитету |
НОС |
Број сателита који се користе |
ХПД |
Хоризонтално разређивање прецизности |
Домет |
Надморска висина од нивоа мора |
М. |
Метар |
Висина |
Висина |
Контролна сума |
Подаци о контролној суми |
Можете погледати и остале наше ГПС пројекте:
- Трацкер возила заснован на Ардуину користећи ГПС и ГСМ
- Систем за узбуњивање незгода на бази Ардуина који користи ГПС, ГСМ и акцелерометар
- Како се користи ГПС са Ардуином
- Пратите возило на Гоогле мапама користећи Ардуино, ЕСП8266 и ГПС
Припрема Распберри Пи за комуникацију са ГПС-ом:
Ок, ускочите, тако да ово не постане досадно, претпостављам да већ знате много о Распберри Пи, довољно да инсталирате свој ОС, добијете ИП адресу, повежете се са терминалним софтвером попут кита и другим стварима о ПИ. Ако имате било какав проблем у вези са било којом од горе поменутих ствари, ударите ме у одељак за коментаре и биће ми драго да вам помогнем.
Прва ствар коју морамо да урадимо да бисмо покренули овај пројекат је да припремимо нашу Распберри Пи 3 да би могла да комуницира са ГПС модулом путем УАРТ-а, верујте ми, прилично је зезнуто и прилично сам се потрудила да је исправим, али ако следите пажљиво водича, добићете га одједном, ово је прилично најтежи део пројекта. Овде смо користили Нео 6м в2 ГПС модул.
Да бисте заронили, ево мало објашњења како функционише Распберри Пи 3 УАРТ.
Распберри Пи има два уграђена УАРТ-а, ПЛ011 и мини УАРТ. Примењују се помоћу различитих хардверских блокова, тако да имају мало различите карактеристике. На Распберри пи 3, међутим, бежични / блуетоотх модул је повезан на ПЛО11 УАРТ, док се мини УАРТ користи за излазак линук конзоле. У зависности од тога како га видите, дефинисаћу ПЛО11 као најбољи од два УАРТ-а због нивоа његове имплементације. Дакле, за овај пројекат ћемо деактивирати Блуетоотх модул са ПЛО11 УАРТ користећи прекривач доступан у ажурираној тренутној верзији Распбиан Јессие.
Корак 1: Ажурирање Распберри Пи:
Прво што волим да волим да радим пре започињања сваког пројекта је ажурирање малине пи. Дакле, пустимо уобичајено и покренимо наредбе испод;
судо апт-гет упдате судо апт-гет надоградња
затим поново покрените систем са;
судо ребоот
Корак 2: Подешавање УАРТ-а у Распберри Пи:
Прво што ћемо урадити под овим је да уредимо датотеку /боот/цонфиг.ткт . Да бисте то урадили, покрените наредбе у наставку:
судо нано /боот/цонфиг.ткт
на дну датотеке цонфиг.ткт додајте следеће редове
дтпарам = спи = на дтоверлаи = пи3-дисабле-бт цоре_фрек = 250 енабле_уарт = 1 форце_турбо = 1
цтрл + к за излаз и притисните и и ентер за спремање.
Уверите се да нема грешака у куцању или грешкама двоструком провером јер би грешка у томе могла спречити подизање система пи.
Који су разлози за ове наредбе, форце_турбо омогућава УАРТ-у да користи максималну фреквенцију језгра коју постављамо у овом случају на 250. Разлог томе је осигурати доследност и интегритет примљених серијских података. У овом тренутку је важно напоменути да ће употреба форце_турбо = 1 поништити гаранцију за вашу малину пи, али поред тога је прилично сигурна.
Дтоверлаи = ПИ3-онемогући-бт дисконекција блуетоотх из ттиАМА0 , то је да нам омогућити приступ за потпуни УАРТ снагу на располагању преко ттиАМАО уместо мини УАРТ ттиС0.
Други корак у овом одељку за подешавање УАРТ-а је уређивање боот / цмдлине.ткт
Предложићу вам да направите копију цмдлине.ткт и да је прво сачувате пре уређивања да бисте се касније вратили по потреби. То се може учинити помоћу;
судо цп боот / цмдлине.ткт боот / цмдлине_бацкуп.ткт судо нано /боот.цмдлине.ткт
Замените садржај са;
двц_отг.лпм_енабле = 0 цонсоле = тти1 роот = / дев / ммцблк0п2 роотфстипе = ект4 елеватор = рок фсцк.репаир = да роотваит тихи пљусак плимоутх.игноре-сериал-цонсолес
Сачувај и изађи.
Након овога, мораћемо поново да покренемо систем да бисмо извршили промене ( судо ребоот ).
Корак 3: Онемогућавање услуге Распберри Пи Сериал Гетти
Следећи корак је онемогућавање Пи-јеве серијске услуге гетти , наредба ће спречити његово поновно покретање при поновном покретању:
судо системцтл заустави сериал-гетти@ттиС0.сервице судо системцтл онемогући сериал-гетти@ттиС0.сервице
Следеће команде се могу користити да би се по потреби поново омогућиле
судо системцтл омогући сериал-гетти@ттиС0.сервице судо системцтл старт сериал-гетти@ттиС0.сервице
Поново покрените систем.
Корак 4: Активирање ттиАМАО:
Онемогућили смо ттиС0, следећа ствар је да омогућимо ттиАМАО .
судо системцтл енабле сериал-гетти@ттиАМА0.сервице
Корак 5: Инсталирајте Миницом и пинмеа2:
Ми ћемо бити миником који ће се повезати са ГПС модулом и смислити податке. Такође је један од алата који ћемо користити за тестирање јер наш ГПС модул ради у реду. Алтернатива миницом-у је демон софтвер ГПСД.
судо апт-гет инсталација миницом
Да бисмо лако рашчланили примљене податке, користићемо библиотеку пинмеа2 . Може се инсталирати помоћу;
судо пип инсталирај пинмеа2
Документацију из библиотеке можете пронаћи овде хттпс://гитхуб.цом/Книо/пинмеа2
Корак 6: Инсталирање ЛЦД библиотеке:
За овај водич користићемо библиотеку АдаФруит. Библиотека је направљена за АдаФруит екране, али такође ради и за дисплеје који користе ХД44780. Ако се ваш заслон заснива на овоме, требало би да ради без проблема.
Мислим да је боље клонирати библиотеку и само директно инсталирати. Да клонирам трчање;
гит клон хттпс://гитхуб.цом/адафруит/Адафруит_Питхон_ЦхарЛЦД.гит
промените у клонирани директоријум и инсталирајте га
цд./Адафруит_Питхон_ЦхарЛЦД судо питхон сетуп.пи инсталација
У овој фази предложићу још једно поновно покретање како бисмо били спремни да пређемо на повезивање компонената.
Конекције за повезивање Распберри Пи ГПС модула:
Повежите ГПС модул и ЛЦД заслон са Распберри Пи како је приказано на доњем кругу.
Тестирање пре Питхон скрипте:
Сматрам важним да тестирам везу ГПС модула пре него што наставим са питхон скриптом, за то ћемо запослити миницом. Покрените наредбу:
судо миницом -Д / дев / ттиАМА0 -б9600
где 9600 представља брзину преноса података по којој ГПС модул комуницира. Ово се може користити једном када се уверимо у комуникацију података између ГПС-а и РПИ-а, време је да напишемо нашу питхон скрипту.
Тест се такође може обавити помоћу мачке
судо цат / дев / ттиАМА0
У прозору можете видети НМЕА реченице о којима смо раније разговарали.
Питхон Сцрипт за овај водич за Распберри Пи ГПС дат је испод у одељку Цоде.
Уз све речено и готово, време је да тестирамо цео систем. Важно је да обезбедите да ваш ГПС добије добар поправак, тако што ћете га извадити, већини ГПС-а је потребно између три до 4 сателита да би га поправили, иако је мој радио у затвореном.
Ради тачно? Да…
Имате питања или коментара? Баците их у одељак за коментаре.
Демонстрациони видео је дат у наставку, где смо приказали локацију у географској ширини и дужини на ЛЦД-у користећи ГПС и Распберри Пи.