Raspberry Pi Zero W: Difference between revisions

 
(62 intermediate revisions by the same user not shown)
Line 162: Line 162:


おおぉ
おおぉ
<syntaxhighlight lang="bask" enclose="div">
<syntaxhighlight lang="bash" enclose="div">
pi@raspberrypi:~ $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
pi@raspberrypi:~ $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
1000000
1000000
Line 234: Line 234:
<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash" enclose="div">
cd /opt
cd /opt
sudo wget https://nodejs.org/dist/v6.11.2/node-v6.11.2-linux-armv6l.tar.xz
sudo wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-armv6l.tar.xz
sudo tar xfJ node-v6.11.2-linux-armv6l.tar.xz
sudo tar xfJ node-v10.16.0-linux-armv6l.tar.xz
sudo ln -s /opt/node-v6.11.2-linux-armv6l /opt/node
sudo chown -R root: node-v10.16.0-linux-armv6l
sudo ln -s /opt/node-v10.16.0-linux-armv6l /opt/node
sudo ln -s /opt/node/bin/* /usr/bin/
sudo ln -s /opt/node/bin/* /usr/bin/
sudo ln -s /opt/node/include/* /usr/include/
sudo ln -s /opt/node/include/* /usr/include/
Line 246: Line 247:


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash" enclose="div">
sudo aptitude -y install libavahi-compat-libdnssd-dev
sudo npm install -g --unsafe-perm homebridge
sudo npm install -g --unsafe-perm homebridge
sudo npm install -g homebridge-cmdswitch2
sudo npm install -g homebridge-cmdswitch2
sudo npm install -g --unsafe-perm homebridge-config-ui-x
</syntaxhighlight>
'''libavahi-compat-libdnssd-dev'''は不要になった。(node.js module が mdns から bonjour-hap に変わった)
n
<syntaxhighlight lang="bash" enclose="div">
n list
n lts
systemctl stop homebridge
n prune
systemctl start homebridge
</syntaxhighlight>
</syntaxhighlight>


Line 267: Line 278:


= HomeBridge, HomeKit, Home Hub, Apple TV =
= HomeBridge, HomeKit, Home Hub, Apple TV =
Multicast 攻撃で、自宅のホームルータが死ぬ。Apple AirMac にするのがよさそう。自分はなんとかホームルータの設定で逃げた。
Multicast 攻撃で、自宅のホームルータが死ぬ。ルータ再起動で復活はする。Apple AirMac にするのがよさそう。原因がうっすら判明。
 
IGMP 系が関連ありそうなので調べた結果、家の環境では、IGMP querier (IGMP クエリア機能) を投げる機器がないのが問題らしい。
https://bitbucket.org/marc_culler/querierd/
 
この設定で様子を見る。今の所問題なし。解決といっていい。




Home.app で頻繁に "Apple TVが応答しません。" がでる。
あとは
<syntaxhighlight lang="text" enclose="div">
net.ipv4.icmp_echo_ignore_broadcasts=0
</syntaxhighlight>
これは必要らしい。
:セキュリティ的には DoS の可能性があるのだが許容した。
 
 
= Home.app で頻繁に "Apple TVが応答しません。" がでる =


Raspiで wlan0 のパワーセービング機能をオフになっていることを確認。
Raspiで wlan0 のパワーセービング機能をオフになっていることを確認。
Line 278: Line 302:


  brcmfmac: power management disabled
  brcmfmac: power management disabled
:ちゃんと boot 時にメッセージが出ているのだが...
:boot 時にメッセージが出ていたらOK
 
 
結局、いろいろ考察した結果、Apple TV の Home hub と iCloud のコネクションが落ちているのが原因ぽいので、デバイスの状態を iCloud に通知すればイケるかもしれないで、(ダミーの) device の'''状態を変化させて'''定期的に送信する処理を homebridge-cmdswitch2 の polling 機能で実装した。
以前よりはマシになった(気がする)が、やはり「応答しません」は出る。


これが必須かも
<syntaxhighlight lang="text" enclose="div">
<syntaxhighlight lang="text" enclose="div">
net.ipv4.conf.all.arp_ignore=1
        {
net.ipv4.conf.all.arp_announce=2
            "name": "DUMMY-STATUS",
            "on_cmd": "/bin/true",
            "off_cmd": "/bin/true",
            "state_cmd": "/usr/local/bin/status-toggle.sh",
            "polling": true,
            "interval": 600
        }
</syntaxhighlight>
 
 
ステータスをトグルさせて返すスクリプト (/usr/local/bin/status-toggle.sh)
<syntaxhighlight lang="bash" enclose="div">
#!/bin/bash
 
LOCKFILE=/tmp/status-toggle.lock
STATUSFILE=/tmp/status-toggle.dat
 
(
    flock -n 201 || exit 1
 
    status=$((`cat ${STATUSFILE}`==0))
    echo ${status} > ${STATUSFILE}
    exit ${status}
 
) 201>"${LOCKFILE}"
</syntaxhighlight>
</syntaxhighlight>
"Apple TVが応答しません。" の場合に mDNS でサービスをブラウズしたら、IP address が IPv6 を返していた。これが怪しい。当面定期的の AppleTV の IP に IPv4 アドレスで定期的に arp + icmp を送って様子みる。
"Apple TVが応答しません。" 問題は解決不能として諦める。


Raspberry Pi 3 B+ に変えて、有線接続にしたら解消しました。まーそーだろーなー


= disable IPv6 =
= disable IPv6 =
Line 311: Line 368:
options ipv6 disable_ipv6=1
options ipv6 disable_ipv6=1
blacklist ipv6
blacklist ipv6
</syntaxhighlight>
/etc/avahi/avahi-daemon.conf
<syntaxhighlight lang="text" enclose="div">
#rlimit-nproc=3
</syntaxhighlight>
</syntaxhighlight>


Line 323: Line 375:
  [http://www.omiya-giken.com/?page_id=2100 irMagicianをSiriから使う | 大宮技研 合同会社]
  [http://www.omiya-giken.com/?page_id=2100 irMagicianをSiriから使う | 大宮技研 合同会社]
  [https://itdecoboconikki.com/2017/05/01/raspberry-pi-irmagician/ raspberry piとirMagicianを使って赤外線で家電を操作]
  [https://itdecoboconikki.com/2017/05/01/raspberry-pi-irmagician/ raspberry piとirMagicianを使って赤外線で家電を操作]
  [http://qiita.com/PonDad/items/a17d8b7d0be59f4c7f18 iOS10「ホーム」アプリと「Raspberry Pi + irMagician」でお手軽家電操作。 - Qiita]
  [http://qiita.com/PonDad/items/a17d8b7d0be59f4c7f18 iOS10「ホーム」アプリと「Raspberry Pi + irMagician」でお手軽家電操作。]
  [http://yosuke403.hatenablog.com/entry/2017/01/07/220619 irMagician + Raspberry Pi + HomeKitで家電を遠隔&音声制御する - YSNHatenaBlog]
  [http://yosuke403.hatenablog.com/entry/2017/01/07/220619 irMagician + Raspberry Pi + HomeKitで家電を遠隔&音声制御する - YSNHatenaBlog]
  [http://netbuffalo.doorblog.jp/archives/4872290.html 小型赤外線(IR)リモコン irMagician ファースト・インプレッション]
  [http://netbuffalo.doorblog.jp/archives/4872290.html 小型赤外線(IR)リモコン irMagician ファースト・インプレッション]
Line 431: Line 483:


  cec-client -m -d 8 -b -r
  cec-client -m -d 8 -b -r
= 純正ケース問題 =
純正ケースをつかっていると、コネクター類が深くささらない。どうも掃除とかで意図せずうごかして HDMI-CEC の信号が突然来なくなる事象がふえたので、結局これを買った。(在庫切れかもしれず)
https://www.amazon.co.jp/Goliton%C2%AE-FPV-HDTV%E3%83%9E%E3%83%AB%E3%83%81%E3%82%AB%E3%83%A1%E3%83%A9%E7%A9%BA%E4%B8%AD%E6%92%AE%E5%BD%B1%E7%94%A8-20cm-%E3%83%95%E3%83%A9%E3%83%83%E3%83%88%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB-%E4%B8%8A%E5%90%91%E3%81%8D-90%E5%BA%A6-FPV-Mini-FPC-%E5%A4%89%E6%8F%9B%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB/dp/B075GT2MGJ
この L 型コネクターはしっかりささる。ボッタクリの値段がついたのももあるので注意すること。千円前後ならOK


= らずぱい怪談 =
= らずぱい怪談 =
Line 463: Line 522:
  [https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.ja.html 第4章 Debian 8 (jessie) からのアップグレード]
  [https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.ja.html 第4章 Debian 8 (jessie) からのアップグレード]


アップデード後、ネットワークの状態がなんだかおかしい。


/etc/network/interfaces
/etc/network/interfaces