Handy Tech Active Star 40 بریل ڈسپلے کے اندر Raspberry Pi Zero

Handy Tech Active Star 40 بریل ڈسپلے کے اندر Raspberry Pi Zero

مصنف نے اپنے نئے Handy Tech Active Star 40 بریل ڈسپلے کے اندر Raspberry Pi Zero، ایک بلوٹوتھ سیٹی، اور ایک کیبل رکھی ہے۔ ایک بلٹ ان USB پورٹ پاور فراہم کرتا ہے۔ نتیجہ ARM پر لینکس آپریٹنگ سسٹم کے ساتھ ایک خود کفیل مانیٹر لیس کمپیوٹر تھا، جو کی بورڈ اور بریل ڈسپلے سے لیس تھا۔ آپ اسے USB کے ذریعے چارج/پاور کر سکتے ہیں، بشمول۔ پاور بینک یا سولر چارجر سے۔ لہذا، یہ کئی گھنٹوں تک بجلی کے بغیر کر سکتا ہے، لیکن کئی دنوں تک.

Handy Tech Active Star 40 بریل ڈسپلے کے اندر Raspberry Pi Zero

بریل ڈسپلے کی جہتی تفریق

سب سے پہلے، وہ لائن کی لمبائی میں مختلف ہیں. 60 یا اس سے زیادہ صلاحیت والے آلات ڈیسک ٹاپ کمپیوٹر کے ساتھ کام کرنے کے لیے اچھے ہیں، جب کہ 40 صلاحیت والے آلات لیپ ٹاپ کے ساتھ لے جانے کے لیے آسان ہیں۔ اب 14 یا 18 حروف کی لائن کی لمبائی کے ساتھ، اسمارٹ فونز اور ٹیبلیٹ سے منسلک بریل ڈسپلے موجود ہیں۔

ماضی میں، بریل ڈسپلے کافی بڑے تھے۔ مثال کے طور پر 40 سیٹوں والے لیپ ٹاپ کا سائز اور وزن 13 انچ کے لیپ ٹاپ کا تھا۔ اب اتنے ہی جاننے والوں کے ساتھ، وہ اتنے چھوٹے ہیں کہ آپ ڈسپلے پر لیپ ٹاپ کی بجائے لیپ ٹاپ کے سامنے ڈسپلے رکھ سکتے ہیں۔

یہ یقیناً بہتر ہے، لیکن پھر بھی دو الگ الگ آلات کو اپنی گود میں رکھنا زیادہ آسان نہیں ہے۔ جب آپ کسی ڈیسک پر کام کرتے ہیں، تو کوئی شکایت نہیں ہوتی، لیکن یہ یاد رکھنے کے قابل ہے کہ لیپ ٹاپ کو کسی دوسرے نام سے لیپ ٹاپ کہا جاتا ہے، اور اس کے نام کو درست ثابت کرنے کی کوشش کی جاتی ہے، کیونکہ یہ پتہ چلتا ہے کہ 40 کیریکٹر کا چھوٹا ڈسپلے اس سے بھی کم آسان ہے۔

چنانچہ مصنف نے Handy Tech Star سیریز میں طویل عرصے سے وعدہ کیے ہوئے نئے ماڈل کے ریلیز ہونے کا انتظار کیا۔ 2002 میں، پچھلا ماڈل Handy Tech Braille Star 40 جاری کیا گیا تھا، جہاں جسم کا رقبہ ایک لیپ ٹاپ کو اوپر رکھنے کے لیے کافی ہے۔ اور اگر یہ فٹ نہیں ہوتا ہے تو، ایک پیچھے ہٹنے والا اسٹینڈ ہے۔ اب اس ماڈل کی جگہ ایکٹیو سٹار 40 نے لے لی ہے جو کہ تقریباً ایک جیسا ہے لیکن اپ گریڈ شدہ الیکٹرانکس کے ساتھ۔

Handy Tech Active Star 40 بریل ڈسپلے کے اندر Raspberry Pi Zero

اور پیچھے ہٹنے والا اسٹینڈ باقی ہے:

Handy Tech Active Star 40 بریل ڈسپلے کے اندر Raspberry Pi Zero

