Raspberry Pi

  • model B
  • 2012/08/23

メモ

  • USBポートに給電される電流は100mA程度らしい
  • HUB経由でGW-USValue-EZが特に設定なしで使えてる (Raspbian wheezy 2013-05-25)
    • 1~2日運用してると切れてることがある(挿し直すと動き出す)

ネタ

DisplayLinkなUSBモニタを繋ぐ

参考

モバイルVPNルータを作りたい

DCモーターの制御

NFS root

Zero

  • A+で動いていたmicroSDを持ってきて起動しない場合はrpi-updateしてみる

3 Model B with Arch Linux ARM

Bluetooth

-- Unit brcm43xx-firmware.service has begun starting up.
Apr 22 00:52:49 aurora brcm43xx-firmware-update[432]: Warning: Using self generated MAC address! 
MAC_ADDR should be defined in /etc/conf.d/bcm43xx.
Apr 22 00:52:49 aurora brcm43xx-firmware-update[432]: Failed: Unable to locate bluetooth device
Apr 22 00:52:49 aurora systemd[1]: brcm43xx-firmware.service: Main process exited, code=exited,  status=1/FAILURE
Apr 22 00:52:49 aurora systemd[1]: Failed to start Broadcom 43xx firmware update.
# /usr/lib/systemd/scripts/brcm43xx-firmware-update
Warning: Using self generated MAC address! MAC_ADDR should be defined in /etc/conf.d/bcm43xx.
Failed: Unable to locate bluetooth device
# cat /sys/class/mmc_host/mmc*/mmc?\:0001/mmc?\:0001:?/device
0xa9a6
0xa9a6

USB GPSドングル(VK-172)を使う

  • VFAN UG-353 も同じように使えてる

gpsdで

  • # apt-get install gpsd
  • /etc/udev/rules.d/60-gpsd.rules
    • https://gist.github.com/n13i/0057a56290b62763241ec9375f420c75
  • # udevadm control --reload-rules して挿し直す
  • # apt-get install gpsd-clients
  • % cgps

Bluetooth経由でAndroidに位置情報を渡す

Raspberry Pi側

  • Serial Port Profileを追加
    • # sdptool add --channel=22 SP
    • なんで22なのかは知らん
    • リブートすると元に戻っちゃうみたい
  • ペアリング
    • bluetoothctl
    • scan on
    • pair XX:XX:XX:XX:XX:XX
    • trust XX:XX:XX:XX:XX:XX
  • USB GPSを挿す
    • 以下,デバイス名は /dev/ttyACM0 を想定
  • Androidからの接続を待ち受ける
    • # rfcomm listen /dev/rfcomm0 22
    • なんで22なのかは知らん
    • 接続されると /dev/rfcomm0 が生える
  • socatでttyACM0からrfcomm0へデータを流す
    • % socat /dev/ttyACM0 /dev/rfcomm0
  • まとめると
    • # rfcomm watch /dev/rfcomm0 22 socat /dev/ttyACM0 /dev/rfcomm0
  • gpsdを経由する場合
    • gps2bt.sh
      #!/bin/sh
      /usr/bin/gpspipe -r | /usr/bin/socat $1
    • みたいなのを作っておいて
    • # rfcomm watch /dev/rfcomm0 22 /foo/bar/gps2bt.sh /dev/rfcomm0

Android側

参考

UDP越しバージョン

GPIO入力でシャットダウンする

Bluetoothリモコンを繋いでみる

% bluetoothctl
[bluetooth]# scan on
[bluetooth]# pair DC:2C:26:XX:XX:XX
[bluetooth]# trust DC:2C:26:XX:XX:XX
[bluetooth]# connect DC:2C:26:XX:XX:XX
[BL-53]# exit

% cat /proc/bus/input/devices
I: Bus=0005 Vendor=0a5c Product=4502 Version=011b
N: Name="BL-53"
P: Phys=b8:27:eb:XX:XX:XX
S: Sysfs=/devices/platform/soc/20201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:0A5C:4502.0001/input/input0
U: Uniq=dc:2c:26:XX:XX:XX
H: Handlers=kbd event0
B: PROP=0
B: EV=13
B: KEY=2000000 3878 d8011001 e0000 0 0 0
B: MSC=10
% cat /dev/input/event0 | od -t x1
  • よくわからんけどkey up/key downの情報は取れてそう

  • bluebutton改造してメディアボタンを押したらコマンド実行できるようにする

    • mpcを呼ぶ想定

WiFi Managed + AP

  • Raspberry Pi Zero W Simultaneous AP and Managed Mode Wifi · TheWalrus

  • 手動で試してみる

    % sudo hostapd /etc/hostapd/hostapd.conf
    Configuration file: /etc/hostapd/hostapd.conf
    Failed to create interface mon.ap0: -95 (Operation not supported)
    ap0: Could not connect to kernel driver
    Using interface ap0 with hwaddr b8:27:eb:XX:XX:XX and ssid "Aurora"
  • これまでは /etc/network/interfaces には特に設定がなかった

    • BT-PANと併用する場合は bnep0 に対する設定を追加しないとないかも
      allow-hotplug bnep0
      iface bnep0 inet dhcp

Bluebuttonを使ってみる

  • kinnalru/bluebutton
    $ git clone https://github.com/kinnalru/bluebutton
    $ sudo apt install ruby
    $ sudo gem install device_input
    $ sudo gem install slop
Last edited by Anonymous, 2019-02-10 21:33:37