- راسبیری پائی کے ساتھ انٹرفیسنگ 16x2 LCD:
- سرکٹ ڈایاگرام:
- LCD پر راسبیری پائ کا IP پتہ دکھائیں:
- وقتا فوقتا 'کرونٹاب' استعمال کرکے اسکرپٹ پر عملدرآمد کریں:
راسبیری پائی کے ساتھ کام کرنے کے دوران بنیادی مسئلہ راسبیری پائ کا IP پتہ جاننا ہے ، جس میں کچھ ایس ایس ایچ یا فائل ٹرانسفر کلائنٹ کا استعمال کرکے اس میں لاگ ان کرنے کی ضرورت ہوگی۔ لہذا آج ہم آپ کے راسبیری پائی کا مقامی IP پتہ نیٹ ورک پر تلاش کرنے اور اسے 16x2 LCD اسکرین پر ظاہر کرنے کے لئے کچھ ازگر اسکرپٹ بانٹیں گے ۔ ہم اسکرپٹ کو کرونٹاب میں بھی شامل کریں گے تاکہ اسے ہر 10 منٹ پر چلایا جاسکے اور ہمارے پاس ہر بار اپ ڈیٹ شدہ آئی پی ایڈریس ہوگا۔
راسبیری پائی کے ساتھ انٹرفیسنگ 16x2 LCD:
اس سے پہلے کہ ہمیں راسبیری PI کا IP پتہ مل جائے ، پہلے ہمیں راسبیری پائی کے ساتھ 16x2 LCD انٹرفیس کرنے کی ضرورت ہے ۔ یہاں اس پروجیکٹ میں ہم نے بیرونی اڈفریٹ لائبریری کا استعمال راسبیری پائی کے ساتھ 16x2 LCD میں مداخلت کرنے کے لئے کیا ہے ، جس کا استعمال کرتے ہوئے آپ کو LCD چلانے کے لئے کوڈ کی بہت سی لائنیں لکھنے کی ضرورت نہیں ہے اور آپ براہ راست صرف ایک لائن کا استعمال کرکے LCD پر پرنٹ کرسکتے ہیں۔ کوڈ تاہم یہ لائبریری ایڈافٹ نے تیار کی ہے لیکن یہ کسی بھی LCD ماڈیول کے لئے استعمال ہوسکتی ہے جس میں HD44780 کنٹرولر ہے۔
اڈفریٹ لائبریری کو استعمال کرنے کے ل we ، ہمیں پہلے نیچے دیئے گئے احکامات استعمال کرکے انسٹال کرنے کی ضرورت ہے ۔ پہلی کمانڈ آپ کے رسبری پائی پر چار ایل سی ڈی ذخیرہ (ایڈفروٹ کے ذریعہ) کلون کرے گی ، دوسری کمانڈ آپ کو ڈاؤن لوڈ کی گئی ڈائرکٹری کے اندر لے جائے گی اور آخر کار ہمیں لائبریری کو انسٹال کرنے کے لئے ایڈفریٹ_پھائی_چھار ایل سی ڈی ڈائریکٹری کے اندر سیٹ اپ ڈاٹ پی اسکرپٹ پر عمل درآمد کرنے کی ضرورت ہے ۔
گٹ کلون https://github.com/adafruit/Adafruit_Python_CharLCD.git CD./Adaf فرو_Python_CharLCD sudo python setup.py install
اب 16x2 LCD کے لئے لائبریری نصب کردی گئی ہے اور آپ مندرجہ ذیل لائن کا استعمال کرکے اپنے لائسنری پروگرام میں صرف اس لائبریری کو درآمد کرکے اس کے افعال استعمال کرسکتے ہیں۔
ایل ڈی سی کے بطور ایڈفریٹ_چار ایل سی ڈی درآمد کریں
'مثالوں' فولڈر کے اندر کچھ ایسی اسکرپٹ موجود ہیں جو لائبریری کے فولڈر میں موجود ہیں (اڈفریٹ_پھائٹ__چار ایل سی ڈی)۔ آپ char_lcd.py مثال کے اسکرپٹ کو چلانے کے ذریعے سیٹ اپ کی جانچ کرسکتے ہیں ۔ لیکن اس سے پہلے ، آپ کو ایل سی ڈی پنوں کو راسبیری پائی سے جوڑنے کی ضرورت ہے جیسا کہ اگلے حصے میں سرکٹ ڈایاگرام میں ذیل میں دیا گیا ہے۔
آپ ایل سی ڈی کو راسبیری پائی کے کچھ دیگر جی پی آئی او پنوں کے ساتھ بھی جوڑ سکتے ہیں ، آپ کو اپنے ازگر کے پروگرام میں صحیح انٹرفیسنگ پنوں کا ذکر کرنے کی ضرورت ہے جیسے نیچے۔ راسبیری پائ GPIO پنوں کے بارے میں مزید معلومات حاصل کریں۔
# راسبیری پی پن سیٹ اپ lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2
اب آپ ایل سی ڈی کو کنٹرول کرنے کے ل Ad اڈفریٹ لائبریری کے ذریعہ فراہم کردہ افعال کو براہ راست استعمال کرسکتے ہیں ۔ کچھ کام ذیل میں دیئے گئے ہیں۔ مثال کے طور پر اسکرپٹ میں آپ مزید معلومات حاصل کرسکتے ہیں۔
- lcd.message (message) = LCD پر متن پرنٹ کرنا۔
- lcd.clear () = LCD صاف کرنا۔
- set_cursor (col، قطار) = کرسر کو کالم اور قطار کے کسی بھی مقام پر لے جائیں۔
- lcd.blink (True) = کرسر پلکنا ( سچ یا غلط)
- lcd.move_left () = ایک پوزیشن کے ذریعہ کرسر کو بائیں طرف منتقل کرنا۔
- lcd.move_right () = کرسر کو ایک پوزیشن کے ذریعہ دائیں طرف منتقل کرنا۔
اگر آپ کسی بیرونی لائبریری کا استعمال کیے بغیر ایل سی ڈی سے رابطہ قائم کرنا چاہتے ہیں تو آپ ہمارے پچھلے سبق کو جانچ سکتے ہیں ، جہاں ہم نے 16x2 LCD کے لئے تمام افعال لکھ دیئے ہیں۔ 8 بٹ موڈ میں LCD کو انٹرفیس کرنے کے ل this اس کو چیک کریں اور LCD کو 4 بٹ موڈ میں انٹرفیس کرنے کے ل.۔
سرکٹ ڈایاگرام:
LCD پر راسبیری پائ کا IP پتہ دکھائیں:
راسبیری پائی کے ساتھ 16x2 LCD میں مداخلت کرنے کے بعد ، اب ہمیں راسبیری پائی کا آئی پی ایڈریس حاصل کرنے کی ضرورت ہے اور اسے ازگر اسکرپٹ کا استعمال کرتے ہوئے LCD پر پرنٹ کرنا ہے۔ راسبیری پائی کا مقامی IP پتا حاصل کرنے کے بہت سارے طریقے ہیں ، یہاں ہم IP ایڈریس حاصل کرنے کے لئے تین ازگر اسکرپٹ بیان کررہے ہیں ، آپ ان میں سے کسی کو بھی استعمال کرسکتے ہیں۔
لینکس کمانڈز کا استعمال:
ٹرمینل پر ، ہم میزبان نام –I کمانڈ کا استعمال کرکے آسانی سے IP ایڈریس حاصل کرسکتے ہیں ، لہذا اگر ہم ازل سے لینکس کمانڈ چلا سکتے ہیں تو ہم IP ایڈریس حاصل کرسکتے ہیں۔ لہذا لیتھین سے لینکس کے کمانڈ چلانے کے ل we ہمیں لائبریری کا نام کمانڈ درآمد کرنے کی ضرورت ہے ، لہذا مکمل پروگرام ذیل کی طرح ہوگا:
درآمد کا وقت درآمد Adafruit_CharLCD بطور LCD درآمد کمانڈ # راسبیری پی پن سیٹ اپ lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2 # 16x2 LCD کے لئے LCD کالم اور قطار سائز کی وضاحت کریں۔ lcd_collines = 16 lcd_rows = 2 lcd = LCD.Adaf پھلوں_CharLCD (lcd_rs، lcd_en، lcd_d4، lcd_d5، lcd_d6، lcd_d7، lcd_colमs، lcd_rows، lcd.backgess) 'lcd.bgessssplugss' ' ('میزبان نام -I')) ٹائم.نسل (10.0) # 5 سیکنڈ انتظار کریں lcd.clear ()
اگر آپ مزید قابل اعتماد ifconfig کمانڈ کا استعمال کرکے آئی پی ایڈریس حاصل کرنا چاہتے ہیں تو آپ ذیل میں کمانڈ کے ذریعہ پروگرام میں میزبان نام –I کمانڈ کو بھی تبدیل کرسکتے ہیں۔
lcd.message (आज्ञा
ساکٹ پروگرامنگ کا استعمال:
یہاں اس پروگرام میں ہم فیملی کا ایک ساکٹ تیار کریں گے AFDPET اور اس لائن کا استعمال کرتے ہوئے SOCK_DGRAM ٹائپ کریں گے: s = socket.sket (ساکٹ.افٹ ، ساکٹ.سوک_ڈی جی آر اے ایم) ، پھر ہم کچھ میزبان نام یا IP ایڈریس کا استعمال کرکے ساکٹ کے ذریعہ کنکشن بنائیں گے جیسے 8.8.8.8 ، آپ ساکٹ جیسے gmail.com سے مربوط ہونے کے لئے کچھ دوسری ویب سائٹ بھی استعمال کرسکتے ہیں۔ لہذا ہم ساکٹ سے آر پی آئی کا مقامی آئی پی ایڈریس حاصل کرسکتے ہیں جو راسبیری پائی اور ڈمی آئی پی ایڈریس کے مابین مواصلت کے ل. تشکیل دیا گیا ہے۔ ذیل میں مکمل پروگرام ہے:
درآمد کا وقت درآمد Adafruit_CharLCD بطور LCD درآمد ساکٹ # رسبیری پی پن سیٹ اپ lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2 # LCD کالم اور قطار سائز 16x2 LCD کی وضاحت کریں۔ lcd_collines = 16 lcd_rows = 2 lcd = LCD.Adaf پھلوں_CharLCD (lcd_rs، lcd_en، lcd_d4، lcd_d5، lcd_d6، lcd_d7، lcd_collines، lcd_rows، lcd_backddd 'حاصل s = ساکٹ.سکٹ (ساکٹ. اے ایف این پی ای ٹی ، ساکٹ_سوک_ڈی جی آر اے ایم) ایسکونیکٹ (("8.8.8.8" ، 80 فیصد)) ip_address = s.getsockname () s.close () لوٹ آئی پی_ڈریس lcd.message ('مقامی IP ایڈریس: \ n ') lcd.message (get_ip_address ()) # 5 سیکنڈ کا انتظار کریں۔ نیند (10.0) lcd.clear ()
ازگر میں ساکٹ پروگرامنگ کے بارے میں مزید معلومات حاصل کریں۔
'fcntl' ماڈیول کا استعمال:
یہ ماڈیول فائل ڈسریکٹرز پر فائل کنٹرول اور I / O کنٹرول کرتا ہے۔ یہاں یہ نیٹ ورک کی فائلوں سے IP ایڈریس نکالنے کے لئے استعمال ہوتا ہے۔ ذیل میں پورا پورا پورا پورا کوڈ ہے۔
درآمد کا وقت درآمد Adafruit_CharLCD بطور LCD درآمد ساکٹ درآمد fcntl درآمد سٹرک # راسبیری پی پن سیٹ اپ lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 Lcd_backlight = 2 # LCD کالم 2 اور قطار سائز کی وضاحت کریں۔ ایل سی ڈی_کالمز = 16 ایل سی ڈی_روز = 2 ایل سی ڈی = ایل سی ڈی۔ اڈفریٹ_چار ایل سی ڈی (ایل سی ڈی_س ، ایل سی ڈی_ین ، ایل سی ڈی_ڈی 4 ، ایل سی ڈی_کولیمز ، ایل سی ڈی_روس ، ایل سی ڈی_کٹر_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_سکٹ_کیٹ_سکٹر_سکریٹ_سکٹر_سکٹ_کیٹ؟ واپسی socket.inet_ntoa (fcntl.ioctl (s.fileno ()، 0x8915، # SIOCGIFADDR struct.pack ('256s'، نیٹ ورک))) lcd.message ('لوکل آئی پی ایڈریس: \ n') lcd.message (get_interface_ipaddress ('wlan0')) # 5 سیکنڈ کا انتظار کریں۔ نیند (10.0) lcd.clear ()
یہاں 'fcnfl' ماڈیول استعمال کرنے کے بارے میں مزید معلومات حاصل کریں۔
وقتا فوقتا 'کرونٹاب' استعمال کرکے اسکرپٹ پر عملدرآمد کریں:
حتمی اقدام یہ ہے کہ ہر 15 منٹ پر وقتا فوقتا اس اسکرپٹ کو چلانے کے لئے اندراج شامل کریں تاکہ ہم ہر بار تازہ ترین آئی پی حاصل کرسکیں۔ ایسا کرنے کے لئے ہمیں ذیل میں کمانڈ استعمال کرکے کرون فائل میں ترمیم کرنے کی ضرورت ہے۔
crontab –e
اور پھر کرون فائل کے نیچے نیچے کی لکیر درج کریں اور CTRL + X ، پھر Y ، اور پھر درج کریں کا استعمال کرکے اسے محفوظ کریں۔
* / 15 * * * * sudo ازگر / home/pi/ip_address_lcd.py
آپ اپنی ازگر اسکرپٹ فائل کے محل وقوع کے مطابق پتے کو تبدیل کرسکتے ہیں اور آپ اس مدت میں بھی تبدیلی لاسکتے ہیں جس میں آپ بار بار اسکرپٹ کو اپ ڈیٹ کرنے کے لئے چلاتے ہو