لیکن نئی پروڈکٹ کے بارے میں سب سے آسان چیز ایک سمارٹ فون کے سائز کا وقفہ ہے (کے ڈی پی وی دیکھیں)۔ جب پلیٹ فارم کو واپس منتقل کیا جاتا ہے تو یہ کھلتا ہے۔ وہاں اسمارٹ فون رکھنا تکلیف دہ ثابت ہوا، لیکن آپ کو کسی نہ کسی طرح خالی ٹوکری استعمال کرنے کی ضرورت ہے، جس کے اندر ایک پاور آؤٹ لیٹ بھی ہے۔

مصنف نے سب سے پہلے جس چیز کے ساتھ آیا وہ Raspberry Pi کو وہاں رکھنا تھا، لیکن جب ڈسپلے خریدا گیا تو معلوم ہوا کہ ڈبے کو ڈھانپنے والا اسٹینڈ "raspberry" کے ساتھ نہیں پھسلا۔ اب، اگر بورڈ صرف 3 ملی میٹر پتلا تھا ...

لیکن ایک ساتھی نے مجھے Raspberry Pi Zero کی ریلیز کے بارے میں بتایا، جو اتنا چھوٹا نکلا کہ ان میں سے دو ٹوکری میں فٹ ہو سکتے ہیں... یا شاید تین بھی۔ اسے فوری طور پر ایک 64 جی بی میموری کارڈ، بلوٹوتھ، "سیٹی" اور ایک مائیکرو USB کیبل کے ساتھ آرڈر کیا گیا۔ کچھ دنوں بعد یہ سب کچھ پہنچ گیا، اور دیکھنے والے دوستوں نے مصنف کی نقشہ تیار کرنے میں مدد کی۔ سب کچھ فوری طور پر کام کر گیا جیسا کہ اسے کرنا چاہئے تھا۔

اس کے لیے کیا کیا گیا۔

Handy Tech Active Star 40 کی پشت پر کی بورڈ جیسے آلات کے لیے دو USB پورٹس ہیں۔ مقناطیسی ماؤنٹ کے ساتھ ایک چھوٹے سائز کا کی بورڈ شامل ہے۔ جب کی بورڈ منسلک ہوتا ہے، اور ڈسپلے خود بلوٹوتھ کے ذریعے کام کرتا ہے، تو کمپیوٹر اسے بلوٹوتھ کی بورڈ کے طور پر بھی پہچانتا ہے۔

اس طرح، اگر آپ ایک بلوٹوتھ "سیٹی" کو سمارٹ فون کے ڈبے میں رکھے Raspberry Pi Zero سے جوڑتے ہیں، تو یہ بلوٹوتھ کے ذریعے بریل ڈسپلے کے ساتھ بات چیت کر سکے گا۔ BRLTTYاور اگر آپ کی بورڈ کو بھی ڈسپلے سے جوڑتے ہیں، تو "رسبری" اس کے ساتھ بھی کام کرے گا۔

لیکن یہ سب کچھ نہیں ہے۔ "رسبری" خود، بدلے میں، کسی بھی ڈیوائس سے بلوٹوتھ PAN کے ذریعے انٹرنیٹ تک رسائی حاصل کر سکتا ہے جو اسے سپورٹ کرتا ہے۔ مصنف نے گھر اور کام پر اپنے اسمارٹ فون اور کمپیوٹرز کو اسی کے مطابق ترتیب دیا ہے، لیکن مستقبل میں وہ اس کے لیے ایک اور "رسبری" کو اپنانے کا ارادہ رکھتا ہے - ایک کلاسک، زیرو نہیں، ایتھرنیٹ سے منسلک اور دوسرا بلوٹوتھ "سیٹی"۔

بلیو زیڈ 5 اور PAN

PAN ترتیب کا طریقہ استعمال کرتے ہوئے بلیو زیڈ غیر واضح نکلا. مصنف کو bt-pan Python اسکرپٹ ملا (نیچے ملاحظہ کریں)، جو آپ کو بغیر GUI کے PAN کنفیگر کرنے کی اجازت دیتا ہے۔

اسے سرور اور کلائنٹ دونوں کو ترتیب دینے کے لیے استعمال کیا جا سکتا ہے۔ کلائنٹ موڈ میں کام کرتے وقت D-Bus کے ذریعے مناسب کمانڈ حاصل کرنے کے بعد، یہ سرور کے ساتھ کنکشن قائم کرنے کے فوراً بعد ایک نیا نیٹ ورک ڈیوائس bnep0 بناتا ہے۔ عام طور پر، DHCP کا استعمال اس انٹرفیس کو IP ایڈریس تفویض کرنے کے لیے کیا جاتا ہے۔ سرور موڈ میں، بلیو زیڈ کو ایک برج ڈیوائس کا نام درکار ہوتا ہے جس میں وہ ہر کلائنٹ کو جوڑنے کے لیے ایک غلام ڈیوائس شامل کر سکتا ہے۔ برج ڈیوائس کے لیے ایڈریس کو کنفیگر کرنا اور پل پر ڈی ایچ سی پی سرور پلس آئی پی کی نقاب کشائی کرنا عموماً وہی ہوتا ہے جس کی ضرورت ہوتی ہے۔

