- ضروری سامان
- راسبیری پائ کو LoRa کے ساتھ مربوط کرنا
- ارڈوینو کو LoRa کے ساتھ مربوط کرنا
- pyLoRa راسبیری پائ کے لئے
- LoRa ماڈیول کے لئے راسبیری پائی کی تشکیل
- پروگرامنگ راسبیری پائ برائے لو آر اے
- ایل آر اوینو کوڈ برائے ایل آر اے نے راسبیری پائی سے بات چیت کرنے کے لئے
- راسبیری پائی اور اردوینو کے درمیان ایل آر اے مواصلات کی جانچ کی جارہی ہے
ایل او آر آئی او ٹی ، منسلک کاریں ، ایم 2 ایم ، انڈسٹری 4.0 وغیرہ کی آمد کے ساتھ تیزی سے مقبول ہورہا ہے کیونکہ اس کی بہت کم طاقت کے ساتھ طویل فاصلے تک بات چیت کرنے کی صلاحیت کی وجہ سے یہ ڈیزائنرز کے ذریعہ بیٹری سے چلنے والی چیز سے ڈیٹا بھیجنے / وصول کرنے کے لئے ترجیحا استعمال ہوتا ہے۔ ہم نے پہلے ہی LoRa کی بنیادی باتوں اور Ardino کے ساتھ LoRa کو استعمال کرنے کے طریقوں پر تبادلہ خیال کیا ہے۔ اگرچہ یہ ٹیکنالوجی اصل میں ایل او آر اے نوڈ کے ذریعہ ایل او آر اے گیٹ وے سے بات چیت کے لئے کی گئی ہے ، بہت سارے منظرنامے موجود ہیں جن میں ایل او آر نوڈ کو طویل فاصلے پر معلومات کے تبادلے کے لئے کسی اور ایل او آر نوڈ کے ساتھ بات چیت کرنا پڑتی ہے۔ تو ، اس ٹیوٹوریل میں ہم سیکھیں گے کہ راسبیری پائی کے ساتھ ایل آر اے ماڈیول SX1278 کو کس طرح استعمال کیا جائے ایک اور SX1278 کے ساتھ مواصلت کرنے کے لئے جیسے ارڈوینو جیسے مائکروکنٹرولر سے جڑا ہوا ہے۔ یہ طریقہ بہت ساری جگہوں پر کارآمد ثابت ہوسکتا ہے کیوں کہ ارڈینو سینسرز سے ڈیٹا لانے اور سرور کو لوآرا کے ذریعے لمبے فاصلے پر پائی بھیجنے کے لئے سرور کی حیثیت سے کام کرسکتا ہے اور پھر پیر کلائنٹ کی حیثیت سے کام کرنے والی پائی ان معلومات کو حاصل کرسکتی ہے اور اسے اپ لوڈ کرسکتی ہے۔ چونکہ اسے انٹرنیٹ تک رسائی حاصل ہے۔ دلچسپ لگ رہا ہے نا؟ تو ، آئیے شروع کریں۔
ضروری سامان
- SX1278 433MHz LoRa ماڈیول - 2 نمبر
- 433 میگاہرٹز ایل آر اے اینٹینا - 2 نمبر
- اردوینو یو این او- یا دیگر ورژن
- راسبیری پائی 3
یہ فرض کیا جاتا ہے کہ آپ کی رسبری پائی پہلے ہی آپریٹنگ سسٹم کے ساتھ چمک رہی ہے اور وہ انٹرنیٹ سے رابطہ قائم کرنے کے قابل ہے۔ اگر نہیں تو ، آگے بڑھنے سے پہلے راسبیری پِی ٹیوٹوریل کے ساتھ شروعات کرنا عمل کریں۔ یہاں ہم راسبیری جسی نے راسبیری پائ 3 انسٹال کیا ہے ۔
انتباہ: ہمیشہ اپنے SX1278 LoRa ماڈیول کو 433 میگا ہرٹز اینٹینا کے ساتھ استعمال کریں۔ ورنہ ماڈیول خراب ہوسکتا ہے۔
راسبیری پائ کو LoRa کے ساتھ مربوط کرنا
سوفٹ ویئر پیکجوں میں جانے سے پہلے ، ہارڈ ویئر تیار ہوجائیں۔ SX1278 ایک 16 پن ہے Lora کی ماڈیول 3.3V منطق پر ایس پی آئی کا استعمال کرتے ہوئے بات چیت ہے کہ. راسبیری پائی بھی 3.3V منطق کی سطح میں کام کرتی ہے اور اس میں بلٹ میں ایس پی آئی پورٹ اور 3.3V ریگولیٹر بھی موجود ہیں۔ لہذا ہم راس بیری پائ کے ساتھ براہ راست ماڈیولر رابطہ کرسکتے ہیں۔ کنکشن ٹیبل نیچے دکھایا گیا ہےراسباری پائی | لورا - SX1278 ماڈیول |
3.3V | 3.3V |
زمین | زمین |
جی پی آئی او 10 | موسی |
جی پی آئی او 9 | MISO |
جی پی آئی او 11 | ایس سی کے |
جی پی آئی او 8 | این ایس ایس / قابل بنائیں |
جی پی آئی او 4 | ڈی آئی او 0 |
جی پی آئی او 17 | ڈی آئی او 1 |
جی پی آئی او 18 | ڈی آئی او 2 |
جی پی آئی او 27 | ڈی آئی او 3 |
جی پی آئی او 22 | آر ایس ٹی |
حوالہ کے ل for آپ نیچے سرکٹ ڈایاگرام بھی استعمال کرسکتے ہیں۔ نوٹ سرکٹ ڈایاگرام کا استعمال کرتے ہوئے بنایا گیا تھا کہ RFM9x ماڈیول کی طرح ہے جس SX1278 ماڈیول ، اس وجہ سے ظہور ذیل کی تصویر میں اختلاف ہو سکتا ہے.
رابطے بالکل سیدھے سیدھے ہیں ، صرف آپ ہی کو پریشانی کا سامنا کرنا پڑ سکتا ہے کہ SX1278 روٹی بورڈ ہم آہنگ نہیں ہے لہذا آپ کو رابطے کے ل directly براہ راست رابطے والی تاروں کا استعمال کرنا ہوگا یا ذیل میں دکھایا گیا ہے جیسے دو چھوٹے بریڈ بورڈ استعمال کریں۔ نیز کچھ لوگ الگ 3.3V پاور ریل کے ساتھ ایل او آر اے ماڈیول کو پاور کرنے کا مشورہ دیتے ہیں کیونکہ ممکن ہے کہ پائی کافی حالیہ سرچشمہ نہ بنا سکے۔ تاہم ، لورا کم پاور ماڈیول کی حیثیت سے پائ کی 3.3V ریل پر کام کرنا چاہئے ، میں نے بھی اس کا تجربہ کیا اور اسے بغیر کسی دشواری کے کام کرنے کا پتہ چلا۔ لیکن ، پھر بھی اسے ایک چٹکی بھر نمک کے ساتھ لیں۔ میرا راسبیری پائی کے ساتھ ایل او آر کا کنیکشن سیٹ اپ کچھ اس طرح لگتا ہے
ارڈوینو کو LoRa کے ساتھ مربوط کرنا
ارڈینو ماڈیول کے لئے رابطہ اتنا ہی باقی ہے جیسا کہ ہم نے اپنے پچھلے سبق میں استعمال کیا تھا۔ فرق صرف اتنا ہوگا کہ سندیپ مسٹری کی لائبریری کو استعمال کرنے کے بجائے ہم ریڈیو ہیڈ پر مبنی رسپریل لائبریری کا استعمال کریں گے جس پر ہم اس پروجیکٹ میں بعد میں تبادلہ خیال کریں گے۔ سرکٹ نیچے دے رہا ہے
ایک بار پھر آپ 3.3V پن کو ارڈینو اونو پر استعمال کرسکتے ہیں یا علیحدہ 3.3V ریگولیٹر استعمال کرسکتے ہیں۔ اس پروجیکٹ میں میں نے بورڈ میں وولٹیج ریگولیٹر استعمال کیا ہے۔ آسانی سے کنکشن بنانے میں آپ کی مدد کرنے کے لئے پن کنکشن ٹیبل نیچے دیا گیا ہے۔
LoRa SX1278 ماڈیول | اردوینو یو این او بورڈ |
3.3V | 3.3V |
Gnd | Gnd |
این / این ایس ایس | ڈی 10 |
G0 / DIO0 | ڈی 2 |
ایس سی کے | ڈی 13 |
MISO | ڈی 12 |
موسی | ڈی 11 |
آر ایس ٹی | ڈی 9 |
چونکہ ماڈیول بریڈ بورڈ میں فٹ نہیں بیٹھتا ہے ، میں نے رابطوں کو بنانے کے ل the براہ راست متصل تاروں کا استعمال کیا ہے۔ ایک بار جب کنکشن بن جاتا ہے تو ارڈینوو ایل آر اے سیٹ اپ کچھ اس طرح نظر آئے گا
pyLoRa راسبیری پائ کے لئے
بہت سے ازگر کے پیکیجز ہیں جو آپ LoRa کے ساتھ استعمال کرسکتے ہیں۔ نیز عام طور پر راسبیری پائ کو ایک سے زیادہ LoRa نوڈس سے ڈیٹا حاصل کرنے کے لئے LoRaWAN کے طور پر استعمال کیا جاتا ہے۔ لیکن ، اس پروجیکٹ میں ہمارا مقصد پیر کے پیر پیر مواصلات کو دو راسبیری پائی ماڈیول کے درمیان یا رسبری پائی اور ایک ارڈینو کے درمیان کرنا ہے۔ لہذا ، میں نے پائی لورا پیکیج کو استعمال کرنے کا فیصلہ کیا۔ اس میں ایک rpsreal LoRa Arduino اور rpsreal LoRa Raspberry pi ماڈیولز ہیں جو اردوینو اور راسبیری پائی ماحول پر استعمال ہوسکتے ہیں۔ ابھی کے لئے ، راسبیری پائی ماحول پر توجہ مرکوز کریں۔
LoRa ماڈیول کے لئے راسبیری پائی کی تشکیل
جیسا کہ پہلے بتایا گیا ہے کہ ایل آر اے ماڈیول ایس پی آئی مواصلات کے ساتھ کام کرتا ہے ، لہذا ہمیں پائ پر ایس پی آئی کو فعال کرنا ہے اور پھر پائلورا پیکیج انسٹال کرنا ہے ۔ پائ کی ٹرمینل ونڈو کھولنے کے بعد ، ایسا کرنے کے لئے درج ذیل اقدامات پر عمل کریں۔ ایک بار پھر ، میں اپنے پائ سے رابطہ قائم کرنے کے لئے پوٹین کا استعمال کر رہا ہوں آپ اپنا آسان طریقہ استعمال کرسکتے ہیں۔
مرحلہ 1: میں حاصل کی ترتیب ونڈو میں مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے. نیچے والی ونڈو حاصل کرنے کے ل
sudo raspi-config
مرحلہ 2: انٹرفیسنگ کے اختیارات پر جائیں اور نیچے دی گئی تصویر میں دکھائے گئے ایس پی آئی کو اہل بنائیں۔ ہمیں ایس پی آئی انٹرفیس کو قابل بنانا ہوگا کیونکہ جب ہم LCD اور PI پر تبادلہ خیال کرتے ہیں تو ایس پی آئی پروٹوکول کے ذریعے بات چیت کرتے ہیں
مرحلہ 3: تبدیلیوں کو محفوظ کریں اور ٹرمینل ونڈو پر واپس جائیں۔ یقینی بنائیں کہ پائپ اور ازگر کی تازہ کاری ہوئی ہے اور پھر مندرجہ ذیل کمانڈ کا استعمال کرکے RPi.GPIO پیکیج انسٹال کریں ۔
RPI.GPIO انسٹال کریں
اس پیکیج کلاس سے ہم GPIO پن کو کنٹرول کرنے میں مدد کریں گے۔ اگر کامیابی کے ساتھ انسٹال ہوا تو آپ کی اسکرین ایسی نظر آئے گی
مرحلہ 4: اسی طرح مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے spidev پیکیج کو انسٹال کرنے کے ساتھ آگے بڑھیں ۔ اسپائیڈو لینکس کے لئے ایک ازگر کا پابند ہے جو راسبیری پائی پر ایس پی آئی مواصلات انجام دینے کے لئے استعمال کیا جاسکتا ہے۔
پائپ انسٹال spidev
اگر انسٹالیشن کامیاب ہے تو ٹرمینل کو کچھ اس طرح نظر آنا چاہئے۔
مرحلہ 5: اگلا pyLoRa پیکیج کو ان پٹ کمانڈ کا استعمال کرتے ہوئے انسٹال کرنے دیتا ہے ۔ یہ پیکیج ایل او آر اے سے وابستہ ریڈیو ماڈل انسٹال کرتا ہے۔
pyLoRa انسٹال کریں
اگر انسٹالیشن کامیاب ہے تو آپ کو مندرجہ ذیل اسکرین نظر آئے گی۔
پی ایل او آر اے پیکیج انکرپٹڈ مواصلات کی بھی حمایت کرتا ہے جس کو بغیر کسی حد کے اردوینو اور راسبیری پائی کے ساتھ استعمال کیا جاسکتا ہے۔ اس سے آپ کے مواصلات میں ڈیٹا کی حفاظت میں بہتری آئے گی۔ لیکن آپ کو اس مرحلے کے بعد علیحدہ پیکیج انسٹال کرنا ہوگا جو میں نہیں کر رہا ہوں کیونکہ خفیہ کاری اس ٹیوٹوریل کے دائرہ کار میں نہیں ہے۔ آپ مزید تفصیلات کے لئے مذکورہ بالا گیتھب لنکس پر عمل کرسکتے ہیں۔
اس کے بعد ، آپ پیکیج پاتھ کی معلومات کو pi میں شامل کرسکتے ہیں اور آخر میں دیئے گئے ازگر پروگرام کے ساتھ کوشش کرسکتے ہیں۔ لیکن میں اس راہ کو کامیابی کے ساتھ شامل کرنے کے قابل نہیں تھا لہذا لائبریری کو دستی طور پر ڈاؤن لوڈ کرنا پڑا اور اسے براہ راست اپنے پروگراموں کے لئے استعمال کرنا پڑا۔ لہذا مجھے مندرجہ ذیل اقدامات کے ساتھ آگے بڑھنا تھا
مرحلہ 6: مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے ازگر- rpi.gpio پیکیج اور spidev پیکج کو ڈاؤن لوڈ اور انسٹال کریں ۔
sudo apt-get python-rpi.gpio python3-rpi.gpio sudo apt-get python-spidev python3-spidev انسٹال کریں
دونوں تنصیبات کے بعد ٹرمینل ونڈو کو کچھ اس طرح کا مظاہرہ کرنا چاہئے۔
مرحلہ 7: گٹ کو بھی انسٹال کریں اور پھر اسے ہمارے راسبیری پائ کے لئے ازگر کی ڈائریکٹری کا کلون بنانے کے لئے استعمال کریں۔ آپ مندرجہ ذیل کمانڈز کا استعمال کرکے ایسا کرسکتے ہیں۔
sudo apt-get install git sudo git clone
ایک بار جب یہ مرحلہ مکمل ہوجائے تو آپ کو راسبیری پِی ہوم فولڈر میں SX127x ذیلی ڈائرکٹری ملنی چاہئے ۔ اس میں لائبریری سے وابستہ تمام مطلوبہ فائلیں ہوں گی۔
پروگرامنگ راسبیری پائ برائے لو آر اے
ہم مرتبہ ایل آر اے مواصلات کے پیر میں ماڈیول جو معلومات منتقل کرتا ہے اسے سرور کہا جاتا ہے اور جس ماڈیول سے معلومات موصول ہوتی ہے اسے کلائنٹ کہا جاتا ہے۔ زیادہ تر معاملات میں ارڈینو کو سینسر کے ساتھ فیلڈ میں اعداد و شمار کی پیمائش کرنے کے لئے استعمال کیا جائے گا اور ان اعداد و شمار کو حاصل کرنے کے لئے پائی کا استعمال کیا جائے گا۔ لہذا ، میں نے اس ٹیوٹوریل میں راسبیری پائی کو بطور مؤکل اور اریڈوینو کو بطور سرور استعمال کرنے کا فیصلہ کیا ۔ مکمل رسبری PI کلائنٹ پروگرام اس صفحے کے نچلے حصے میں پایا جا سکتا ہے. یہاں میں پروگرام کی اہم سطور کی وضاحت کرنے کی کوشش کروں گا۔
احتیاط: یقینی بنائیں کہ پروگرام کی فائل اسی ڈائرکٹری میں ہے جہاں SX127x لائبریری کا فولڈر موجود ہے۔ اگر آپ منصوبے کو پورٹ کرنا چاہتے ہیں تو آپ اس فولڈر کو کاپی کر کے کہیں بھی استعمال کرسکتے ہیں۔
پروگرام بہت آسان ہے کہ ہم نے 433 میگاہرٹز میں کام کرنے کے لئے ایل او آر اے ماڈیول ترتیب دینا ہے اور پھر آنے والے پیکٹ سننے ہیں۔ اگر ہمیں کچھ بھی موصول ہوتا ہے تو ہم انہیں کنسول پر پرنٹ کریں۔ ہم ہمیشہ کی طرح مطلوبہ ازگر لائبریریوں کو درآمد کرکے پروگرام شروع کرتے ہیں۔
SX127x.LoRa درآمد * سے SX127x.board_config درآمد بورڈ بورڈ کی درآمد سے وقت درآمد کریں۔ ()
اس صورت میں وقت پیکج تاخیر، Lora کی پیکج Lora میں مواصلات کے لئے استعمال کیا جاتا ہے پیدا کرنے کے لئے استعمال کیا جاتا ہے اور board_config بورڈ اور Lora کی پیرامیٹرز کو مقرر کرنے کے لئے استعمال کیا جاتا ہے. ہم بورڈ آف سیٹ اپ () فنکشن کا استعمال کرکے بورڈ بھی مرتب کرتے ہیں ۔
اگلے ہم تین تعریفوں کے ساتھ ازگر ایل آر اے کلاس بناتے ہیں ۔ چونکہ ہم صرف راسبیری کلائنٹ کی حیثیت سے پروگرام کو کام کرنے کے لent بھیجتے ہیں اس کلاس میں صرف تین افعال ہوتے ہیں یعنی ابتدا کلاس ، شروع کلاس اور on_rx_done کلاس۔ init کلاس 433MHz میں ایل آر اے ماڈیول کو 125kHz بینڈوتھ کے ساتھ شروع کرتی ہے جیسا کہ set_pa_config طریقہ میں سیٹ کیا گیا ہے ۔ پھر یہ بجلی کی کھپت کو بچانے کے ل sleep ماڈیول کو نیند کے موڈ میں بھی رکھتا ہے ۔
# درمیانے درجے کے بعد ابتدائی طور پر 434.0MHz ، Bw = 125 kHz ، CR = 4/5 ، Sf = 128chips / علامت ، CRC پر 13 dBm lora.set_pa_config (pa_select = 1) Def __init __ (خود ، فعل = غلط) غلط ہے: سپر (LoRaRcvCont، خود).__ init کے __ (شبدبہل) self.set_mode (MODE.SLEEP) self.set_dio_mapping (* 6)
اسٹارٹ فنکشن وہ جگہ ہے جہاں ہم ماڈیول کو وصول کنندہ کے طور پر تشکیل دیتے ہیں اور آر ایس ایس آئی (سگنل کی طاقت کے اشارے وصول کرنا) ، حیثیت ، آپریٹنگ فریکوینسی وغیرہ کی طرح حاصل کرتے ہیں ۔ ہم نے نیند موڈ سے مستقل رسیور موڈ (RXCONT) میں کام کرنے کے لئے ماڈیول مرتب کیا اور پھر RSSI اور موڈیم کی حیثیت جیسے اقدار کو پڑھنے کے لئے تھوڑی دیر کا لوپ استعمال کریں۔ ہم سیریل بفر میں موجود ڈیٹا کو ٹرمینل پر بھی فلش کرتے ہیں۔
Def start (self): self.reset_ptr_rx () self.set_mode (MODE.RXCONT) جبکہ سچ ہے: نیند (.5) RSSsi_value = self.get_rssi_value () حیثیت = self.get_modem_status () sys.stdout.flush ()
آخر میں on_rx_done فنکشن آنے والے پیکٹ کے پڑھنے کے بعد عمل میں آجاتا ہے ۔ اس فنکشن میں موصولہ اقدار وصول کرنے والے جھنڈے کو بلند رکھنے کے بعد Rx بفر سے ایک متغیر میں منتقل کردی جاتی ہیں جسے پے لوڈ کہتے ہیں۔ پھر موصول اقدار کو شیل پر صارف کے پڑھنے کے قابل ڈیٹا کو پرنٹ کرنے کے لئے utf-8 سے ضابطہ کشائی کی جاتی ہے۔ ہم ماڈیول کو نیند کے موڈ میں بھی واپس رکھتے ہیں یہاں تک کہ کوئی اور قیمت مل جاتی ہے۔
Def on_rx_done (خود): پرنٹ ("\ n حاصل شدہ:") سیلف کوریئر_قق_فلاگس (آرکسڈون = 1) پے لوڈ = سیلف۔ریڈ_پی لوڈ (نوٹ = ٹرو) پرنٹ (بائٹس (پے لوڈ)۔ ڈیکوڈ ("utf-8"، 'نظر انداز کریں')) self.set_mode (MODE.SLEEP) self.reset_ptr_rx () self.set_mode (MODE.RXCONT)
پروگرام کا باقی حصہ صرف کنسول پر موصولہ اقدار کو پرنٹ کرنا ہے اور کی بورڈ کی مداخلت کے ذریعے پروگرام کو ختم کرنا ہے ۔ ہم نے بجلی کو بچانے کے لئے پروگرام کے خاتمے کے بعد بھی ایک بار پھر سلیپ موڈ میں بورڈ لگا دیا۔
کوشش کریں: lora.start () سوائے کی بورڈ انٹریٹ: sys.stdout.flush () پرنٹ ("") sys.stderr.write ("کی بورڈآینٹرپٹ rupt n") آخر میں: sys.stdout.flush () پرنٹ ("") لورا۔ سیٹ_موڈ (موڈ.سلیپ) بورڈ.ٹارڈاؤن ()
ایل آر اوینو کوڈ برائے ایل آر اے نے راسبیری پائی سے بات چیت کرنے کے لئے
جیسا کہ میں نے پہلے ذکر کیا ہے کہ rpsreal کوڈ آردوینو اور PI دونوں کی حمایت کرتا ہے لہذا Ardino اور PI کے درمیان بات چیت ممکن ہے۔ یہ ایئر سپیس کی ریڈیو ہیڈ لائبریری پر مبنی کام کرتا ہے۔ لہذا آپ کو اپنے اردوینو IDE پر پہلے ریڈیو ہیڈ لائبریری کو انسٹال کرنا ہوگا۔
ایسا کرنے کے لئے گیتھب پیج پر جائیں اور لائبریری کو زپ فولڈر میں ڈاؤن لوڈ کریں۔ پھر اسے اپنے آرڈینو آئ ڈی ای کے لائبریری فولڈر میں رکھیں۔ اب ، اردوینو IDE کو دوبارہ شروع کریں اور آپ کو ریڈیو ہیڈ لائبریری کی مثال کے طور پر فائلیں ملیں گی۔ یہاں ہم 0 سے 9 جیسے ٹیسٹ پیکٹ بھیجنے کے لئے ایل آر او سرور کے بطور کام کرنے کے لئے پروگرام کریں گے۔ ایسا کرنے کے لئے مکمل کوڈ ہمیشہ کی طرح اس صفحے کے نیچے پایا جاسکتا ہے ۔ یہاں ، میں پروگرام میں کچھ اہم لائنوں کی وضاحت کروں گا۔
ہم پروگرام کا آغاز ایس پی آئی لائبریری (بطور ڈیفالٹ انسٹال شدہ) ایس پی آئی پروٹوکول اور پھر RH_RF95 لائبریری کو ریڈیو ہیڈ سے LoRa مواصلت انجام دینے کے لئے درآمد کرکے کرتے ہیں۔ اس کے بعد ہم وضاحت کرتے ہیں کہ ہم اردوینو کے کس پن سے ہم نے اردوو کے ساتھ ایل او آر کے چپ سلپ (سی ایس) ، ری سیٹ (آر ایس ٹی) اور انٹراپٹ (آئی این ٹی) پن سے منسلک کیا ہے۔ آخر میں ہم یہ بھی وضاحت کرتے ہیں کہ ماڈیول کو 434 میگاہرٹز فریکوئنسی میں کام کرنا چاہئے اور ایل او آر اے ماڈیول کو ابتدا کرنا چاہئے۔
# شامل کریں
سیٹ اپ فنکشن کے اندر ہم لوآرا ماڈیول کو اس ریسیٹ پن کو کم سے کم کرکے 10 ملی سیکنڈ تک تازہ کرنے کے ل reset دوبارہ ترتیب دیں گے ۔ پھر ہم اسے ماڈیول سے شروع کرتے ہیں جو ریڈیو ہیڈ لائبریری کا استعمال کرکے ہم نے پہلے تشکیل دیا تھا۔ اس کے بعد ، ہم نے LoRa سرور کے ل frequency تعدد اور ٹرانسمیشن پاور طے کی ہے ۔ ٹرانسمیشن زیادہ فاصلے پر آپ کے پیکٹ سفر کریں گے لیکن زیادہ طاقت استعمال کریں گے۔
باطل سیٹ اپ () { // سیریل مانیٹر کی ابتداء سیریل.بجن (9600)؛ // لو آر اے ماڈیول پن موڈ کو ری سیٹ کریں (RFM95_RST، آؤٹ پٹ)؛ ڈیجیٹل رائٹ (RFM95_RST، LOW)؛ تاخیر (10)؛ ڈیجیٹل رائٹ (RFM95_RST، HIGH)؛ تاخیر (10)؛ // لو آر اے ماڈیول کو شروع کریں جبکہ (! rf95.init ()) ial Serial.println ("LoRa ریڈیو init ناکام ہوگیا")؛ جبکہ (1)؛ } // پہلے سے طے شدہ فریکوئینسی 434.0MHz سیٹ کریں اگر (! rf95.setFre वारंवारता (RF95_FREQ)) ial Serial.println ("setFre वारंवारता ناکام")؛ جبکہ (1)؛ } rf95.setTxPower (18)؛ // لورا ماڈیول کی ٹرانسمیشن پاور }
لامحدود لوپ فنکشن کے اندر ، ہمیں صرف LoRa ماڈیول کے ذریعے ڈیٹا پیکٹ بھیجنا ہوتا ہے۔ یہ ڈیٹا صارف کمانڈ کی سینسر ویلیو کی طرح کچھ بھی ہوسکتا ہے۔ لیکن سادگی کے ل we ہم ہر 1 سیکنڈ وقفہ کے لئے چار ویلیو 0 سے 9 بھیجیں گے اور پھر 9 تک پہنچنے کے بعد 0 کو واپس شروع کریں گے۔ نوٹ کریں کہ اقدار کو صرف چاری ارے کی شکل میں بھیجا جاسکتا ہے اور ڈیٹا کی قسم یونٹ 8_ٹ ہونا چاہئے ایک وقت میں 1 بائٹ ہے۔ ایسا کرنے کا کوڈ نیچے دکھایا گیا ہے
باطل لوپ () { سیریل.پرنٹ ("بھیجیں:")؛ چار ریڈیو پیکٹ = چار (قیمت)}؛ rf95.send ((uint8_t *) ریڈیو پیکٹ، 1)؛ تاخیر (1000)؛ قدر ++؛ if (value> '9') ویلیو = 48؛ }
راسبیری پائی اور اردوینو کے درمیان ایل آر اے مواصلات کی جانچ کی جارہی ہے
اب ، جب ہم اپنے ہارڈ ویئر اور پروگرام دونوں کو تیار ہوچکے ہیں تو ہمیں محض آرڈینو کوڈ کو یو این او بورڈ میں اپ لوڈ کرنا ہے اور py پر python sketch لانچ کیا جانا چاہئے۔ ہارڈ ویئر سے منسلک دونوں کے ساتھ میرا ٹیسٹ سیٹ اپ ، کچھ اس طرح نظر آتا ہے
ازگر کلائنٹ خاکے (صرف 3 ازگر استعمال) پائی پر شروع ہونے کے بعد، سب کچھ مناسب طریقے سے کام کر رہا ہے تو آپ شیل ونڈو اگرچہ PI میں موصول Arduino کے پیکٹ دیکھنا چاہئے. آپ کو نیچے کی شبیہہ میں دکھائے گئے "وصول کردہ: 0" سے 9 تک نوٹس دینی چاہئیں۔
تمام ضروری لائبریریوں کے ساتھ مکمل راسبیری پائی کوڈ کو یہاں سے ڈاؤن لوڈ کیا جاسکتا ہے۔
اب آپ ارڈینو سرور کو منتقل کرسکتے ہیں اور ماڈیول کی حد دیکھ سکتے ہیں۔ اگر ضرورت ہو تو شیل پر RSSI ویلیو ڈسپلے کرنا بھی ممکن ہے۔ منصوبے کا مکمل کام ذیل میں منسلک ویڈیو میں پایا جاسکتا ہے۔ اب ، جب کہ ہم جانتے ہیں کہ آریڈینو اور راسبیری پائی کے درمیان لمبی دوری کی کم طاقت ایل آر اے مواصلات کو کس طرح قائم کرنا ہے ہم مکمل IoT پیکیج بنانے کے ل Pi آرڈینو سائیڈ اور پی سائیڈ پر کلاؤڈ پلیٹ فارم پر سینسر شامل کرنے کے ساتھ آگے بڑھ سکتے ہیں۔
امید ہے کہ آپ اس پروجیکٹ کو سمجھ گئے ہوں گے اور اس کی تعمیر میں لطف اندوز ہوں گے۔ اگر آپ کو یہ کام کرنے میں دشواری ہے تو ، ذیل میں تبصرہ سیکشن یا دیگر تکنیکی قوائد کے لئے فورمز کا استعمال کریں۔