Raspberry Pi Zero ื‘ืชื•ืš ืฆื’ ื‘ืจื™ื™ืœ Handy Tech Active Star 40

Raspberry Pi Zero ื‘ืชื•ืš ืฆื’ ื‘ืจื™ื™ืœ Handy Tech Active Star 40

ื”ื ื—ืชื™ Raspberry Pi Zero, ืžืฉืจื•ืงื™ืช Bluetooth ื•ื›ื‘ืœ ื‘ืชื•ืš ืฆื’ ื”ื‘ืจื™ื™ืœ ื”ื—ื“ืฉ ืฉืœื™ Handy Tech Active Star 40. ื™ืฆื™ืืช ื”-USB ื”ืžื•ื‘ื ื™ืช ืžืกืคืงืช ื—ืฉืžืœ. ื”ืชื•ืฆืื” ื”ื™ื™ืชื” ืžื—ืฉื‘ ืœืœื ืฆื’ ืขืฆืžืื™ ื‘-ARM ืขื ืžืขืจื›ืช ื”ื”ืคืขืœื” ืœื™ื ื•ืงืก, ืžืฆื•ื™ื“ ื‘ืžืงืœื“ืช ื•ื‘ืฆื’ ื‘ืจื™ื™ืœ. ืืชื” ื™ื›ื•ืœ ืœื”ื˜ืขื™ืŸ / ืœื”ืคืขื™ืœ ืื•ืชื• ื‘ืืžืฆืขื•ืช 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 ื’'ื™ื’ื”-ื‘ื™ื™ื˜, ื‘ืœื•ื˜ื•ืช', ืžืฉืจื•ืงื™ืช ื•ื›ื‘ืœ Micro USB. ื›ืžื” ื™ืžื™ื ืœืื—ืจ ืžื›ืŸ, ื›ืœ ื–ื” ื”ื’ื™ืข, ื•ื—ื‘ืจื™ื ืจื•ืื™ื ืขื–ืจื• ืœืžื—ื‘ืจ ืœื”ื›ื™ืŸ ืืช ื”ืžืคื”. ื”ื›ืœ ืขื‘ื“ ืžื™ื“ ื›ืžื• ืฉืฆืจื™ืš.

ืžื” ื ืขืฉื” ื‘ืฉื‘ื™ืœ ื–ื”

ื‘ื’ื‘ ื”-Handy Tech Active Star 40 ื™ืฉ ืฉืชื™ ื™ืฆื™ืื•ืช USB ืœื”ืชืงื ื™ื ื›ืžื• ืžืงืœื“ื•ืช. ืžืงืœื“ืช ืงื•ืžืคืงื˜ื™ืช ืขื ื—ื™ื‘ื•ืจ ืžื’ื ื˜ื™ ื›ืœื•ืœื”. ื›ืืฉืจ ื”ืžืงืœื“ืช ืžื—ื•ื‘ืจืช, ื•ื”ืชืฆื•ื’ื” ืขืฆืžื” ืคื•ืขืœืช ื‘ืืžืฆืขื•ืช ื‘ืœื•ื˜ื•ืช', ื”ืžื—ืฉื‘ ืžื–ื”ื” ืื•ืชื” ื‘ื ื•ืกืฃ ื›ืžืงืœื“ืช ื‘ืœื•ื˜ื•ืช'.

ื›ืš, ืื ืžืฉืจื•ืงื™ืช ื‘ืœื•ื˜ื•ืช' ืžื—ื•ื‘ืจืช ืœ-Raspberry Pi Zero ื”ืžื•ืฆื‘ ื‘ืชื ืกืžืืจื˜ืคื•ืŸ, ื”ื™ื ืชื•ื›ืœ ืœืชืงืฉืจ ืขื ืฆื’ ื‘ืจื™ื™ืœ ื‘ืืžืฆืขื•ืช ื‘ืœื•ื˜ื•ืช' ื‘ืืžืฆืขื•ืช BRLTTY, ื•ืื ืชื—ื‘ืจ ื’ื ืžืงืœื“ืช ืœืชืฆื•ื’ื”, ื’ื ื”"ืคื˜ืœ" ื™ืขื‘ื•ื“ ืื™ืชื•.