Systemd کے ساتھ بلوٹوتھ PAN ایکسیس پوائنٹ

پل کو ترتیب دینے کے لیے، مصنف نے systemd-networkd کا استعمال کیا:

فائل /etc/systemd/network/pan.netdev

[NetDev]
Name=pan
Kind=bridge
ForwardDelaySec=0

فائل /etc/systemd/network/pan.network

[Match]
Name=pan

[Network]
Address=0.0.0.0/24
DHCPServer=yes
IPMasquerade=yes

اب ہمیں بلیو زیڈ کو NAP پروفائل ترتیب دینے پر مجبور کرنے کی ضرورت ہے۔ معلوم ہوا کہ یہ معیاری BlueZ 5.36 یوٹیلیٹیز کے ساتھ نہیں کیا جا سکتا۔ اگر مصنف غلط ہے تو اسے درست کریں: ملنگ (اپنے کان ہلا سکتا ہے) اندھا (کبھی کبھی رسائی اور کوانٹم) گرو

لیکن اس نے پایا بلاگ پوسٹ и ازگر اسکرپٹ D-Bus کو ضروری کال کرنے کے لیے۔

سہولت کے لیے، مصنف نے اسکرپٹ کو چلانے کے لیے Systemd سروس کا استعمال کیا اور چیک کیا کہ آیا انحصار حل ہو گیا ہے۔

فائل /etc/systemd/system/pan.service

[Unit]
Description=Bluetooth Personal Area Network
After=bluetooth.service systemd-networkd.service
Requires=systemd-networkd.service
PartOf=bluetooth.service

[Service]
Type=notify
ExecStart=/usr/local/sbin/pan

[Install]
WantedBy=bluetooth.target

فائل /usr/local/sbin/pan

#!/bin/sh
# Ugly hack to work around #787480
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

exec /usr/local/sbin/bt-pan --systemd --debug server pan

دوسری فائل کی ضرورت نہیں ہوگی اگر ڈیبین میں IPMasquerade= سپورٹ ہو (نیچے دیکھیں)۔ 787480 #).

احکامات پر عمل کرنے کے بعد سیسٹمٹیکیل دایمن دوبارہ لوڈ کریں и سسٹم سی ٹی ایل دوبارہ شروع کرنے والے سسٹمڈ نیٹ ورکڈ آپ کمانڈ کے ساتھ بلوٹوتھ PAN شروع کر سکتے ہیں۔ systemctl شروع پین

Systemd استعمال کرنے والا بلوٹوتھ PAN کلائنٹ

سسٹمڈ کا استعمال کرتے ہوئے کلائنٹ سائیڈ کو کنفیگر کرنا بھی آسان ہے۔

فائل /etc/systemd/network/pan-client.network

[Match]
Name=bnep*

[Network]
DHCP=yes

فائل /etc/systemd/system/[ای میل محفوظ]

[Unit]
Description=Bluetooth Personal Area Network client

[Service]
Type=notify
ExecStart=/usr/local/sbin/bt-pan --debug --systemd client %I --wait

اب، کنفیگریشن کو دوبارہ لوڈ کرنے کے بعد، آپ مخصوص بلوٹوتھ ایکسیس پوائنٹ سے اس طرح جڑ سکتے ہیں:

systemctl start pan@00:11:22:33:44:55

کمانڈ لائن کا استعمال کرتے ہوئے جوڑا بنانا

بلاشبہ، سرور اور کلائنٹس کی ترتیب بلوٹوتھ کے ذریعے جوڑی بنانے کے بعد ہونی چاہیے۔ سرور پر آپ کو بلوٹوتھ سی ٹی ایل چلانے اور اسے کمانڈ دینے کی ضرورت ہے:

power on
agent on
default-agent
scan on
scan off
pair XX:XX:XX:XX:XX:XX
trust XX:XX:XX:XX:XX:XX

