Raspberry Pi Zero дар дохили дисплейи Handy Tech Active Star 40 брайл

Raspberry Pi Zero дар дохили дисплейи Handy Tech Active Star 40 брайл

Муаллиф дар дохили дисплейи нави Handy Tech Active Star 40 брайли худ Raspberry Pi Zero, ҳуштакҳои Bluetooth ва кабелро ҷойгир кардааст. Порти дарунсохти USB барқро таъмин мекунад. Дар натиҷа компютери худкифокунандаи монитор дар ARM бо системаи оператсионии Linux ба вуҷуд омад, ки бо клавиатура ва дисплейи Брайл муҷаҳҳаз шудааст. Шумо метавонед онро тавассути USB, аз ҷумла барқ ​​​​пур кунед/қувват кунед. аз бонки барқӣ ё пуркунандаи офтоб. Аз ин рӯ, ӯ метавонад якчанд соат бе барқ ​​кор кунад, аммо якчанд рӯз.

Raspberry Pi Zero дар дохили дисплейи Handy Tech Active Star 40 брайл

Фарқияти андозагирии дисплейҳои брайл

Пеш аз ҳама, онҳо дар дарозии хатҳо фарқ мекунанд. Дастгоҳҳои дорои иқтидори 60 ё бештар аз он барои кор бо компютери мизи корӣ мувофиқанд, дар ҳоле ки дастгоҳҳои дорои иқтидори 40 барои интиқол бо ноутбук мувофиқанд. Ҳоло дисплейҳои брайл ба смартфонҳо ва планшетҳо пайваст шудаанд, ки дарозии сатр 14 ё 18 аломатро ташкил медиҳад.

Дар гузашта намоишҳои брайл хеле калон буданд. Масалан, ноутбуки 40-ҷойӣ ҳаҷм ва вазни ноутбуки 13-дюймиро дошт. Ҳоло, бо ҳамон шумораи шиносҳо, онҳо ба қадри кофӣ миниатюра мебошанд, ки шумо метавонед дисплейро дар назди ноутбук гузоред, на ноутбукро дар экран.

Ин, албатта, беҳтар аст, аммо дар зонуи худ нигоҳ доштани ду дастгоҳи алоҳида ҳанӯз чандон қулай нест. Вақте ки шумо дар сари миз кор мекунед, ҳеҷ гуна шикоят вуҷуд надорад, аммо бояд дар хотир дошт, ки ноутбукро бо номи дигар ноутбук меноманд ва кӯшиш кардан лозим аст, ки номи онро сафед кунад, зеро маълум мешавад, ки дисплейи миниатюрии 40 аломат ҳатто камтар қулай аст.

Ҳамин тавр, муаллиф интизори баровардани модели нави дер силсилаи Handy Tech Star буд. Ҳанӯз дар соли 2002 модели қаблии Handy Tech Braille Star 40 бароварда шуда буд, ки дар он майдони бадан барои гузоштани ноутбук дар боло кофӣ аст. Ва агар он мувофиқат накунад, стенди бозгардонанда мавҷуд аст. Ҳоло ин моделро Active Star 40 иваз кард, ки тақрибан якхела аст, аммо бо электроникаи такмилёфта.

Raspberry Pi Zero дар дохили дисплейи Handy Tech Active Star 40 брайл

Ва стенди бозпас гирифташаванда боқӣ мемонад:

Raspberry Pi Zero дар дохили дисплейи Handy Tech Active Star 40 брайл

Аммо чизи аз ҳама қулай дар бораи маҳсулоти нав танаффус тақрибан ба андозаи смартфон аст (ниг. KDPV). Он вақте кушода мешавад, ки платформа баргардонида мешавад. Маълум шуд, ки нигоҳ доштани смартфон дар он ҷо номувофиқ аст, аммо ба шумо лозим аст, ки бо кадом роҳе аз қуттии холӣ истифода баред, ки дар дохили он ҳатто васлаки барқ ​​мавҷуд аст.

Аввалин чизе, ки муаллиф ба миён овард, он ҷо ҷойгир кардани Raspberry Pi буд, аммо вақте ки дисплей харида шуд, маълум шуд, ки стенди пӯшонидани купе бо "малина" надаромадааст. Акнун, агар тахта ҳамагӣ 3 мм борик мебуд...

Аммо як ҳамкасбам ба ман дар бораи баровардани Raspberry Pi Zero нақл кард, ки он чунон миниётураҳо буд, ки дутои онҳо метавонанд дар купе ҷойгир шаванд ... ё ҳатто се. Он фавран дар якҷоягӣ бо корти хотираи 64 ГБ, Bluetooth, "хуштак" ва сими Micro USB фармоиш дода шуд. Пас аз чанд рӯз ин ҳама фаро расид ва дӯстони бинокор ба муаллиф дар таҳияи харита кумак карданд. Ҳама чиз фавран ба таври лозимӣ кор кард.

Барои ин чй кор карда шуд

