Raspberry Pi Zero Handy Tech Active Star 40 punktkirjaekraanil

Raspberry Pi Zero Handy Tech Active Star 40 punktkirjaekraanil

Autor paigutas oma uude punktkirjaekraani Handy Tech Active Star 40 sisse Raspberry Pi Zero, Bluetoothi ​​vile ja kaabli. Toidet annab sisseehitatud USB-port. Tulemuseks oli isemajandav monitorideta arvuti ARM-is Linuxi operatsioonisüsteemiga, mis on varustatud klaviatuuri ja punktkirjaekraaniga. Saate seda laadida/toitestada USB kaudu, sh. elektripangast või päikeselaadijast. Seetõttu saab ta ilma vooluta hakkama mitu tundi, kuid mitu päeva.

Raspberry Pi Zero Handy Tech Active Star 40 punktkirjaekraanil

Punktkirjakuvarite mõõtmete eristamine

Esiteks erinevad need joone pikkuse poolest. 60 ja enama mahutavusega seadmed sobivad hästi lauaarvutiga töötamiseks, 40 mahuga seadmed aga sülearvutiga kaasaskandmiseks. Nüüd on nutitelefonide ja tahvelarvutitega ühendatud punktkirjaekraanid, mille rea pikkus on 14 või 18 tähemärki.

Varem olid punktkirjaekraanid üsna massiivsed. 40-kohalisel sülearvutil oli näiteks 13-tollise sülearvuti suurus ja kaal. Nüüd on sama arvu tuttavate juures need piisavalt miniatuursed, et saaks panna pigem sülearvuti ette ekraani, mitte sülearvuti ekraanile.

Nii on muidugi parem, aga kaht eraldi seadet süles hoida pole siiski kuigi mugav. Laua taga töötades pole kaebusi, kuid tasub meeles pidada, et sülearvutit nimetatakse sülearvutiks teise nimega ja püüda selle nime õigustada, kuna selgub, et miniatuurne 40-kohaline ekraan on veelgi vähem mugav.

Nii ootas autor kaua lubatud Handy Tech Stari sarja uue mudeli ilmumist. Veel 2002. aastal ilmus eelmine mudel Handy Tech Braille Star 40, kus kehapiirkonnast piisab sülearvuti peale panemiseks. Ja kui see ei sobi, on olemas ülestõstetav alus. Nüüd on see mudel asendatud Active Star 40-ga, mis on peaaegu sama, kuid täiustatud elektroonikaga.

Raspberry Pi Zero Handy Tech Active Star 40 punktkirjaekraanil

Ja ülestõmmatav alus jääb alles:

Raspberry Pi Zero Handy Tech Active Star 40 punktkirjaekraanil

Kuid kõige mugavam asi uue toote juures on umbes nutitelefoni suurune süvend (vt KDPV). See avaneb, kui platvormi tagasi liigutatakse. Nutitelefoni seal hoidmine osutus ebamugavaks, kuid tühja sahtlit, mille sees on isegi pistikupesa, tuleb kuidagi ära kasutada.

Esimese asjana mõtles autor välja Raspberry Pi sinna paigutamise, kuid kuvari ostmisel selgus, et kambrit kattev alus ei libisenud “vaarikaga” sisse. Kui plaat oleks ainult 3 mm õhem...

Kuid kolleeg rääkis mulle Raspberry Pi Zero väljalaskmisest, mis osutus nii miniatuurseks, et kaks neist mahtusid sahtlisse... või võib-olla isegi kolm. See sai kohe tellitud koos 64 GB mälukaardi, Bluetoothi, “vile” ja Micro USB kaabliga. Mõni päev hiljem saabus see kõik ja nägijad sõbrad aitasid autoril kaarti koostada. Kõik toimis kohe nii nagu pidi.

Mida selleks tehti

Handy Tech Active Star 40 tagaküljel on kaks USB-porti seadmete, näiteks klaviatuuride jaoks. Kaasas on väikese suurusega magnetkinnitusega klaviatuur. Kui klaviatuur on ühendatud ja ekraan ise töötab Bluetoothi ​​kaudu, tuvastab arvuti selle lisaks Bluetoothi ​​klaviatuurina.

Seega, kui ühendate Bluetoothi ​​"vile" nutitelefoni kambrisse paigutatud Raspberry Pi Zeroga, saab see Bluetoothi ​​kaudu punktkirjaekraaniga suhelda BRLTTY, ja kui ühendate ekraaniga ka klaviatuuri, töötab ka "vaarikas".

Kuid see pole veel kõik. “Vaarikas” ise omakorda pääseb Internetti Bluetooth PAN-i kaudu igast seda toetavast seadmest. Autor on oma nutitelefoni ja arvutid nii kodus kui ka tööl vastavalt seadistanud, kuid tulevikus plaanib ta selle jaoks kohandada veel ühe “vaarika” - klassikalise, mitte Ethernetiga ühendatud Zero ja teise Bluetoothi ​​“vile”.

BlueZ 5 ja PAN

PAN-i konfiguratsioonimeetodi kasutamine sinine osutus ilmselgeks. Autor leidis bt-pan Pythoni skripti (vt allpool), mis võimaldab seadistada PAN-i ilma GUI-ta.

Seda saab kasutada nii serveri kui ka kliendi konfigureerimiseks. Saanud kliendirežiimis töötades D-Busi kaudu vastava käsu, loob see kohe pärast serveriga ühenduse loomist uue võrguseadme bnep0. Tavaliselt kasutatakse sellele liidesele IP-aadressi määramiseks DHCP-d. Serverirežiimis nõuab BlueZ sildseadme nime, millele ta saab iga kliendi ühendamiseks lisada alamseadme. Tavaliselt piisab sillaseadme aadressi konfigureerimisest ja DHCP-serveri käitamisest ning sillal IP maskeeringust.

Bluetooth PAN-pääsupunkt koos Systemd-iga

Silla seadistamiseks kasutas autor systemd-networkd:

Fail /etc/systemd/network/pan.netdev

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

Fail /etc/systemd/network/pan.network

[Match]
Name=pan

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

Nüüd peame sundima BlueZ-i NAP-profiili konfigureerima. Selgus, et standardsete BlueZ 5.36 utiliitidega seda teha ei saa. Kui autor eksib, parandage teda: mlang (saab kõrvu liigutada) pime (mõnikord juurdepääsu ja kvant) guru

Aga ta leidis blogipostitus и Pythoni skript vajalike kõnede tegemiseks D-Busi.

Mugavuse huvides kasutas autor skripti käitamiseks teenust Systemd ja kontrolli, kas sõltuvused on lahendatud.

Fail /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

Fail /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

Teist faili poleks vaja, kui Debianil oleks IPmasquerade= tugi (vt allpool). #787480).

Pärast käskude täitmist systemctl daemon-reload и systemctl taaskäivitage systemd-networkd Bluetooth PAN-i saate käivitada käsuga systemctl start pan

Bluetooth PAN-klient, mis kasutab Systemd

Kliendipoolt on Systemdi abil lihtne konfigureerida.

Fail /etc/systemd/network/pan-client.network

[Match]
Name=bnep*

[Network]
DHCP=yes

Fail /etc/systemd/system/[meiliga kaitstud]

[Unit]
Description=Bluetooth Personal Area Network client

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

Nüüd, pärast konfiguratsiooni uuesti laadimist, saate määratud Bluetoothi ​​pöörduspunktiga ühenduse luua järgmiselt:

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

Sidumine käsurea abil

Loomulikult tuleb serveri ja klientide seadistamine teha pärast nende sidumist Bluetoothi ​​kaudu. Serveris peate käivitama bluetoothctl ja andma sellele käsud:

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

Pärast skannimise alustamist oodake mõni sekund, kuni vajalik seade kuvatakse loendisse. Kirjutage üles selle aadress ja kasutage seda, andes välja paarikäskluse ja vajadusel usalduskäsu.

Kliendi poolel tuleb sama teha, aga usalduskäsku pole kindlasti vaja. Server vajab seda NAP-profiili kasutava ühenduse vastuvõtmiseks ilma kasutaja käsitsi kinnituseta.

Autor pole kindel, et see on optimaalne käskude jada. Võib-olla on vaja ainult klient serveriga siduda ja serveris usalduskäsk käivitada, kuid ta pole seda veel proovinud.

HID Bluetoothi ​​profiili lubamine

On nõutav, et Raspberry tunneks ära klaviatuuri, mis on punktkirjaekraaniga juhtmega ühendatud ja mille ekraan ise Bluetoothi ​​kaudu edastab. Seda tehakse samamoodi, ainult selle asemel agent peal vaja käsk anda agent KeyboardOnly ja bluetoothctl leiab HID-profiiliga seadme.

Kuid Bluetoothi ​​seadistamine käsurea kaudu on pisut keeruline

Kuigi autoril õnnestus kõik konfigureerida, mõistab ta, et BlueZ-i seadistamine käsurea kaudu on ebamugav. Alguses arvas ta, et agente on vaja ainult PIN-koodide sisestamiseks, kuid näiteks selgus, et HID-profiili lubamiseks tuleb sisestada “agent KeyboardOnly”. On üllatav, et Bluetooth PAN-i käivitamiseks peate vajaliku skripti otsimiseks läbi hoidlate ronima. Ta mäletab, et BlueZ-i eelmises versioonis oli selleks valmis tööriist panda - kus ta BlueZ 5-s teeb? Järsku ilmus uus, autorile tundmatu, kuid pinnal lebav lahendus?

Производительность

Andmeedastuskiirus oli ligikaudu 120 kbit/s, mis on täiesti piisav. 1 GHz ARM-protsessor on käsurea liidese jaoks väga kiire. Autoril on endiselt plaanis seadmes kasutada peamiselt ssh ja emacs.

Konsooli fondid ja ekraani eraldusvõime

Raspberry Pi Zero kaadripuhvri kasutatav vaikeekraani eraldusvõime on üsna kummaline: fbset teatab selle 656x416 pikslina (muidugi pole monitori ühendatud). Konsooli fondi 8×16 korral oli 82 tähemärki rea kohta ja 26 rida.

Selles režiimis on 40-kohalise punktkirjaekraaniga töötamine ebamugav. Autor soovib näha ka Unicode'i tähemärke kuvatuna punktkirjas. Õnneks toetab Linux 512 tähemärki ja enamikul konsoolifondidel on 256. Konsooli häälestuse abil saate koos kasutada kahte 256 tähemärgist koosnevat fonti. Autor lisas faili /etc/default/console-setup järgmised read:

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

Märkus: brl-16×8.psf fondi kättesaadavaks tegemiseks peate installima konsool-punktkirja.

Mis edasi?

Punktkirjaekraanil on 3,5 mm pistikupesa, kuid autor pole Mini-HDMI-st helisignaali vastuvõtmiseks mõeldud adapteritest teadlik. Autor ei saanud kasutada Raspberrysse sisseehitatud helikaarti (kummalisel kombel oli tõlkija kindel, et Zero-l seda polnud, kuid PWM-i abil heli väljastamiseks GPIO-sse on võimalusi). Ta kavatseb kasutada USB-OTG jaoturit ning ühendada välise kaardi ja väljastada heli punktkirjaekraani sisseehitatud kõlariga. Mingil põhjusel ei töötanud kaks välist kaarti, nüüd otsib ta sarnast seadet teisel kiibistikul.

Samuti on ebamugav "vaarika" käsitsi välja lülitada, oodata mõni sekund ja lülitada punktkirjaekraan välja. Ja kõik sellepärast, et kui see välja lülitatakse, eemaldab see sektsiooni pistikust toite. Autor plaanib sektsiooni paigutada väikese puhverpatarei ja GPIO kaudu teavitada Raspberryt ekraani väljalülitumisest, et see saaks hakata oma tööd välja lülitama. See on miniatuurne UPS.

Süsteemi pilt

Kui teil on sama punktkirjaekraan ja soovite sellega sama teha, on autor valmis andma süsteemist valmis pildi (Raspbian Stretch alusel). Kirjutage talle sellest ülaltoodud aadressil. Kui huvilisi on piisavalt, on võimalik välja anda isegi komplekte, mis sisaldavad kõike selliseks modifikatsiooniks vajalikku.

Tänusõnad

Aitäh Dave Mielkele korrektuuri eest.

Aitäh Simon Kainzile fotoillustratsioonide eest.

Tänan oma kolleege Grazi tehnikaülikoolist, et nad viisid autorile kiiresti Raspberry Pi maailma.

PS Esimene säuts selleteemaline autor (ei avane - tõlkija) tehti vaid viis päeva enne selle artikli originaali avaldamist ja võib arvata, et kui heliprobleemid välja arvata, sai ülesanne praktiliselt lahendatud. Muide, autor redigeeris teksti lõppversiooni enda tehtud “isemajandavalt punktkirjaekraanilt”, ühendades selle SSH kaudu koduarvutiga.

Allikas: www.habr.com

Lisa kommentaar