اسکین شروع کرنے کے بعد، چند سیکنڈ انتظار کریں جب تک کہ آپ کو مطلوبہ آلہ فہرست میں ظاہر نہ ہو۔ اس کا پتہ لکھیں اور پیئر کمانڈ اور اگر ضروری ہو تو ٹرسٹ کمانڈ جاری کرکے استعمال کریں۔

کلائنٹ کی طرف، آپ کو وہی کام کرنے کی ضرورت ہے، لیکن ٹرسٹ کمانڈ کی ضرور ضرورت نہیں ہے۔ سرور کو صارف کی طرف سے دستی تصدیق کے بغیر NAP پروفائل کا استعمال کرتے ہوئے کنکشن قبول کرنے کی ضرورت ہے۔

مصنف کو یقین نہیں ہے کہ یہ حکموں کی بہترین ترتیب ہے۔ شاید صرف اس کی ضرورت ہے کہ کلائنٹ کو سرور کے ساتھ جوڑا جائے اور سرور پر ٹرسٹ کمانڈ چلائے، لیکن اس نے ابھی تک اس کی کوشش نہیں کی۔

HID بلوٹوتھ پروفائل کو فعال کرنا

یہ ضروری ہے کہ Raspberry ایک کی بورڈ کو پہچانے جو بریل ڈسپلے سے تار کے ذریعے جڑا ہوا ہے، اور ڈسپلے کے ذریعے ہی بلوٹوتھ کے ذریعے منتقل کیا جاتا ہے۔ یہ اسی طرح کیا جاتا ہے، صرف اس کے بجائے پر ایجنٹ ایک حکم دینے کی ضرورت ہے؟ ایجنٹ کی بورڈ صرف اور بلوٹوتھ سی ٹی ایل کو ایک HID پروفائل والا آلہ ملے گا۔

لیکن کمانڈ لائن کے ذریعے بلوٹوتھ ترتیب دینا قدرے پیچیدہ ہے۔

اگرچہ مصنف ہر چیز کو ترتیب دینے میں کامیاب رہا، لیکن وہ سمجھتا ہے کہ کمانڈ لائن کے ذریعے بلیو زیڈ کو ترتیب دینا تکلیف دہ ہے۔ پہلے تو اس نے سوچا کہ ایجنٹوں کو صرف پن کوڈز درج کرنے کی ضرورت ہے، لیکن یہ پتہ چلا، مثال کے طور پر، HID پروفائل کو فعال کرنے کے لیے آپ کو "Agent KeyboardOnly" ٹائپ کرنا ہوگا۔ یہ حیرت کی بات ہے کہ بلوٹوتھ PAN کو لانچ کرنے کے لیے آپ کو مطلوبہ اسکرپٹ کی تلاش میں ذخیروں سے گزرنا پڑتا ہے۔ اسے یاد ہے کہ بلیو زیڈ کے پچھلے ورژن میں اس کے لیے ایک ریڈی میڈ ٹول موجود تھا۔ پانڈ - وہ بلیو زیڈ 5 میں کہاں کر رہا ہے؟ اچانک ایک نیا حل نمودار ہوا، مصنف کو معلوم نہیں، لیکن سطح پر پڑا ہے؟

کارکردگی

ڈیٹا کی منتقلی کی رفتار تقریباً 120 kbit/s تھی، جو کہ کافی ہے۔ کمانڈ لائن انٹرفیس کے لیے 1GHz ARM پروسیسر بہت تیز ہے۔ مصنف اب بھی ڈیوائس پر بنیادی طور پر ssh اور emacs استعمال کرنے کا ارادہ رکھتا ہے۔

کنسول فونٹس اور اسکرین ریزولوشن

Raspberry Pi Zero پر فریم بفر کے ذریعہ استعمال ہونے والی ڈیفالٹ اسکرین ریزولوشن کافی عجیب ہے: fbset اسے 656x416 پکسلز کے طور پر رپورٹ کرتا ہے (یقیناً کوئی مانیٹر منسلک نہیں)۔ 8×16 کے کنسول فونٹ کے ساتھ، فی لائن 82 حروف اور 26 لائنیں تھیں۔