Дар қафои Handy Tech Active Star 40 ду порти USB барои дастгоҳҳо ба монанди клавиатура мавҷуд аст. Як клавиатураи хурд бо васлаки магнитӣ дохил карда шудааст. Вақте ки клавиатура пайваст аст ва худи дисплей тавассути Bluetooth кор мекунад, компютер онро ба таври иловагӣ ҳамчун клавиатураи Bluetooth эътироф мекунад.

Ҳамин тариқ, агар шумо "хуштак"-и Bluetooth-ро ба Raspberry Pi Zero, ки дар қисмати смартфон ҷойгир аст, пайваст кунед, он метавонад бо истифодаи Bluetooth тавассути дисплейи брайл муошират кунад. BRLTTY, ва агар шумо инчунин клавиатураро ба дисплей пайваст кунед, "малина" низ бо он кор мекунад.

Аммо ин ҳама нест. Худи «малина» дар навбати худ метавонад тавассути Bluetooth PAN аз ҳар дастгоҳе, ки онро дастгирӣ мекунад, ба Интернет дастрасӣ пайдо кунад. Муаллиф смартфон ва компютерҳои худро дар хона ва дар ҷои кор мувофиқан конфигуратсия кардааст, аммо дар оянда ният дорад, ки барои ин як “малина”-и дигар – як классикӣ, на сифр, ки ба Ethernet пайваст ва дигар “хуштак”-и Bluetooth мутобиқ карда шавад.

BlueZ 5 ва PAN

Усули конфигуратсияи PAN бо истифода аз блюз норавшан гардид. Муаллиф скрипти bt-pan Python-ро ёфт (нигаред ба поён), ки ба шумо имкон медиҳад, ки PAN-ро бидуни GUI танзим кунед.

Он метавонад барои танзими ҳам сервер ва ҳам муштарӣ истифода шавад. Ҳангоми кор дар реҷаи муштарӣ фармони мувофиқро тавассути D-Bus гирифта, дарҳол пас аз барқарор кардани пайвастшавӣ бо сервер дастгоҳи нави шабакаи bnep0 эҷод мекунад. Одатан, DHCP барои таъин кардани суроғаи IP ба ин интерфейс истифода мешавад. Дар реҷаи сервер, BlueZ номи дастгоҳи пулро талаб мекунад, ки ба он метавонад дастгоҳи ғуломро барои пайваст кардани ҳар як муштарӣ илова кунад. Конфигуратсияи суроға барои дастгоҳи пулӣ ва кор кардани сервери DHCP ва инчунин маскаракунии IP дар купрук одатан ҳама чизест, ки лозим аст.

Нуқтаи дастрасии Bluetooth PAN бо Systemd

Барои танзим кардани пул, муаллиф аз 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

Ҳоло мо бояд BlueZ-ро маҷбур кунем, ки профили NAP-ро танзим кунад. Маълум шуд, ки ин корро бо утилитаҳои стандартии BlueZ 5.36 кардан мумкин нест. Агар муаллиф хато бошад, ӯро ислоҳ кунед: мланг (метавонад гӯшҳояшро ҷунбонад) кӯр (баъзан дастрасӣ ва квантӣ) гуру

Аммо ӯ ёфт баъди блог и Скрипти Python ки ба 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

Файли дуюм лозим намешуд, агар Debian IPMasquerade = дастгирӣ дошта бошад (нигаред ба поён). #787480).

Пас аз иҷрои фармонҳо Радиои Озодӣ и systemctl бозоғоз намоед systemd-networkd шумо метавонед Bluetooth PAN-ро бо фармон оғоз кунед systemctl оғоз pan

Мизоҷи Bluetooth PAN бо истифода аз Systemd

Ҷониби муштарӣ низ бо истифода аз Systemd танзим кардан осон аст.

Файл /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

Акнун, пас аз аз нав боркунии конфигуратсия, шумо метавонед ба нуқтаи дастрасии Bluetooth ба таври зерин пайваст шавед:

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

Пайвастшавӣ бо истифода аз сатри фармон

Албатта, конфигуратсияи сервер ва муштариён бояд пас аз пайваст кардани онҳо тавассути Bluetooth анҷом дода шавад. Дар сервер шумо бояд bluetoothctl -ро иҷро кунед ва ба он фармонҳоро диҳед:

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 бидуни тасдиқи дастӣ аз ҷониби корбар қабул кунад.

Муаллиф боварӣ надорад, ки ин пайдарпайии оптималии фармонҳост. Шояд ҳама чизеро, ки лозим аст, пайваст кардани муштарӣ бо сервер ва иҷро кардани фармони эътимод дар сервер аст, аммо ӯ то ҳол ин корро накардааст.

Даргиронидани профили Bluetooth HID

Талаб карда мешавад, ки Raspberry клавиатураеро, ки ба дисплейи Брайл тавассути сим пайваст шудааст ва тавассути худи дисплей тавассути Bluetooth интиқол дода мешавад, эътироф кунад. Ин ба ҳамин тариқ, танҳо ба ҷои он анҷом дода мешавад агент дар фармон додан лозим аст агенти клавиатура Танҳо ва bluetoothctl дастгоҳеро бо профили HID пайдо мекунад.

