- مطلوبہ اجزاء:
- GPS ماڈیول:
- GPS سے مقام کا ڈیٹا حاصل کرنا:
- ESP12E نوڈیم سی یو کے ساتھ جی پی ایس کو انٹرفیس کرنا:
- ضابطہ کی وضاحت:
- ویب پیج کے لئے HTML کوڈ:
GPS کا مطلب گلوبل پوزیشننگ سسٹم ہے اور یہ UTC میں مقام ، اونچائی ، رفتار ، تاریخ اور وقت تلاش کرنے کے لئے استعمال ہوتا ہے۔ اس پروجیکٹ میں ہم ایک GPS ماڈیول کو نوڈیم سی یو کے ساتھ انٹرفیس کرنے جا رہے ہیں ۔ نوڈیم سی یو کا استعمال کرتے ہوئے ایک سادہ لوکل ویب سرور تشکیل دیا گیا ہے اور اس سرور ویب پیج میں مقام کی تفصیلات اپ ڈیٹ کردی گئی ہیں۔ اس IOT پر مبنی منصوبے کی خصوصیت یہ ہے کہ ہم ویب پیج میں فراہم کردہ لنک پر کلک کرکے گولج میپ میں مقام کی جانچ کرسکتے ہیں ۔ آپ یہ ویب پیج بھی کھول سکتے ہیں اور اپنے موڈیم / روٹر میں پورٹ فارورڈنگ کو چالو کرکے کہیں سے بھی مقام کی جانچ کرسکتے ہیں۔
مطلوبہ اجزاء:
- نوڈیم سی یو ای ایس پی 12
- GPS ماڈیول (uBlox Neo 6M GPS)
GPS ماڈیول:
Ublox Neo 6M ایک سیریل GPS ماڈیول ہے جو سیریل مواصلات کے ذریعے مقام کی تفصیلات فراہم کرتا ہے۔ اس کے چار پن ہیں۔
پن |
تفصیل |
وی سی سی |
2.7 - 5V بجلی کی فراہمی |
Gnd |
زمین |
ٹی ایکس ڈی |
ڈیٹا منتقل کریں |
آر ایکس ڈی |
ڈیٹا وصول کریں |
Ublox نو 6M GPS ماڈیول TTL ہم آہنگ ہے اور اس کی وضاحت نیچے دی گئی ہے۔
وقت پر قبضہ | ٹھنڈا آغاز: 27s ، گرم ، شہوت انگیز آغاز: 1s |
مواصلات کا پروٹوکول | NMEA |
سیریل مواصلات | 9600bps ، 8 ڈیٹا بٹس ، 1 اسٹاپ بٹ ، کوئی برابری اور کوئی بہاؤ کنٹرول نہیں |
آپریٹنگ موجودہ | 45 ایم اے |
GPS سے مقام کا ڈیٹا حاصل کرنا:
ماڈیول ڈیٹا کو ایک سے زیادہ تار میں 9600 بوڈ ریٹ پر منتقل کرے گا۔ اگر ہم ایک UART ٹرمینل کا استعمال کرتے ہیں جس میں 9600 بوڈ کی شرح ہوتی ہے ، تو ہم GPS کے ذریعہ موصول ہونے والا ڈیٹا دیکھیں گے۔
GPS ماڈیول ریئل ٹائم سے باخبر رہنے کی پوزیشن کا ڈیٹا NMEA فارمیٹ میں بھیجتا ہے (اوپر اسکرین شاٹ دیکھیں)۔ NMEA کی شکل میں متعدد جملے شامل ہیں ، جن میں چار اہم جملے ذیل میں دیئے گئے ہیں۔ NMEA کی سزا اور اس کے ڈیٹا فارمیٹ کے بارے میں مزید تفصیل یہاں پایا جاسکتا ہے۔
- $ جی پی جی جی اے: عالمی پوزیشننگ سسٹم فکس ڈیٹا
- $ GPGSV: دیکھنے میں GPS سیٹلائٹ
- $ GPGSA: GPS DOP اور فعال سیٹلائٹ
- $ جی پی آر ایم سی: تجویز کردہ کم از کم مخصوص GPS / ٹرانزٹ ڈیٹا
GPS ڈیٹا اور NMEA کے بارے میں مزید جانیں۔
یہ ڈیٹا جی پی ایس کے ذریعہ موصول ہوا جب 9600 باؤڈ ریٹ سے منسلک ہوتا ہے۔
$ جی پی آر ایم سی ، 141848.00 ، A ، 2237.63306 ، N ، 08820.86316 ، E ، 0.553 ، 100418 ،،، A * 73 $ GPVTG ،، T، M، 0.553، N، 1.024، K، A * 27 $ GPGGA، 141848.00 ، 2237.63306 ، N ، 08820.86316 ، E ، 1،03،2.56،1.9 ، M ، -54.2 ، M ،، * 74 $ GPGSA ، A ، 2،06،02،05 ،،،،،،،،، 2.75، 2.56،1.00 * 02 $ جی پی جی ایس وی ، 1،1،04،02،59،316،30،05،43،188،25،06،44،022،23،25،03،324، * 76 $ جی پی جی ایل، 2237.63306، ن، 08820.86316، ای، 141848.00 ، A ، A * 65
جب ہم کسی بھی مقام کی سراغ لگانے کے لئے جی پی ایس ماڈیول کا استعمال کرتے ہیں تو ہمیں صرف کوآرڈینیٹ کی ضرورت ہوتی ہے اور ہم اسے جی پی جی جی اے سٹرنگ میں ڈھونڈ سکتے ہیں ۔ صرف $ جی پی جی جی اے (گلوبل پوزیشننگ سسٹم فکس ڈیٹا) سٹرنگ زیادہ تر پروگراموں میں استعمال ہوتی ہے اور دوسرے ڈور کو نظرانداز کیا جاتا ہے۔
$ جی پی جی جی اے ، 141848.00،2237.63306 ، این ، 08820.86316 ، ای ، 1،03،2.56،1.9 ، ایم ، -54.2 ، ایم ، * 74
اس لائن کا کیا مطلب ہے؟
اس لائن کا مطلب ہے: -
1. اسٹرنگ ہمیشہ "$" نشان کے ساتھ شروع ہوتی ہے
2. جی پی جی جی اے کا مطلب عالمی پوزیشننگ سسٹم فکس ڈیٹا ہے
3. “،” کوما دو اقدار کے مابین علیحدگی کی نشاندہی کرتی ہے
4. 141848.00: GMT وقت بطور 14 (گھنٹہ): 18 (منٹ): 48 (سیکنڈ): 00 (ایم ایس)
5. 2237.63306 ، N: عرض البلد 22 (ڈگری) 37 (منٹ) 63306 (سیکنڈ) شمال
6. 08820.86316 ، ای: طول البلد 088 (ڈگری) 20 (منٹ) 86316 (سیکنڈ) وسطی
7. 1: مقدار 0 = غلط ڈیٹا ، 1 = درست ڈیٹا ، 2 = ڈی جی پی ایس طے کریں
8. 03: فی الحال دیکھے گئے سیٹلائٹ کی تعداد۔
9. 1.0: ایچ ڈی او پی
10. 2.56 ، M: اونچائی (میٹر میں سطح سمندر سے بلندی)
11. 1.9 ، ایم: جیوڈز کی اونچائی
12. * 74: چیکسم
لہذا ہمیں ماڈیول مقام یا جہاں واقع ہے ، کے بارے میں معلومات اکٹھا کرنے کے لئے نمبر 5 اور نمبر 6 کی ضرورت ہے۔ اس پروجیکٹ میں ہم نے ایک GPS لائبریری کا استعمال کیا ہے جو عرض البلد اور طول البلد کو نکالنے کے ل some کچھ افعال مہیا کرتا ہے لہذا ہمیں اس کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔
ہمارے پاس پہلے مائیکروکنٹرولروں کے ساتھ GPS انٹرفیس ہے:
A ارڈوینو کے ساتھ GPS کا استعمال کیسے کریں
p راسبیری پائی GPS ماڈیول انٹرفیسنگ ٹیوٹوریل
P پی آئی سی مائکروکانٹرولر کے ساتھ جی پی ایس ماڈیول کو انٹرفیس کرنا
A ارڈینو ، ای ایس پی 8266 اور جی پی ایس کا استعمال کرتے ہوئے گوگل میپس پر ایک گاڑی کو ٹریک کریں
ESP12E نوڈیم سی یو کے ساتھ جی پی ایس کو انٹرفیس کرنا:
نوڈیم سی یو ESP8266 پر مبنی ترقیاتی بورڈ ہے۔ اس میں ESP-12E کو اس کے پراسیسنگ کور کی حیثیت سے پیش کیا گیا ہے۔ یہ ایک 32 بٹ ایم سی یو ہے۔ اس میں 14 جی پی آئی او پن ، سنگل چینل 10 بٹ انٹیگریٹڈ اے ڈی سی ہیں۔ یہ UART ، I2C ، SPI مواصلات کی حمایت کرتا ہے۔ یہ 3.3V مطابقت رکھتا ہے ، یہ 5V کو نہیں سنبھال سکتا ہے۔ اگر آپ نوڈیم سی یو میں نئے ہیں تو ہمارے نوڈیم سی یو ESP-12 کے ساتھ شروعات کرنا پڑھیں۔
NodeMCU اور GPS ماڈیول کے درمیان تعلقات کو ذیل میں دکھایا گیا ہے کے طور پر.
نوڈیم سی یو |
GPS ماڈیول |
3 وی 3 |
وی سی سی |
GND |
GND |
D1 (GPIO5) |
RX |
D2 (GPIO4) |
TX |
ذیل میں نوڈیم سی یو کے ساتھ جی پی ایس کو مربوط کرنے کا سرکٹ ڈایاگرام ہے:
GPS ماڈیول ایک بار محل وقوع کی تفصیلات چلانے کے ل. کچھ وقت لگاتا ہے۔ نوڈیم سی یو ویب سرور کو شروع کرتا ہے اور کسی صارف کا ویب سرور سے مربوط ہونے کا انتظار کرتا ہے۔ ایک بار جب کلائنٹ ویب سرور سے منسلک ہوجاتا ہے ، نوڈیم سی سی یو منسلک موکل کو مقام کی تفصیلات بھیجتا ہے۔ اس جگہ کی تفصیلات HTML کے استعمال سے بنائے گئے ایک سادہ ویب پیج پر آویزاں ہیں۔
اقدامات:
- جیسا کہ سکیمیٹک میں دکھایا گیا ہے سرکٹ کو مربوط کریں۔
- Wi-Fi سندوں کو تبدیل کرنے کے بعد کوڈ اپ لوڈ کریں۔
- آرڈینوو IDE میں سیریل مانیٹر کھولیں اور ویب سرور کا IP پتہ نوٹ کریں۔
- کوئی بھی براؤزر کھولیں اور ویب سرور کا IP ایڈریس داخل کریں۔
- اس میں مقام کی تفصیلات ، تاریخ ، وقت اور گوگل نقشہ جات کا لنک دکھائے گا۔
ضابطہ کی وضاحت:
مکمل منبع کوڈ کو اس منصوبے کے لئے اس مضمون کے آخر میں دیا جاتا ہے. کوڈ کو چھوٹے معنی خیز حصوں میں تقسیم کیا گیا ہے اور ذیل میں اس کی وضاحت کی گئی ہے۔
GPS ماڈیول کو نوڈیم سی یو کے ساتھ انٹرفیس کرنے کے ل we ، ہمیں مناسب ہیڈر فائلیں شامل کرنے کی ضرورت ہے۔ ہیڈر فائلوں کو نیچے دیئے گئے لنک سے ڈاؤن لوڈ کیا جاسکتا ہے۔
چھوٹے GPS ++ لائبریری:
# شامل کریں
نوڈیم سی یو کا استعمال کرتے ہوئے ایک ویب سرور بنانے کے ل it ، اسے Wi-Fi نیٹ ورک سے مربوط کرنے کی ضرورت ہے ۔ کوڈ کے اس حصے میں ہم وائرلیس نیٹ ورک کے Wi-Fi سندوں کو فراہم کر رہے ہیں جس سے نوڈیم سی یو سے رابطہ قائم ہوجاتا ہے۔ اپنی Wi-Fi اسناد سے اسے تبدیل کریں۔
CONST چار * SSID = " شش "؛ کونٹ چار * پاس ورڈ = "12345678"؛
کوڈ کے اس حصے میں ہم کلاس ٹنی جی پی ایس پی ایل کلاس کا ایک آبجیکٹ بنا رہے ہیں اور پنوں کی وضاحت کررہے ہیں جس پر جی پی ایس ماڈیول منسلک ہے ۔ GPS ماڈیول نوڈیم سی یو کے پنوں 4 اور 5 (GPIO4 اور GPIO5) سے منسلک ہے۔ 4 اور 5 پن پر سیریل مواصلات کی حمایت کرنے کے لئے ، ہم ورچوئل سیریل پورٹ بنانے کے لئے "سوفٹویئرشیر" لائبریری کا استعمال کررہے ہیں۔
ٹنی جی جی پی ایس پی ایس جی پی ایس؛ // ٹنی جی پی ایس ++ آبجیکٹ سوفٹ ویئرئل ایس (4 ، 5)؛ // GPS آلہ سے سیریل کنکشن۔
کوڈ کی یہ لائن ویب سرور کو بنانے کے پورٹ نمبر کی نشاندہی کرتی ہے۔ کے لئے HTTP کنکشن ، ڈیفالٹ پورٹ نمبر 80 ہے.
وائی فائی سرور (80)؛
نوڈیم سی یو کا استعمال کرتے ہوئے ویب سرور بنانے کے ل code ، درج ذیل کوڈ کا ٹکڑا استعمال ہوا ہے۔ ویب سرور بنانے کے بعد ، یہ سیریل مانیٹر میں ویب سرور کے IP ایڈریس کو پرنٹ کرتا ہے ۔ بعد میں یہ آئی پی ایڈریس مقامی نیٹ ورک میں موجود ویب سرور کو حاصل کرنے کے لئے استعمال ہوتا ہے۔
سرور.بیگین ()؛ Serial.println ("سرور شروع ہوا")؛ سیریل.پرنٹ لِن (وائی فائی ۔لوکالپ ())؛ // IP ایڈریس پرنٹ کریں
آگے ہمیں GPS ماڈیول سے بھیجے گئے سیریل ڈیٹا کو پڑھنا شروع کرنا ہے اور اگر یہ غلطی سے پاک ہے تو ہمیں اس سے مقام کی تفصیلات نکالنی ہوں گی۔ کرنے کے اقتباس کے مقام کی تفصیلات ہم استعمال کر رہے ہیں TinyGPSPlus لائبریری. کوڈ کا یہ حصہ مذکورہ بالا کام کرتا ہے۔
جبکہ (ss.available ()> 0) اگر (gps.encode (ss.read ()))
اگر موصولہ تار غلطی سے پاک ہے تو پہلے ہمیں جانچ پڑتال کرنی ہوگی کہ مقام درست ہے یا نہیں۔ اگر مقام درست ہے تو ہمیں اس سے عرض بلد اور طول البلد نکالنا ہوگا ۔ پھر اسے ویب پیج میں ڈسپلے کرنے کیلئے سٹرنگ فارمیٹ میں تبدیل کیا جاتا ہے۔ اس کام کو پورا کرنے کے لئے ، ہم اس کوڈ کے ٹکڑے کو استعمال کر رہے ہیں۔
اگر (GPS .location.isValid ()) { lattitude = gps.location.lat ()؛ لیٹ_سٹر = سٹرنگ (جاذبیت ، 6)؛ طول بلد = gps.location.lng ()؛ lng_str = تار (طول بلد ، 6)؛ }
تاریخ اور وقت نکالنے کے ل same ہمیں اسی اقدامات پر عمل کرنے کی ضرورت ہے ۔
اگر (gps.date.isValid ()) { تاریخ = gps.date.day ()؛ مہینہ = gps.date.month ()؛ سال = gps.date.year ()؛ }
کرنے کے لئے وقت نکالنے کے ، ہم ایک ہی طریقہ کار پر عمل کرنے کی ضرورت ہے، لیکن GPS فراہم کرتا ہے وقت UTC فارمیٹ میں ہے. UTC کو IST میں تبدیل کرنے کے لئے ہمیں UTC میں + 5 گھنٹے 30 منٹ کی آفسیٹ شامل کرنے کی ضرورت ہے ۔ کوڈ کا یہ حصہ UTC سے IST میں تبدیل ہوتا ہے۔
منٹ = (منٹ +30)؛ اگر (منٹ> 59) { منٹ = منٹ - 60؛ گھنٹہ = گھنٹہ + 1؛ } گھنٹہ = (گھنٹہ + 5)؛ اگر (گھنٹے> 23) گھنٹہ = گھنٹہ - 24؛
یہ وقت 24 گھنٹے کی شکل میں ہے۔ 24 گھنٹے سے 12 گھنٹے کی شکل میں تبدیل کرنے کے لئے ، ذیل میں ذکر کوڈ استعمال کیا جاتا ہے۔
اگر (گھنٹے> = 12) بجے = 1؛ اور شام = 0؛ گھنٹہ = گھنٹہ٪ 12؛
کوڈ کے اس حصے میں ہم جانچ رہے ہیں کہ آیا کوئی موکل ویب سرور سے منسلک ہے ۔ یہ اس وقت تک انتظار کرتا ہے جب تک کہ کوئی مؤکل مربوط نہیں ہوتا۔
وائی فائی کلائنٹ = سرور۔ دستیاب ()؛ اگر (! مؤکل) { واپس؛ }
ایک بار جب کوئی کلائنٹ منسلک ہوجاتا ہے تو ، ویب سرور کو مؤکل کو جواب بھیجنے کی ضرورت ہوتی ہے۔ ویب پیج کو HTML کا استعمال کرتے ہوئے ڈیزائن کیا گیا ہے۔ ویب پیج کے لئے HTML کوڈ اس مضمون کے آخر میں دیا گیا ہے۔ GPS ماڈیول سے اعداد و شمار موصول ہونے کے بعد عرض البلد ، طول البلد ، تاریخ اور وقت کی اقدار کو اپ ڈیٹ کیا جاتا ہے۔ کوڈ کے اس حصے میں ہم مؤکل کو جواب بھیج رہے ہیں ۔ جہاں 's' ایک تار ہے جس میں ویب پیج اور مقام کی تفصیلات کے لئے HTML کوڈ موجود ہے۔
مؤکل.پرنٹ (ے)؛
ویب پیج کے لئے HTML کوڈ:
نوڈیم سی یو کے ساتھ جی پی ایس انٹرفیسنگ
مقام کی تفصیلات
طول | 12.9000 |
---|---|
طول البلد | 77.5900 |
تاریخ | 22/06/18 |
وقت | 07:12:12 |
یہاں کلک کریں! گوگل نقشہ جات میں مقام کی جانچ کرنا۔
ہم ویب براؤزر میں مقامی ویب سرور کا IP کھولنے کے بعد ویب پیج کی طرح دکھتا ہے ۔
جب آپ " یہاں کلک کریں " کے لنک پر کلیک کرتے ہیں تو ، یہ گوگل نقشہ میں نیچے کی طرح اس جگہ کو کھول دے گا۔