ืื‘ืœ ื–ื” ืœื ื”ื›ืœ. ืคื˜ืœ ืขืฆืžื•, ื‘ืชื•ืจื•, ื™ื›ื•ืœ ืœื’ืฉืช ืœืื™ื ื˜ืจื ื˜ ื‘ืืžืฆืขื•ืช Bluetooth PAN ืžื›ืœ ืžื›ืฉื™ืจ ืฉืชื•ืžืš ื‘ื•. ื”ื›ื•ืชื‘ ื”ืขืžื™ื“ ืืช ื”ืกืžืืจื˜ืคื•ืŸ ื•ื”ืžื—ืฉื‘ื™ื ืฉืœื• ื‘ื‘ื™ืช ื•ื‘ืขื‘ื•ื“ื” ื‘ื”ืชืื, ืืš ื‘ืขืชื™ื“ ื”ื•ื ืžืชื›ื ืŸ ืœื”ืชืื™ื ืœื›ืš "ืคื˜ืœ" ื ื•ืกืฃ - ืงืœืืกื™, ืœื Zero, ื”ืžื—ื•ื‘ืจ ืœืืชืจื ื˜ ื•ืขื•ื“ "ืžืฉืจื•ืงื™ืช" ื‘ืœื•ื˜ื•ืช'.

BlueZ5 ื•-PAN

ืฉื™ื˜ืช ืชืฆื•ืจืช PAN ื‘ืืžืฆืขื•ืช bluez ื”ืชื‘ืจืจ ื›ื‘ืœืชื™ ื ืจืื”. ื”ืžื—ื‘ืจ ืžืฆื ืกืงืจื™ืคื˜ Pyhton bt-pan (ืจืื” ืœื”ืœืŸ) ื”ืžืืคืฉืจ ืœืš ืœื”ื’ื“ื™ืจ PAN ืœืœื GUI.

ืขื ื–ื”, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ื’ื ืืช ื”ืฉืจืช ื•ื’ื ืืช ื”ืœืงื•ื—. ืœืื—ืจ ืฉืงื™ื‘ืœ ืืช ื”ืคืงื•ื“ื” ื”ืžืชืื™ืžื” ื“ืจืš D-Bus ืชื•ืš ื›ื“ื™ ืขื‘ื•ื“ื” ื‘ืžืฆื‘ ืœืงื•ื—, ื”ื•ื ื™ื•ืฆืจ ื”ืชืงืŸ ืจืฉืช ื—ื“ืฉ bnep0 ืžื™ื“ ืœืื—ืจ ื™ืฆื™ืจืช ื—ื™ื‘ื•ืจ ืขื ื”ืฉืจืช. ื‘ื“ืจืš ื›ืœืœ, DHCP ืžืฉืžืฉ ืœื”ืงืฆืืช ื›ืชื•ื‘ืช IP ืœืžืžืฉืง ื–ื”. ื‘ืžืฆื‘ ืฉืจืช, BlueZ ื“ื•ืจืฉ ืฉื ืฉืœ ืžื›ืฉื™ืจ ื’ืฉืจ, ืืœื™ื• ื”ื•ื ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ืžื›ืฉื™ืจ ืขื‘ื“ ืœื—ื™ื‘ื•ืจ ื›ืœ ืื—ื“ ืžื”ืœืงื•ื—ื•ืช. ื”ื’ื“ืจืช ื›ืชื•ื‘ืช ืขื‘ื•ืจ ื”ืชืงืŸ ื”ื’ืฉืจ ื•ื”ืคืขืœืช ืฉืจืช DHCP ื‘ืชื•ืกืคืช ืžืกื™ื›ื•ืช IP ืขืœ ื”ื’ืฉืจ ื”ื™ื ื‘ื“ืจืš ื›ืœืœ ื›ืœ ืžื” ืฉื ื“ืจืฉ.

