- అవసరమైన భాగాలు:
- GPS మాడ్యూల్ మరియు దాని పని:
- GPS తో కమ్యూనికేట్ చేయడానికి రాస్ప్బెర్రీ పైని సిద్ధం చేస్తోంది:
- రాస్ప్బెర్రీ పై GPS మాడ్యూల్ ఇంటర్ఫేసింగ్ కోసం కనెక్షన్లు:
- పైథాన్ స్క్రిప్ట్ ముందు పరీక్ష:
ఆర్డునో వంటి చక్కని ఎంబెడెడ్ ప్లాట్ఫామ్లలో ఒకటి మేకర్స్ మరియు డివైయర్లకు జిపిఎస్ మాడ్యూల్ ఉపయోగించి స్థాన డేటాను సులభంగా పొందగల సామర్థ్యాన్ని ఇచ్చింది మరియు తద్వారా స్థానం మీద ఆధారపడే వస్తువులను నిర్మించగలదు. రాస్ప్బెర్రీ పై చేత ప్యాక్ చేయబడిన శక్తితో, అదే చౌకైన జిపిఎస్ మాడ్యూళ్ళతో జిపిఎస్ ఆధారిత ప్రాజెక్టులను నిర్మించడం చాలా అద్భుతంగా ఉంటుంది మరియు అది ఈ పోస్ట్ యొక్క దృష్టి. ఈ రోజు ఈ ప్రాజెక్టులో మేము రాస్ప్బెర్రీ పై 3 తో GPS మాడ్యూల్ను ఇంటర్ఫేస్ చేస్తాము .
ఈ ప్రాజెక్ట్ యొక్క లక్ష్యం GPS మాడ్యూల్ నుండి UART ద్వారా స్థాన డేటాను (రేఖాంశం మరియు అక్షాంశం) సేకరించి వాటిని 16x2 LCD లో ప్రదర్శించడం, కాబట్టి 16x2 LCD రాస్ప్బెర్రీ పైతో పనిచేసే విధానం మీకు తెలియకపోతే, ఇది మరొకటి నేర్చుకోవడానికి గొప్ప అవకాశం.
అవసరమైన భాగాలు:
- రాస్ప్బెర్రీ పై 3
- నియో 6 ఎమ్ వి 2 జిపిఎస్ మాడ్యూల్
- 16 x 2 ఎల్సిడి
- రాస్ప్బెర్రీ పై కోసం శక్తి వనరు
- హెడ్లెస్ మోడ్లో పైని మీ PC కి కనెక్ట్ చేయడానికి LAN కేబుల్
- బ్రెడ్బోర్డ్ మరియు జంపర్ కేబుల్స్
- LCD కి రెసిస్టర్ / పొటెన్టోమీటర్
- రాస్పియన్ జెస్సీ నడుస్తున్న మెమరీ కార్డ్ 8 లేదా 16 జిబి
అలా కాకుండా మనం ఈ ట్యుటోరియల్లో తరువాత ఇన్స్టాల్ చేసే GPS డీమన్ (GPSD) లైబ్రరీ, 16x2 LCD అడాఫ్రూట్ లైబ్రరీని ఇన్స్టాల్ చేయాలి.
ఇక్కడ మేము రాస్ప్బెర్రీ పై 3 ను రాస్పియన్ జెస్సీ OS తో ఉపయోగిస్తున్నాము. అన్ని ప్రాథమిక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాలు గతంలో చర్చించబడ్డాయి, మీరు దీన్ని రాస్ప్బెర్రీ పై ఇంట్రడక్షన్లో చూడవచ్చు.
GPS మాడ్యూల్ మరియు దాని పని:
GPS అంటే గ్లోబల్ పొజిషనింగ్ సిస్టమ్ మరియు భూమిపై ఏదైనా ప్రదేశం యొక్క అక్షాంశం మరియు రేఖాంశాలను గుర్తించడానికి ఉపయోగిస్తారు, ఖచ్చితమైన UTC సమయం (యూనివర్సల్ టైమ్ కోఆర్డినేటెడ్). మా వాహన ట్రాకింగ్ సిస్టమ్ ప్రాజెక్టులో GPS మాడ్యూల్ ప్రధాన భాగం. ఈ పరికరం సమయం మరియు తేదీతో ప్రతి సెకనుకు ఉపగ్రహం నుండి అక్షాంశాలను అందుకుంటుంది.
GPS మాడ్యూల్ ట్రాకింగ్ స్థానానికి సంబంధించిన డేటాను నిజ సమయంలో పంపుతుంది మరియు ఇది NMEA ఆకృతిలో చాలా డేటాను పంపుతుంది (క్రింద స్క్రీన్ షాట్ చూడండి). NMEA ఫార్మాట్ అనేక వాక్యాలను కలిగి ఉంటుంది, దీనిలో మనకు ఒక వాక్యం మాత్రమే అవసరం. ఈ వాక్యం $ GPGGA నుండి మొదలవుతుంది మరియు అక్షాంశాలు, సమయం మరియు ఇతర ఉపయోగకరమైన సమాచారాన్ని కలిగి ఉంటుంది. ఈ GPGGA ని గ్లోబల్ పొజిషనింగ్ సిస్టమ్ ఫిక్స్ డేటాకు సూచిస్తారు. GPS డేటా మరియు దాని తీగలను చదవడం గురించి ఇక్కడ మరింత తెలుసుకోండి.
స్ట్రింగ్లోని కామాలతో లెక్కించడం ద్వారా మేము $ GPGGA స్ట్రింగ్ నుండి కోఆర్డినేట్ను సేకరించవచ్చు. మీరు $ GPGGA స్ట్రింగ్ను కనుగొని, దానిని శ్రేణిలో నిల్వ చేస్తారని అనుకుందాం, అప్పుడు రెండు కామాలతో అక్షాంశం కనుగొనవచ్చు మరియు నాలుగు కామాలతో తర్వాత రేఖాంశం కనుగొనవచ్చు. ఇప్పుడు ఈ అక్షాంశం మరియు రేఖాంశాలను ఇతర శ్రేణులలో ఉంచవచ్చు.
దాని వివరణతో పాటు $ GPGGA స్ట్రింగ్ క్రింద ఉంది:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0.9,510.4, M, 43.9, M,, * 47
$ GPGGA, HHMMSS.SSS, అక్షాంశం, N, రేఖాంశం, E, FQ, NOS, HDP, ఎత్తు, M, ఎత్తు, M, చెక్సమ్ డేటా
ఐడెంటిఫైయర్ |
వివరణ |
$ GPGGA |
గ్లోబల్ పొజిషనింగ్ సిస్టమ్ ఫిక్స్ డేటా |
HHMMSS.SSS |
గంట నిమిషం సెకన్లు మరియు మిల్లీసెకన్ల ఆకృతిలో సమయం. |
అక్షాంశం |
అక్షాంశం (సమన్వయం) |
ఎన్ |
దిశ N = ఉత్తరం, S = దక్షిణ |
రేఖాంశం |
రేఖాంశం (సమన్వయం) |
ఇ |
దిశ E = తూర్పు, W = పడమర |
FQ |
నాణ్యమైన డేటాను పరిష్కరించండి |
NOS |
వాడుతున్న ఉపగ్రహాల సంఖ్య |
HPD |
ప్రెసిషన్ యొక్క క్షితిజసమాంతర పలుచన |
ఎత్తు |
సముద్ర మట్టం నుండి ఎత్తు |
ఓం |
మీటర్ |
ఎత్తు |
ఎత్తు |
చెక్సమ్ |
చెక్సమ్ డేటా |
మీరు మా ఇతర GPS ప్రాజెక్టులను తనిఖీ చేయవచ్చు:
- GPS మరియు GSM ఉపయోగించి ఆర్డునో ఆధారిత వాహన ట్రాకర్
- జిపిఎస్, జిఎస్ఎమ్ మరియు యాక్సిలెరోమీటర్ ఉపయోగించి ఆర్డునో బేస్డ్ వెహికల్ యాక్సిడెంట్ అలర్ట్ సిస్టమ్
- Arduino తో GPS ఎలా ఉపయోగించాలి
- Arduino, ESP8266 & GPS ఉపయోగించి గూగుల్ మ్యాప్స్లో వాహనాన్ని ట్రాక్ చేయండి
GPS తో కమ్యూనికేట్ చేయడానికి రాస్ప్బెర్రీ పైని సిద్ధం చేస్తోంది:
లోపలికి వెళ్లడానికి సరే, కాబట్టి ఇది బోరింగ్ కాదు, మీ OS ని ఇన్స్టాల్ చేసుకోవటానికి, IP చిరునామాను పొందటానికి, పుట్టీ వంటి టెర్మినల్ సాఫ్ట్వేర్కు కనెక్ట్ అవ్వడానికి మరియు రాస్ప్బెర్రీ పై గురించి మీకు ఇప్పటికే చాలా తెలుసు అని నేను అనుకుంటాను. పిఐ. పైన పేర్కొన్న ఏవైనా పనులు చేయడంలో మీకు ఏమైనా సమస్య ఉంటే, వ్యాఖ్య విభాగం కింద నన్ను కొట్టండి మరియు నేను సహాయం చేయడానికి సంతోషిస్తాను.
ఈ ప్రాజెక్ట్ జరగడానికి మేము చేయవలసిన మొదటి విషయం ఏమిటంటే, UART ద్వారా GPS మాడ్యూల్తో కమ్యూనికేట్ చేయగలిగేలా మా రాస్ప్బెర్రీ పై 3 ను సిద్ధం చేయడం, నన్ను నమ్మండి, ఇది చాలా గమ్మత్తైనది మరియు దాన్ని సరిగ్గా పొందడానికి చాలా ప్రయత్నం చేసింది కానీ మీరు అనుసరిస్తే నా గైడ్ జాగ్రత్తగా మీరు దాన్ని ఒకేసారి పొందుతారు, ఇది ప్రాజెక్ట్ యొక్క చాలా కష్టమైన భాగం. ఇక్కడ మేము నియో 6 ఎమ్ వి 2 జిపిఎస్ మాడ్యూల్ ఉపయోగించాము.
ప్రవేశించడానికి, రాస్ప్బెర్రీ పై 3 UART ఎలా పనిచేస్తుందో ఇక్కడ కొద్దిగా వివరణ ఉంది.
రాస్ప్బెర్రీ పై రెండు అంతర్నిర్మిత UART లను కలిగి ఉంది, PL011 మరియు మినీ UART. అవి వేర్వేరు హార్డ్వేర్ బ్లాక్లను ఉపయోగించి అమలు చేయబడతాయి కాబట్టి అవి కొద్దిగా భిన్నమైన లక్షణాలను కలిగి ఉంటాయి. కోరిందకాయ పై 3 లో, వైర్లెస్ / బ్లూటూత్ మాడ్యూల్ PLO11 UART కి అనుసంధానించబడి ఉంది, అయితే మినీ UART లైనక్స్ కన్సోల్ అవుట్పుట్ కోసం ఉపయోగించబడుతుంది. మీరు దీన్ని ఎలా చూస్తారనే దానిపై ఆధారపడి, PLO11 దాని అమలు స్థాయి కారణంగా రెండు UART లలో ఉత్తమమైనదిగా నిర్వచించాను. కాబట్టి ఈ ప్రాజెక్ట్ కోసం మేము రాస్పియన్ జెస్సీ యొక్క నవీకరించబడిన ప్రస్తుత వెర్షన్లో లభించే అతివ్యాప్తిని ఉపయోగించి PLO11 UART నుండి బ్లూటూత్ మాడ్యూల్ను నిష్క్రియం చేస్తాము.
దశ 1: రాస్ప్బెర్రీ పైని నవీకరిస్తోంది:
ప్రతి ప్రాజెక్ట్ను ప్రారంభించే ముందు నేను చేయాలనుకుంటున్న మొదటి విషయం కోరిందకాయ పైని నవీకరించడం. కాబట్టి మామూలుగా చేసి, క్రింద ఉన్న ఆదేశాలను అమలు చేద్దాం;
sudo apt-get update sudo apt-get update
సిస్టమ్ను రీబూట్ చేయండి;
sudo రీబూట్
దశ 2: రాస్ప్బెర్రీ పైలో UART ని ఏర్పాటు చేయడం:
దీని కింద మనం చేసే మొదటి పని /boot/config.txt ఫైల్ను సవరించడం. దీన్ని చేయడానికి, దిగువ ఆదేశాలను అమలు చేయండి:
sudo nano /boot/config.txt
config.txt ఫైల్ దిగువన, కింది పంక్తులను జోడించండి
dtparam = spi = on dtoverlay = pi3-disable-bt core_freq = 250 enable_uart = 1 force_turbo = 1
నిష్క్రమించడానికి ctrl + x మరియు y నొక్కండి మరియు సేవ్ చేయడానికి నమోదు చేయండి.
లోపంతో డబుల్ చెక్ చేయడం ద్వారా అక్షరదోషాలు లేదా లోపాలు లేవని నిర్ధారించుకోండి.
ఈ ఆదేశాలకు కారణాలు ఏమిటి, ఈ సందర్భంలో మేము సెట్ చేస్తున్న గరిష్ట కోర్ ఫ్రీక్వెన్సీని 250 గా ఉపయోగించడానికి ఫోర్స్_టర్బో UART ని అనుమతిస్తుంది. దీనికి కారణం సీరియల్ డేటా యొక్క స్థిరత్వం మరియు సమగ్రతను నిర్ధారించడం. ఫోర్స్_టర్బో = 1 ను ఉపయోగించడం మీ కోరిందకాయ పై యొక్క వారంటీని రద్దు చేస్తుందని ఈ సమయంలో గమనించాల్సిన అవసరం ఉంది, అయితే, ఇది చాలా సురక్షితం.
Dtoverlay = pi3--నిలిపివేయి BT వేరుచేయడం నుండి బ్లూటూత్ ttyAMA0 , ఈ మాకు ద్వారా అందుబాటులో పూర్తి UART అధికారాన్ని ఉపయోగించడానికి యాక్సెస్ అనుమతించేది ttyAMAO బదులుగా మినీ UART ttyS0.
ఈ UART సెటప్ విభాగం కింద రెండవ దశ బూట్ / cmdline.txt ను సవరించడం
Cmdline.txt యొక్క కాపీని తయారు చేసి, సవరించడానికి ముందు మొదట సేవ్ చేయమని నేను మీకు సూచిస్తాను, తద్వారా అవసరమైతే మీరు దానిని తిరిగి మార్చవచ్చు. దీనిని ఉపయోగించి చేయవచ్చు;
sudo cp boot / cmdline.txt boot / cmdline_backup.txt sudo nano /boot.cmdline.txt
దీనితో కంటెంట్ను భర్తీ చేయండి;
dwc_otg.lpm_enable = 0 కన్సోల్ = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 ఎలివేటర్ = గడువు fsck.repair = అవును రూట్వైట్ నిశ్శబ్ద స్ప్లాష్ plymouth.ignore-serial-consoles
పొందుపరుచు మరియు నిష్క్రమించు.
ఇది పూర్తయిన తర్వాత మార్పులను ( సుడో రీబూట్ ) ప్రభావితం చేయడానికి మేము సిస్టమ్ను మళ్లీ రీబూట్ చేయాలి.
దశ 3: రాస్ప్బెర్రీ పై సీరియల్ జెట్టి సేవను నిలిపివేయడం
తదుపరి దశ పై యొక్క సీరియల్ గెట్టి సేవను నిలిపివేయడం, ఆదేశం రీబూట్ వద్ద మళ్ళీ ప్రారంభించకుండా నిరోధిస్తుంది:
sudo systemctl stop [email protected] sudo systemctl [email protected] ని నిలిపివేయండి
అవసరమైతే దాన్ని మళ్లీ ప్రారంభించడానికి క్రింది ఆదేశాలను ఉపయోగించవచ్చు
sudo systemctl [email protected] ను ప్రారంభించండి sudo systemctl start [email protected]
సిస్టమ్ను రీబూట్ చేయండి.
దశ 4: ttyAMAO ని సక్రియం చేస్తోంది:
మేము ttyS0 ని నిలిపివేసాము, తదుపరి విషయం ttyAMAO ని ప్రారంభించడం.
sudo systemctl [email protected] ని ప్రారంభిస్తుంది
దశ 5: మినికామ్ మరియు పిన్మీ 2 ని ఇన్స్టాల్ చేయండి:
మేము GPS మాడ్యూల్కు కనెక్ట్ అవ్వడానికి మరియు డేటాను అర్ధం చేసుకోవడానికి మినీకామ్ అవుతాము. మా GPS మాడ్యూల్ బాగా పనిచేస్తుందో లేదో పరీక్షించడానికి మేము ఉపయోగించే సాధనాల్లో ఇది కూడా ఒకటి. మినికామ్కు ప్రత్యామ్నాయం డీమన్ సాఫ్ట్వేర్ జిపిఎస్డి.
sudo apt-get install minicom
అందుకున్న డేటాను సులభంగా అన్వయించడానికి, మేము పిన్మీయా 2 లైబ్రరీని ఉపయోగించుకుంటాము . దీనిని ఉపయోగించి వ్యవస్థాపించవచ్చు;
sudo pip install pynmea2
లైబ్రరీ డాక్యుమెంటేషన్ ఇక్కడ చూడవచ్చు
దశ 6: LCD లైబ్రరీని వ్యవస్థాపించడం:
ఈ ట్యుటోరియల్ కోసం మేము అడాఫ్రూట్ లైబ్రరీని ఉపయోగిస్తాము. లైబ్రరీ అడాఫ్రూట్ స్క్రీన్ల కోసం తయారు చేయబడింది, కానీ HD44780 ఉపయోగించి డిస్ప్లే బోర్డుల కోసం కూడా పనిచేస్తుంది. మీ ప్రదర్శన దీనిపై ఆధారపడి ఉంటే అది సమస్యలు లేకుండా పనిచేయాలి.
లైబ్రరీని క్లోన్ చేసి నేరుగా ఇన్స్టాల్ చేయడం మంచిదని నేను భావిస్తున్నాను. క్లోన్ రన్ చేయడానికి;
git clone
క్లోన్ చేసిన డైరెక్టరీలోకి మార్చండి మరియు దానిని ఇన్స్టాల్ చేయండి
cd./Adafruit_Python_CharLCD sudo python setup.py install
ఈ దశలో, నేను మరొక రీబూట్ను సూచిస్తాను, కాబట్టి మేము భాగాలను కనెక్ట్ చేయడానికి సిద్ధంగా ఉన్నాము.
రాస్ప్బెర్రీ పై GPS మాడ్యూల్ ఇంటర్ఫేసింగ్ కోసం కనెక్షన్లు:
దిగువ సర్క్యూట్ రేఖాచిత్రంలో చూపిన విధంగా GPS మాడ్యూల్ మరియు LCD ని రాస్ప్బెర్రీ పైకి కనెక్ట్ చేయండి.
పైథాన్ స్క్రిప్ట్ ముందు పరీక్ష:
పైథాన్ స్క్రిప్ట్కు వెళ్లడానికి ముందు GPS మాడ్యూల్ కనెక్షన్ను పరీక్షించడం చాలా ముఖ్యం అని నేను భావిస్తున్నాను, దీని కోసం మేము మినీకామ్ను ఉపయోగిస్తాము. ఆదేశాన్ని అమలు చేయండి:
sudo minicom -D / dev / ttyAMA0 -b9600
ఇక్కడ 9600 GPS మాడ్యూల్ కమ్యూనికేట్ చేసే బాడ్ రేటును సూచిస్తుంది. GPS మరియు RPI ల మధ్య డేటా కమ్యూనికేషన్ గురించి మనకు ఖచ్చితంగా తెలిస్తే, మా పైథాన్ స్క్రిప్ట్ రాయడానికి ఇది సమయం.
పిల్లిని ఉపయోగించి కూడా పరీక్ష చేయవచ్చు
sudo cat / dev / ttyAMA0
విండోలో, మేము ఇంతకుముందు చర్చించిన NMEA వాక్యాలను మీరు చూడవచ్చు.
ఈ రాస్ప్బెర్రీ పై జిపిఎస్ ట్యుటోరియల్ కోసం పైథాన్ స్క్రిప్ట్ కోడ్ విభాగంలో క్రింద ఇవ్వబడింది.
అన్నీ చెప్పి, పూర్తి చేసి, మొత్తం వ్యవస్థను పరీక్షించే సమయం. మీ GPS మంచి పరిష్కారాన్ని పొందుతోందని మీరు నిర్ధారించుకోవడం చాలా ముఖ్యం, దాన్ని తీయడం ద్వారా, చాలా GPS ఒక పరిష్కారాన్ని పొందడానికి మూడు నుండి 4 ఉపగ్రహాల మధ్య అవసరం, అయినప్పటికీ గని ఇండోర్లో పనిచేసింది.
సరిగ్గా పనిచేస్తుందా? అవును…
ప్రశ్నలు లేదా వ్యాఖ్యలు ఉన్నాయా? వ్యాఖ్య విభాగంలో వాటిని వదలండి.
ప్రదర్శన వీడియో క్రింద ఇవ్వబడింది, ఇక్కడ మేము GPS మరియు రాస్ప్బెర్రీ పై ఉపయోగించి LCD లో అక్షాంశం మరియు రేఖాంశంలో స్థానాన్ని చూపించాము.