Аммо насб кардани Bluetooth тавассути хати фармон каме мушкил аст

Гарчанде ки муаллиф тавонист ҳама чизро танзим кунад, вай мефаҳмад, ки танзими BlueZ тавассути сатри фармон нороҳат аст. Дар аввал ӯ фикр мекард, ки агентҳо танҳо барои ворид кардани кодҳои PIN лозиманд, аммо маълум шуд, ки барои фаъол кардани профили HID шумо бояд "Agent KeyboardOnly" -ро нависед. Тааҷҷубовар аст, ки барои оғоз кардани Bluetooth PAN ба шумо лозим аст, ки дар ҷустуҷӯи скрипти зарурӣ тавассути анборҳо гузаред. Вай дар хотир дорад, ки дар версияи қаблии BlueZ барои ин асбоби омода мавҷуд буд панд - вай дар BlueZ 5 дар куҷо кор мекунад? Ногаҳон ҳалли наве пайдо шуд, ки ба муаллиф номаълум аст, аммо дар рӯи замин хобидааст?

Маҳсулнокӣ

Суръати интиқоли маълумот тақрибан 120 кбит/с буд, ки ин комилан кофӣ аст. Протсессори 1 ГГц ARM барои интерфейси сатри фармон хеле зуд аст. Муаллиф ҳоло ҳам нақша дорад, ки дар дастгоҳ асосан ssh ва emacs истифода барад.

Ҳарфҳои консол ва ҳалли экран

Ҳалли экрани пешфарз, ки аз ҷониби фреймбуфер дар Raspberry Pi Zero истифода мешавад, хеле аҷиб аст: fbset онро ҳамчун 656x416 пиксел гузориш медиҳад (албатта монитор пайваст нашудааст). Бо шрифти консолии 8×16, дар як сатр 82 аломат ва 26 сатр мавҷуд буд.

Дар ин режим кор кардан бо дисплейи 40 аломати Брайл нороҳат аст. Муаллиф инчунин мехоҳад, ки аломатҳои Юникод бо алифбои брайл нишон дода шаванд. Хушбахтона, Linux 512 аломатро дастгирӣ мекунад ва аксари шрифтҳои консолӣ 256 аломат доранд. Бо истифода аз консол-setup, шумо метавонед ду шрифти 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 огоҳ нест. Муаллиф натавонист корти садоиро, ки дар Raspberry сохта шудааст, истифода барад (аҷиб он аст, ки тарҷумон боварӣ дошт, ки Zero якто надорад, аммо роҳҳои баровардани садо бо истифода аз PWM ба GPIO вуҷуд доранд). Вай нақша дорад, ки маркази USB-OTG-ро истифода барад ва корти беруна ва садои баромадро ба баландгӯяки дар дисплейи брайл сохташуда пайваст кунад. Бо баъзе сабабҳо, ду корти беруна кор намекарданд, ҳоло ӯ дастгоҳи шабеҳро дар чипсетҳои дигар меҷӯяд.

Ба таври дастӣ хомӯш кардани "малина", чанд сония интизор шудан ва хомӯш кардани дисплейи брайл низ нороҳат аст. Ва ҳама аз он сабаб, ки вақте ки он хомӯш карда мешавад, он қувваи барқро аз пайвасткунаки бахш хориҷ мекунад. Муаллиф ба нақша гирифтааст, ки батареяи хурди буфериро дар қисм ҷойгир кунад ва тавассути GPIO ба Малина дар бораи хомӯш шудани дисплей хабар диҳад, то он метавонад ба кори худ шурӯъ кунад. Ин як UPS дар миниётура аст.

Тасвири система

Агар шумо ҳамон дисплейи Брайл дошта бошед ва хоҳед, ки бо он кор кунед, муаллиф омода аст тасвири тайёри системаро пешниҳод кунад (дар асоси Raspbian Stretch). Дар ин бора ба ӯ дар суроғаи дар боло зикршуда нависед. Агар одамони ба қадри кофӣ таваҷҷӯҳ дошта бошанд, ҳатто маҷмӯаҳоро баровардан мумкин аст, ки ҳама чизҳои заруриро барои чунин тағирот дар бар мегиранд.

Эътирофҳо

Ташаккур ба Дейв Миелке барои хондани таҳрир.

Ташаккур ба Саймон Кайнз барои тасвирҳои акс.

Ташаккур ба ҳамкорони ман дар Донишгоҳи техникии Грац, ки муаллифро бо ҷаҳони Raspberry Pi зуд шинос карданд.

PS Аввалин твит муаллиф дар ин мавзуъ (кушода намешавад - тарчумон) хамагй панч руз пеш аз интишори аслии ин макола навишта шуда буд ва метавон чунин хисоб кард, ки ба истиснои проблемахои садонок вазифа амалан хал шудааст. Дар омади гап, муаллиф нусхаи ниҳоии матнро аз "дисплейи худкифои Брайл" таҳрир карда, онро тавассути SSH ба компютери хонагии худ пайваст кардааст.

Манбаъ: will.com

Илова Эзоҳ