Bluetooth PAN ื ืงื•ื“ืช ื’ื™ืฉื” ืขื Systemd

ื”ืžื—ื‘ืจ ื”ืฉืชืžืฉ ื‘-systemd-networkd ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืืช ื”ื’ืฉืจ:

FILE /etc/systemd/network/pan.netdev

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

FILE /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 ื›ื“ื™ ืœื”ืคืขื™ืœ ืืช ื”ืกืงืจื™ืคื˜ ื•ืœื‘ื“ื•ืง ืื ื”ืชืœื•ืช ื ืคืชืจื”.

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

FILE /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).

ืœืื—ืจ ื‘ื™ืฆื•ืข ื”ืคืงื•ื“ื•ืช ืžืขืจื›ืช ะธ systemctl ื”ืคืขืœ ืžื—ื“ืฉ systemd-netwerkd ืืชื” ื™ื›ื•ืœ ืœื”ืคืขื™ืœ Bluetooth PAN ืขื ื”ืคืงื•ื“ื” systemctl ื”ืชื—ืœ ืคืืŸ

ืœืงื•ื— 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

ื”ืชืืžื” ื‘ืืžืฆืขื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื”

ื›ืžื•ื‘ืŸ ืฉื”ื’ื“ืจืช ื”ืฉืจืช ื•ื”ืœืงื•ื—ื•ืช ื—ื™ื™ื‘ืช ืœื”ื™ืขืฉื•ืช ืœืื—ืจ ื”ืฆืžื“ืชื ื‘ืืžืฆืขื•ืช ื‘ืœื•ื˜ื•ืช'. ื‘ืฉืจืช, ืืชื” ืฆืจื™ืš ืœื”ืคืขื™ืœ 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

ื ื“ืจืฉ ืฉื”"ืคื˜ืœ" ื™ื–ื”ื” ืืช ื”ืžืงืœื“ืช ื”ืžื—ื•ื‘ืจืช ืœืฆื’ ื”ื‘ืจื™ื™ืœ ื‘ืืžืฆืขื•ืช ื—ื•ื˜, ื•ืžื•ืขื‘ืจืช ืขืœ ื™ื“ื™ ื”ืฆื’ ืขืฆืžื• ื‘ืืžืฆืขื•ืช ื‘ืœื•ื˜ื•ืช'. ืชืขืฉื” ืื•ืชื• ื“ื‘ืจ, ืื‘ืœ ื‘ืžืงื•ื ืกื•ื›ืŸ ืขืœ ืฆืจื™ืš ืœืชืช ืคืงื•ื“ื” ืžืงืœื“ืช ืกื•ื›ืŸ ื‘ืœื‘ื“ ื•-bluetoothctl ื™ืžืฆื ืžื›ืฉื™ืจ ืขื ืคืจื•ืคื™ืœ HID.

ืื‘ืœ ืงื‘ื™ืขืช ื”ืชืฆื•ืจื” ืฉืœ Bluetooth ื‘ืืžืฆืขื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื” ื”ื™ื ืžืกื•ื‘ื›ืช.