اس موڈ میں 40 حروف والے بریل ڈسپلے کے ساتھ کام کرنا تکلیف دہ ہے۔ مصنف بریل میں یونیکوڈ حروف کو بھی دیکھنا چاہے گا۔ خوش قسمتی سے، لینکس 512 حروف کو سپورٹ کرتا ہے، اور زیادہ تر کنسول فونٹس میں 256 ہوتے ہیں۔ کنسول سیٹ اپ کا استعمال کرتے ہوئے، آپ دو 256 حروف والے فونٹس ایک ساتھ استعمال کر سکتے ہیں۔ مصنف نے /etc/default/console-setup فائل میں درج ذیل سطریں شامل کیں۔

SCREEN_WIDTH=80
SCREEN_HEIGHT=25
FONT="Lat15-Terminus16.psf.gz brl-16x8.psf"

نوٹ: brl-16×8.psf فونٹ دستیاب کرنے کے لیے، آپ کو کنسول بریل انسٹال کرنا ہوگا۔

اس کے بعد کیا ہے؟

بریل ڈسپلے میں 3,5 ملی میٹر جیک ہے، لیکن مصنف Mini-HDMI سے آڈیو سگنل وصول کرنے کے لیے اڈاپٹر سے واقف نہیں ہے۔ مصنف راسبیری میں بنائے گئے ساؤنڈ کارڈ کو استعمال کرنے سے قاصر تھا (عجیب بات یہ ہے کہ مترجم کو یقین تھا کہ زیرو کے پاس ایک نہیں ہے، لیکن GPIO میں PWM کا استعمال کرتے ہوئے آواز کو آؤٹ پٹ کرنے کے طریقے موجود ہیں)۔ وہ USB-OTG حب استعمال کرنے اور ایک بیرونی کارڈ اور آؤٹ پٹ ساؤنڈ کو بریل ڈسپلے میں بنائے گئے اسپیکر سے منسلک کرنے کا ارادہ رکھتا ہے۔ کسی وجہ سے، دو بیرونی کارڈز کام نہیں کرتے؛ اب وہ ایک مختلف چپ سیٹ پر اسی طرح کے آلے کی تلاش میں ہے۔

"رسبری" کو دستی طور پر بند کرنا، چند سیکنڈ انتظار کرنا اور بریل ڈسپلے کو بند کرنا بھی تکلیف دہ ہے۔ اور سب اس لیے کہ جب اسے آف کر دیا جاتا ہے، تو یہ کمپارٹمنٹ میں موجود کنیکٹر سے بجلی ہٹا دیتا ہے۔ مصنف نے کمپارٹمنٹ میں ایک چھوٹی بفر بیٹری رکھنے کا ارادہ کیا ہے اور GPIO کے ذریعے Raspberry کو ڈسپلے کے بند ہونے کے بارے میں مطلع کیا ہے، تاکہ وہ اپنا کام بند کرنا شروع کر سکے۔ یہ چھوٹے میں UPS ہے۔

سسٹم کی تصویر

اگر آپ کے پاس وہی بریل ڈسپلے ہے اور آپ اس کے ساتھ ایسا ہی کرنا چاہتے ہیں، تو مصنف سسٹم کی ایک ریڈی میڈ تصویر فراہم کرنے کے لیے تیار ہے (Raspbian Stretch پر مبنی)۔ اس کے بارے میں اسے اوپر بتائے گئے پتے پر لکھیں۔ اگر کافی لوگ دلچسپی رکھتے ہیں، تو یہ کٹس جاری کرنا بھی ممکن ہے جس میں اس طرح کی ترمیم کے لیے ضروری ہر چیز شامل ہو۔

اعترافات

پروف ریڈنگ کے لیے ڈیو میلکے کا شکریہ۔

تصویر کی عکاسی کے لیے سائمن کینز کا شکریہ۔

Raspberry Pi کی دنیا سے مصنف کو جلد متعارف کرانے کے لیے گریز ٹیکنیکل یونیورسٹی میں اپنے ساتھیوں کا شکریہ۔

PS پہلا ٹویٹ اس موضوع پر مصنف (کھولتا نہیں ہے - مترجم) اس مضمون کی اصل اشاعت سے صرف پانچ دن پہلے بنایا گیا تھا، اور یہ سمجھا جا سکتا ہے کہ آواز کے مسائل کے علاوہ، یہ کام عملی طور پر حل ہو گیا تھا۔ ویسے، مصنف نے اپنے بنائے ہوئے "خود کفیل بریل ڈسپلے" سے متن کے حتمی ورژن میں ترمیم کی، اسے SSH کے ذریعے اپنے گھر کے کمپیوٹر سے جوڑ دیا۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں