Raspberry Pi Zero Handy Tech Active Star 40 -pistenäytön sisällä

Raspberry Pi Zero Handy Tech Active Star 40 -pistenäytön sisällä

Laitoin Raspberry Pi Zeron, Bluetooth-pillin ja kaapelin uuteen Handy Tech Active Star 40 -pistekirjoitusnäytöni sisään. Sisäänrakennettu USB-portti antaa virtaa. Tuloksena oli omavarainen monitoriton ARM-tietokone Linux-käyttöjärjestelmällä varustettuna näppäimistöllä ja pistenäytöllä. Voit ladata / virran ladata USB:n kautta, sis. virtapankista tai aurinkolaturista. Siksi hän voi pärjätä ilman verkkovirtaa useita tunteja, vaan useita päiviä.

Raspberry Pi Zero Handy Tech Active Star 40 -pistenäytön sisällä

Pistekirjoitusnäyttöjen ulottuvuuserottelu

Ensinnäkin ne eroavat rivin pituudesta. Pöytätietokoneen kanssa työskennellessä ovat hyvät laitteet, joiden tuttu 60 tai enemmän, 40 on kätevä kantaa kannettavan tietokoneen mukana. Nyt älypuhelimiin ja tabletteihin on liitetty myös pistekirjoitusnäyttöjä, joiden rivin pituus on 14 tai 18 merkkiä.

Aiemmin pistekirjoitusnäytöt olivat melko massiivisia. Esimerkiksi 40-merkkinen oli samat mitat ja paino kuin 13-tuumainen kannettava tietokone. Nyt, samalla tutulla määrällä, ne ovat tarpeeksi pieniä, jotta voit laittaa näytön kannettavan tietokoneen eteen, ei kannettavaa näyttöä.

Tämä on varmasti parempi, mutta ei silti ole kovin kätevää pitää kahta erillistä laitetta sylissäsi. Pöydällä työskennellessä ei ole valittamista, mutta kannattaa muistaa, että kannettavaa tietokonetta kutsutaan kannettavaksi toisella tavalla, ja yrittää perustella sen nimeä, koska käy ilmi, että miniatyyri 40-merkkinen näyttö on vielä vähemmän kätevä.

Joten kirjoittaja odotti kauan luvatun uuden mallin julkaisua Handy Tech Star -sarjassa. Jo vuonna 2002 julkaistiin edellinen malli Handy Tech Braille Star 40, jossa rungon pinta-ala riittää kannettavan tietokoneen asettamiseksi päälle. Ja jos se ei sovi, mukana on sisäänvedettävä jalusta. Nyt tämä malli on korvattu Active Star 40:llä, joka on käytännössä sama, mutta päivitetyllä elektroniikalla.

Raspberry Pi Zero Handy Tech Active Star 40 -pistenäytön sisällä

Ja sisäänvedettävä teline jäi:

Raspberry Pi Zero Handy Tech Active Star 40 -pistenäytön sisällä

Mutta mukavin asia uutuuksissa on noin älypuhelimen kokoinen syvennys (katso KDPV). Se avautuu, kun alustaa siirretään taaksepäin. Älypuhelimen pitäminen siellä osoittautui hankalaksi, mutta tyhjää lokeroa, jonka sisällä on jopa pistorasia, täytyy jotenkin käyttää.

Ensimmäinen asia, jonka kirjoittaja keksi, oli laittaa Raspberry Pi sinne, mutta näyttöä ostettaessa kävi ilmi, että lokeron sulkeva jalusta ei liikkunut "vadelman" mukana. Nyt jos lauta olisi vain 3 mm ohuempi...

Mutta eräs kollega puhui Raspberry Pi Zeron julkaisusta, joka osoittautui niin pieneksi, että kaksi niistä mahtuisi lahteen ... tai ehkä jopa kolme. Se tilattiin heti yhdessä 64 Gt:n muistikortin, Bluetoothin, pillin ja Micro USB -kaapelin kanssa. Muutamaa päivää myöhemmin kaikki tämä saapui, ja näkevät ystävät auttoivat kirjoittajaa laatimaan kartan. Kaikki toimi heti niinkuin pitikin.

Mitä tälle tehtiin

Handy Tech Active Star 40:n takana on kaksi USB-porttia laitteille, kuten näppäimistöille. Kompakti näppäimistö magneettikiinnikkeellä. Kun näppäimistö on kytketty ja näyttö itse toimii Bluetoothin kautta, tietokone tunnistaa sen lisäksi Bluetooth-näppäimistöksi.

Siten, jos Bluetooth-pilli on yhdistetty älypuhelimen lokeroon sijoitettuun Raspberry Pi Zero -laitteeseen, se pystyy kommunikoimaan pistekirjoitusnäytön kanssa Bluetoothin kautta BRLTTY, ja jos liität näyttöön myös näppäimistön, "vadelma" toimii myös sen kanssa.

Mutta siinä ei vielä kaikki. Raspberry puolestaan ​​voi käyttää Internetiä Bluetooth PAN:in kautta mistä tahansa sitä tukevasta laitteesta. Kirjoittaja on konfiguroinut älypuhelimensa ja tietokoneensa kotona ja töissä vastaavasti, mutta tulevaisuudessa hän aikoo mukauttaa tähän toisen "vadelman" - klassisen, ei Zero, joka on yhdistetty Ethernetiin ja toinen Bluetooth "pilli".

BlueZ5 ja PAN

PAN-määritysmenetelmä käyttäen bluez osoittautui näkymättömäksi. Kirjoittaja löysi Pyhton-skriptin bt-pan (katso alla), jonka avulla voit määrittää PAN:n ilman graafista käyttöliittymää.

Sen avulla voit määrittää sekä palvelimen että asiakkaan. Saatuaan asianmukaisen komennon D-Busin kautta työskennellessään asiakastilassa, se luo uuden verkkolaitteen bnep0 välittömästi yhteyden muodostamisen jälkeen palvelimeen. Yleensä DHCP:tä käytetään IP-osoitteen määrittämiseen tälle liitännälle. Palvelintilassa BlueZ vaatii siltalaitteen nimen, johon se voi lisätä orjalaitteen yhdistämään jokaisen asiakkaan. Yleensä tarvitaan vain siltalaitteen osoitteen määrittäminen ja DHCP-palvelimen käyttäminen sekä IP-naamiointi sillalla.

Bluetooth PAN -tukiasema Systemdillä

Kirjoittaja käytti systemd-networkd:tä sillan määrittämiseen:

TIEDOSTO /etc/systemd/network/pan.netdev

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

TIEDOSTO /etc/systemd/network/pan.network

[Match]
Name=pan

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

Nyt meidän on saatava BlueZ määrittämään NAP-profiili. Kävi ilmi, että BlueZ 5.36 - tavalliset apuohjelmat eivät voi tehdä tätä. Jos kirjoittaja on väärässä, korjaa hänet: mlang (osaa liikuttaa korviaan) sokea (joskus pääsy ja kvantti) guru

Mutta hän löysi blogipostaus и python-skripti tehdä tarvittavat D-Bus-puhelut.

Mukavuussyistä kirjoittaja käytti Systemd-palvelua komentosarjan suorittamiseen ja tarkistamiseen, onko riippuvuudet ratkaistu.

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

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

Toista tiedostoa ei tarvita, jos Debianilla olisi tuki IPMasquerade=:lle (katso alla). #787480).

Komentojen suorittamisen jälkeen systemctl daemon-reload и systemctl käynnistä systemd-networkd uudelleen voit käynnistää Bluetooth PAN -komennolla systemctl start pan

Bluetooth PAN -asiakas, joka käyttää Systemd

Asiakaspuoli on myös helppo konfiguroida Systemdillä.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

TIEDOSTO /etc/systemd/system/[sähköposti suojattu]

[Unit]
Description=Bluetooth Personal Area Network client

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

Nyt, kun olet ladannut asetukset uudelleen, voit muodostaa yhteyden määritettyyn Bluetooth-tukipisteeseen seuraavasti:

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

Pariliitos komentorivin avulla

Tietenkin palvelimen ja asiakkaiden asetukset on tehtävä sen jälkeen, kun ne on paritettu Bluetoothin kautta. Palvelimella sinun on suoritettava bluetoothctl ja annettava sille komennot:

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

Kun olet käynnistänyt skannauksen, odota muutama sekunti, kunnes tarvitsemasi laite tulee näkyviin luetteloon. Kirjoita sen osoite muistiin ja käytä sitä pari-komennon ja tarvittaessa luottamuskomennon kanssa.

Asiakaspuolelta sinun on tehtävä sama, mutta luottamuskomentoa ei varmasti tarvita. Palvelin tarvitsee sen hyväksyäkseen NAP-profiiliyhteyden ilman käyttäjän manuaalista vahvistusta.

Kirjoittaja ei ole varma, onko tämä optimaalinen komentosarja. Ehkä tarvitsee vain muodostaa asiakasparin palvelimen kanssa ja suorittaa luottamuskomennon palvelimella, mutta hän ei ole vielä kokeillut sitä.

Bluetooth HID -profiilin käyttöönotto

Vaaditaan, että "vadelma" tunnistaa näppäimistön, joka on liitetty pistekirjoitusnäyttöön johdolla ja jonka näyttö itse välittää Bluetoothin kautta. Tee samoin, mutta sen sijaan agentti päällä täytyy antaa käsky agentti KeyboardOnly ja bluetoothctl löytää laitteen, jossa on HID-profiili.

Mutta Bluetoothin määrittäminen komentorivin kautta on hankalaa.

Vaikka kirjoittaja onnistui määrittämään kaiken, hän ymmärtää, että BlueZ:n määrittäminen komentorivin kautta on hankalaa. Aluksi hän ajatteli, että agentteja tarvitaan vain PIN-koodien syöttämiseen, mutta esimerkiksi kävi ilmi, että HID-profiilin käyttöön ottamiseksi on kirjoitettava "agent KeyboardOnly". Yllättäen Bluetooth PAN:in käynnistämiseksi sinun on kiivettävä arkistojen läpi etsimään oikeaa komentosarjaa. Hän muistaa, että BlueZ:n edellisessä versiossa oli tähän valmiina työkalu. panda - missä hän tekee BlueZ 5:ssä? Yhtäkkiä ilmestyi uusi ratkaisu, tekijälle tuntematon, mutta joka makasi pinnalla?

Suorituskyky

Tiedonsiirtonopeus oli noin 120 kbps, mikä on aivan tarpeeksi. 1 GHz ARM-prosessori on erittäin nopea komentorivikäyttöliittymäksi. Kirjoittaja aikoo edelleen käyttää laitteessa pääasiassa ssh- ja emacs-tiedostoja.

Konsolin fontit ja näytön tarkkuus

Raspberry Pi Zeron kehyspuskurin käyttämä oletusnäytön resoluutio on melko outo: fbset ilmoittaa sen olevan 656 x 416 pikseliä (ei tietenkään kytkettyä näyttöä). Konsolin fontilla 8x16 saimme 82 merkkiä riviä kohden ja 26 riviä.

Työskentely 40 merkin pistenäytön kanssa tässä tilassa on hankalaa. Lisäksi kirjoittaja haluaisi Unicode-merkit näkyvän pistekirjoituksella. Onneksi Linux tukee 512 merkkiä ja useimmat konsolikirjasimet ovat 256. Konsoliasetuksissa voit käyttää kahta 256 merkin fonttia yhdessä. Kirjoittaja lisäsi seuraavat rivit /etc/default/console-setup-tiedostoon:

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

Huomautus: Jotta brl-16x8.psf-fontti olisi käytettävissä, sinun on asennettava konsoli-pistekirjoitus.

Mitä seuraavaksi?

Pistekirjoitusnäytössä on 3,5 mm:n liitäntä, mutta kirjoittaja ei tiedä sovittimia äänen poimimiseen Mini-HDMI:stä. Kirjoittaja ei pystynyt käyttämään "vadelmaan" sisäänrakennettua äänikorttia (outoa, kääntäjä oli varma, että Zerolla ei ole sellaista, mutta on olemassa tapoja lähettää ääni PWM:llä GPIO:lle). Hän aikoo käyttää USB-OTG-keskitintä ja liittää ulkoisen kortin ja toistaa äänen pistenäytön sisäänrakennettuun kaiuttimeen. Jostain syystä kaksi ulkoista korttia ei toiminut, nyt hän etsii samanlaista laitetta eri piirisarjasta.

On myös hankalaa sammuttaa "vadelma" manuaalisesti, odottaa muutama sekunti ja sammuttaa pistekirjoitusnäyttö. Ja kaikki siksi, että kun se sammutetaan, se katkaisee virran lokeron liittimestä. Kirjoittaja aikoo sijoittaa lokeroon pienen puskuripariston ja ilmoittaa GPIO:n kautta "vadelmalle" näytön sammuttamisesta, jotta se alkaa sammua. Tällainen on UPS pienoiskoossa.

Järjestelmän kuva

Jos sinulla on sama pistekirjoitusnäyttö ja haluat tehdä saman sen kanssa, kirjoittaja tarjoaa mielellään valmiin järjestelmäkuvan (Raspbian Stretchiin perustuen). Kirjoita hänelle siitä yllä olevaan osoitteeseen. Jos kiinnostuneita on tarpeeksi, on jopa mahdollista julkaista sarjoja, jotka sisältävät kaiken tarvittavan tällaiseen remake-versioon.

Kiitokset

Kiitos Dave Mielkelle tekstin oikolukemisesta.

Kiitos Simon Kainzille kuvista.

Kiitos Grazin teknillisen yliopiston kollegoille siitä, että he esittelivät kirjailijan nopeasti Raspberry Pi:n maailmaan.

PS. Ensimmäinen twiitti tämän aiheen kirjoittaja (ei avaudu - kääntäjä) tehtiin vain viisi päivää ennen tämän artikkelin alkuperäisen julkaisun julkaisua, ja voimme olettaa, että ääniongelmia lukuun ottamatta tehtävä on käytännössä ratkaistu. Muuten, kirjoittaja muokkasi tekstin lopullisen version tekemästään "omavaraiselta pistekirjoitusnäytöltä" yhdistäen sen SSH:n kautta kotitietokoneeseensa.

Lähde: will.com

Lisää kommentti