ืœืžืจื•ืช ืฉื”ืžื—ื‘ืจ ื”ืฆืœื™ื— ืœื”ื’ื“ื™ืจ ื”ื›ืœ, ื”ื•ื ืžื‘ื™ืŸ ืฉื”ื’ื“ืจืช BlueZ ื“ืจืš ืฉื•ืจืช ื”ืคืงื•ื“ื” ืื™ื ื” ื ื•ื—ื”. ื‘ื”ืชื—ืœื” ื”ื•ื ื—ืฉื‘ ืฉืฆืจื™ืš ืกื•ื›ื ื™ื ืจืง ืœื”ื–ื ืช ืงื•ื“ื™ PIN, ืื‘ืœ ื”ืชื‘ืจืจ ืœืžืฉืœ ืฉื›ื“ื™ ืœื”ืคืขื™ืœ ืืช ืคืจื•ืคื™ืœ HID ืฆืจื™ืš ืœื”ืงืœื™ื“ "agent KeyboardOnly". ื‘ืื•ืคืŸ ืžืคืชื™ืข, ื›ื“ื™ ืœื”ืคืขื™ืœ Bluetooth PAN, ืืชื” ืฆืจื™ืš ืœื˜ืคืก ื“ืจืš ื”ืžืื’ืจื™ื ื‘ื—ื™ืคื•ืฉ ืื—ืจ ื”ืกืงืจื™ืคื˜ ื”ื ื›ื•ืŸ. ื”ื•ื ื–ื•ื›ืจ ืฉื‘ื’ืจืกื” ื”ืงื•ื“ืžืช ืฉืœ BlueZ ื”ื™ื” ื›ืœื™ ืžื•ื›ืŸ ืœื›ืš. pand - ืื™ืคื” ื”ื•ื ืขื•ืฉื” ื‘-BlueZ 5? ืคืชืื•ื ื”ื•ืคื™ืข ืคืชืจื•ืŸ ื—ื“ืฉ, ืœื ื™ื“ื•ืข ืœืžื—ื‘ืจ, ืื‘ืœ ืฉื•ื›ื‘ ืขืœ ืคื ื™ ื”ืฉื˜ื—?

ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช

ืงืฆื‘ ื”ืขื‘ืจืช ื”ื ืชื•ื ื™ื ื”ื™ื” ื‘ืขืจืš 120 kbps, ื•ื–ื” ื“ื™ ืžืกืคื™ืง. ืžืขื‘ื“ ARM 1GHz ืžื”ื™ืจ ืžืื•ื“ ืขื‘ื•ืจ ืžืžืฉืง ืฉื•ืจืช ืคืงื•ื“ื”. ื”ืžื—ื‘ืจ ืขื“ื™ื™ืŸ ืžืชื›ื ืŸ ืœื”ืฉืชืžืฉ ื‘ืขื™ืงืจ ื‘-ssh ื•-emacs ื‘ืžื›ืฉื™ืจ.

ื’ื•ืคื ื™ ืงื•ื ืกื•ืœื” ื•ืจื–ื•ืœื•ืฆื™ื™ืช ืžืกืš

ืจื–ื•ืœื•ืฆื™ื™ืช ื”ืžืกืš ื”ืžื•ื’ื“ืจืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื”ืžืฉืžืฉืช ืืช ื”-framebuffer ื‘-Raspberry Pi Zero ื”ื™ื ืžื•ื–ืจื” ืœืžื“ื™: fbset ืžื“ื•ื•ื—ืช ืขืœ 656x416 ืคื™ืงืกืœื™ื (ืื™ืŸ ืฆื’ ืžื—ื•ื‘ืจ, ื›ืžื•ื‘ืŸ). ืขื ื’ื•ืคืŸ ืงื•ื ืกื•ืœื” ืฉืœ 8x16, ืงื™ื‘ืœื ื• 82 ืชื•ื•ื™ื ื‘ืฉื•ืจื” ื•-26 ืฉื•ืจื•ืช.

ืขื‘ื•ื“ื” ืขื ืฆื’ ื‘ืจื™ื™ืœ ืฉืœ 40 ืชื•ื•ื™ื ื‘ืžืฆื‘ ื–ื” ืื™ื ื” ื ื•ื—ื”. ื›ืžื• ื›ืŸ, ื”ืžื—ื‘ืจ ืžืขื•ื ื™ื™ืŸ ืฉืชื•ื•ื™ Unicode ื™ื•ืฆื’ื• ื‘ื‘ืจื™ื™ืœ. ืœืžืจื‘ื” ื”ืžื–ืœ, ืœื™ื ื•ืงืก ืชื•ืžื›ืช ื‘-512 ืชื•ื•ื™ื, ื•ืœืจื•ื‘ ื’ื•ืคื ื™ ื”ืžืกื•ืฃ ื™ืฉ 256 ืชื•ื•ื™ื. ืขื ื”ื’ื“ืจืช ื”ืžืกื•ืฃ, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืฉื ื™ ื’ื•ืคื ื™ื ืฉืœ 256 ืชื•ื•ื™ื ื™ื—ื“. ื”ืžื—ื‘ืจ ื”ื•ืกื™ืฃ ืืช ื”ืฉื•ืจื•ืช ื”ื‘ืื•ืช ืœืงื•ื‘ืฅ /etc/default/console-setup:

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

ื”ืขืจื”: ื›ื“ื™ ืœื”ืคื•ืš ืืช ื”ื’ื•ืคืŸ brl-16x8.psf ืœื–ืžื™ืŸ, ืขืœื™ืš ืœื”ืชืงื™ืŸ ืงื•ื ืกื•ืœ ื‘ืจื™ื™ืœ.

ืžื” ื”ืœืื”?

ืฆื’ ื”ื‘ืจื™ื™ืœ ื›ื•ืœืœ ืฉืงืข 3,5 ืž"ืž, ืืš ื”ืžื—ื‘ืจ ืื™ื ื• ืžื›ื™ืจ ืžืชืืžื™ื ืœืงืœื™ื˜ืช ืื•ื“ื™ื• ืž-Mini-HDMI. ื”ืžื—ื‘ืจ ืœื ื”ืฆืœื™ื— ืœื”ืฉืชืžืฉ ื‘ื›ืจื˜ื™ืก ื”ืงื•ืœ ื”ืžื•ื‘ื ื” ื‘"ืคื˜ืœ" (ืžื•ื–ืจ, ื”ืžืชืจื’ื ื”ื™ื” ื‘ื˜ื•ื— ืฉืœ-Zero ืื™ืŸ ื›ื–ื”, ืื‘ืœ ื™ืฉ ื“ืจื›ื™ื ืœื”ื•ืฆื™ื ืกืื•ื ื“ ืขืœ ื™ื“ื™ PWM ืœ-GPIO). ื”ื•ื ืžืชื›ื ืŸ ืœื”ืฉืชืžืฉ ื‘ืจื›ื–ืช USB-OTG ื•ืœื—ื‘ืจ ื›ืจื˜ื™ืก ื—ื™ืฆื•ื ื™ ื•ืคืœื˜ ืฆืœื™ืœ ืœืจืžืงื•ืœ ื”ืžื•ื‘ื ื” ื‘ืฆื’ ื”ื‘ืจื™ื™ืœ. ืžืฉื•ื ืžื” ืฉื ื™ ื›ืจื˜ื™ืกื™ื ื—ื™ืฆื•ื ื™ื™ื ืœื ืขื‘ื“ื•, ื›ืขืช ื”ื•ื ืžื—ืคืฉ ืžื›ืฉื™ืจ ื“ื•ืžื” ื‘ืขืจื›ืช ืฉื‘ื‘ื™ื ืื—ืจืช.

ื–ื” ื’ื ืœื ื ื•ื— ืœื›ื‘ื•ืช ื™ื“ื ื™ืช ืืช ื”"ืคื˜ืœ", ืœื”ืžืชื™ืŸ ื›ืžื” ืฉื ื™ื•ืช ื•ืœื›ื‘ื•ืช ืืช ืฆื’ ื”ื‘ืจื™ื™ืœ. ื•ื”ื›ืœ ื‘ื’ืœืœ ืฉื›ืืฉืจ ื”ื•ื ื›ื‘ื•ื™, ื”ื•ื ืžื•ืฆื™ื ืืช ื”ื—ืฉืžืœ ืžื”ืžื—ื‘ืจ ื‘ืชื. ื”ืžื—ื‘ืจ ืžืชื›ื ืŸ ืœืžืงื ืกื•ืœืœืช ื—ื™ืฅ ืงื˜ื ื” ื‘ืชื ื•ื‘ืืžืฆืขื•ืช GPIO ืœื”ื•ื“ื™ืข โ€‹โ€‹ืœ"ืคื˜ืœ" ืขืœ ื›ื™ื‘ื•ื™ ื”ืชืฆื•ื’ื” ื›ืš ืฉื”ื™ื ืชืชื—ื™ืœ ืœื”ื™ื›ื‘ื•ืช. ื›ื–ื” ื”ื•ื ื”-UPS ื‘ืžื™ื ื™ืื˜ื•ืจื”.

ืชืžื•ื ืช ืžืขืจื›ืช

ืื ื™ืฉ ืœืš ืืช ืื•ืชื” ืฆื’ ื‘ืจื™ื™ืœ ื•ืืชื” ืจื•ืฆื” ืœืขืฉื•ืช ืืช ืื•ืชื• ื”ื“ื‘ืจ ืื™ืชื”, ื”ืžื—ื‘ืจ ื™ืฉืžื— ืœืกืคืง ืชืžื•ื ืช ืžืขืจื›ืช ืžื•ื›ื ื” (ืžื‘ื•ืกืกืช ืขืœ Raspbian Stretch). ื›ืชื‘ื• ืœื• ืขืœ ื›ืš ื‘ื›ืชื•ื‘ืช ืœืžืขืœื”. ืื ื™ืฉ ืžืกืคื™ืง ืื ืฉื™ื ืฉืžืชืขื ื™ื™ื ื™ื, ืืคืฉืจ ืืคื™ืœื• ืœื”ื•ืฆื™ื ืขืจื›ื•ืช ื”ื›ื•ืœืœื•ืช ืืช ื›ืœ ื”ื“ืจื•ืฉ ืœืขื™ื‘ื•ื“ ืžื—ื•ื“ืฉ ื›ื–ื”.

ืชื•ื“ื•ืช

ืชื•ื“ื” ืœื“ื™ื™ื‘ ืžื™ื™ืœืงื” ืขืœ ื”ื’ื”ื” ืฉืœ ื”ื˜ืงืกื˜.

ืชื•ื“ื” ืœืกื™ื™ืžื•ืŸ ืงื™ื ืฅ ืขืœ ืื™ื•ืจื™ ื”ืชืžื•ื ื•ืช.

ืชื•ื“ื” ืœืขืžื™ืชื™ื ื‘ืื•ื ื™ื‘ืจืกื™ื˜ืช ื’ืจืืฅ ืœื˜ื›ื ื•ืœื•ื’ื™ื” ืขืœ ืฉื”ืฆื™ื’ื• ืืช ื”ืžื—ื‘ืจ ื‘ืžื”ื™ืจื•ืช ืœืขื•ืœื ืฉืœ Raspberry Pi.

ื .ื‘. ืฆื™ื•ืฅ ืจืืฉื•ืŸ ื”ืžื—ื‘ืจ ื‘ื ื•ืฉื ื–ื” (ืœื ื ืคืชื— - ืžืชืจื’ื) ื ืขืฉื” ืจืง ื—ืžื™ืฉื” ื™ืžื™ื ืœืคื ื™ ืคืจืกื•ื ื”ืžืงื•ืจ ืฉืœ ืžืืžืจ ื–ื”, ื•ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ื ื™ื— ืฉืœืžืขื˜ ื‘ืขื™ื•ืช ืขื ืกืื•ื ื“, ื”ืžืฉื™ืžื” ื ืคืชืจื” ื‘ืื•ืคืŸ ืžืขืฉื™. ืื’ื‘, ื”ืžื—ื‘ืจ ืขืจืš ืืช ื”ื’ืจืกื” ื”ืกื•ืคื™ืช ืฉืœ ื”ื˜ืงืกื˜ ืž"ืฆื’ ื”ื‘ืจื™ื™ืœ ื”ืขืฆืžืื™" ืฉื™ืฆืจ, ื•ื—ื™ื‘ืจ ืื•ืชื• ื‘ืืžืฆืขื•ืช SSH ืœืžื—ืฉื‘ ื”ื‘ื™ืชื™ ืฉืœื•.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”