7,166
edits
(126 intermediate revisions by the same user not shown) | |||
Line 162: | Line 162: | ||
おおぉ | おおぉ | ||
<syntaxhighlight lang=" | <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/ | sudo wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-armv6l.tar.xz | ||
sudo tar xfJ node- | sudo tar xfJ node-v10.16.0-linux-armv6l.tar.xz | ||
sudo ln -s /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 npm install -g --unsafe-perm homebridge | sudo npm install -g --unsafe-perm homebridge | ||
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> | |||
= HomeBridge with iOS11 = | |||
[https://github.com/nfarina/homebridge/issues/1501 Not working with IOS11] | |||
* Upgrade homebridge to newest version: npm install -g homebridge | |||
* Stop homebridge service | |||
* rm -rf ~/.homebridge/persist | |||
* rm -rf ~/.homebridge/accessories | |||
* Under ~/.homebridge/config.json, change your "username": "11:22:33:44:55:66" to something else | |||
* Start homebridge service | |||
* Delete homebridge accessory from home app | |||
* Add homebridge accessory to home app and enter pin etc | |||
= HomeBridge, HomeKit, Home Hub, Apple TV = | |||
Multicast 攻撃で、自宅のホームルータが死ぬ。ルータ再起動で復活はする。Apple AirMac にするのがよさそう。原因がうっすら判明。 | |||
IGMP 系が関連ありそうなので調べた結果、家の環境では、IGMP querier (IGMP クエリア機能) を投げる機器がないのが問題らしい。 | |||
https://bitbucket.org/marc_culler/querierd/ | |||
この設定で様子を見る。今の所問題なし。解決といっていい。 | |||
あとは | |||
<syntaxhighlight lang="text" enclose="div"> | |||
net.ipv4.icmp_echo_ignore_broadcasts=0 | |||
</syntaxhighlight> | |||
これは必要らしい。 | |||
:セキュリティ的には DoS の可能性があるのだが許容した。 | |||
= Home.app で頻繁に "Apple TVが応答しません。" がでる = | |||
Raspiで wlan0 のパワーセービング機能をオフになっていることを確認。 | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
sudo iw wlan0 set power_save off | |||
</syntaxhighlight> | |||
brcmfmac: power management disabled | |||
:boot 時にメッセージが出ていたらOK | |||
結局、いろいろ考察した結果、Apple TV の Home hub と iCloud のコネクションが落ちているのが原因ぽいので、デバイスの状態を iCloud に通知すればイケるかもしれないで、(ダミーの) device の'''状態を変化させて'''定期的に送信する処理を homebridge-cmdswitch2 の polling 機能で実装した。 | |||
以前よりはマシになった(気がする)が、やはり「応答しません」は出る。 | |||
<syntaxhighlight lang="text" enclose="div"> | |||
{ | |||
"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> | |||
"Apple TVが応答しません。" の場合に mDNS でサービスをブラウズしたら、IP address が IPv6 を返していた。これが怪しい。当面定期的の AppleTV の IP に IPv4 アドレスで定期的に arp + icmp を送って様子みる。 | |||
"Apple TVが応答しません。" 問題は解決不能として諦める。 | |||
Raspberry Pi 3 B+ に変えて、有線接続にしたら解消しました。まーそーだろーなー | |||
= disable IPv6 = | |||
業界的にはよろしくないが、IPv6 を殺した。インターネットの接続先プロバイダーが IPv4 Only なので... | |||
/boot/cmdline.txt に追加 | |||
<syntaxhighlight lang="text" enclose="div"> | |||
ipv6.disable=1 | |||
</syntaxhighlight> | |||
パラノイアならw | |||
/etc/sysctl.conf | |||
<syntaxhighlight lang="text" enclose="div"> | |||
net.ipv6.conf.all.disable_ipv6=1 | |||
net.ipv6.conf.default.disable_ipv6=1 | |||
net.ipv6.conf.lo.disable_ipv6=1 | |||
net.ipv6.conf.wlan0.disable_ipv6=1 | |||
</syntaxhighlight> | |||
/etc/modprobe.d/ipv6.conf | |||
<syntaxhighlight lang="text" enclose="div"> | |||
alias net-pf-10 off | |||
alias ipv6 off | |||
options ipv6 disable_ipv6=1 | |||
blacklist ipv6 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 255: | 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」でお手軽家電操作。 | [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 263: | Line 383: | ||
ダイキンのエアコンの操作は単純には成功しなかった。(リモコン型番 ARC446A3) | ダイキンのエアコンの操作は単純には成功しなかった。(リモコン型番 ARC446A3) | ||
[http://blog.fchiba.net/archives/172484.html Raspberry Piでエアコンを操作できる赤外線リモコンを作った] | [http://blog.fchiba.net/archives/172484.html Raspberry Piでエアコンを操作できる赤外線リモコンを作った] | ||
Line 276: | Line 394: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
どうも 2, 3 のストップ信号のあとの長いギャップ(赤外線を照射していない部分)が正しくキャプチャーできていないようだ。その部分を修正したら動くようになる。 | どうも 2, 3 のストップ信号のあとの長いギャップ(赤外線を照射していない部分)が正しくキャプチャーできていないようだ。その部分を修正したら動くようになる。 | ||
どうもキャプチャーで桁あふれか変換ミスをしてるっぽい。いろいろ調べた結果 unsigned char に収まらないのが原因。オーバーフローしてもエラーとして扱っていないのでわからないのも問題。 | |||
K (Set Post scaler) を 255 に設定してから キャプチャー すれば ダイキン エアコン の問題点はクリアできた。 | |||
[http://akizukidenshi.com/download/k4174_format.pdf ■家電協フォーマット■] | [http://akizukidenshi.com/download/k4174_format.pdf ■家電協フォーマット■] | ||
HomeKit の Home Hub としての Apple TV が欲しくなってきた... | HomeKit の Home Hub としての Apple TV が欲しくなってきた... | ||
[https://github.com/zasf/IRdaikinARC466 https://github.com/zasf/IRdaikinARC466] | |||
[http://www.mcmajan.com/mcmajanwpr/blog/2013/10/21/ir-daikin-decodificare-protocolli-infrarossi-complessi/ IR Daikin: decodificare protocolli infrarossi complessi. | McMajan] | |||
:フォーマットがわかってきたので発見できた情報 | |||
homebridge-cmd 等で呼び出す場合は、ちゃんと排他処理しましょう。 | |||
次は [https://github.com/luisiam/homebridge-cmdswitch2 homebridge-cmdswitch2] というのを試そう。 | |||
:homebridge-cmdswitch2 の方が出来が良いので書き換えた。 | |||
= FileBeat = | = FileBeat = | ||
Line 340: | Line 474: | ||
iOS10 ではダメだそうだ (中古の AppleTV 買うか...) | iOS10 ではダメだそうだ (中古の AppleTV 買うか...) | ||
= HDMI & CEC = | |||
consoleblank=0 | |||
echo "scan" | cec-client -d 1 -s | |||
http://www.cec-o-matic.com/ | |||
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 | |||
= らずぱい怪談 = | |||
誰もいない部屋のテレビがついた。しかも入力切替までしてラズパイの画面が出ていた... | |||
<syntaxhighlight lang="text" enclose="div"> | |||
hdmi_ignore_cec_init=1 | |||
</syntaxhighlight> | |||
:この呪文を /boot/config.txt に書くと治るらしいwww | |||
この機能があるなら、IR 経由でなくても homebridge で TV がコントロールできそうだ。 | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
sudo apt-get install cec-utils | |||
</syntaxhighlight> | |||
homebridge-cec-accessory, homebridge-cec, homebridge-platform-cec, homebridge-hdmi 等 | |||
[http://tsaitoh.net/~t-saitoh/mt/2016/11/cec-client-homebridge.php cec-clientをhomebridgeから制御 - T-Saitoh's Diary] | |||
[https://www.npmjs.com/package/homebridge-cec-accessory homebridge-cec-accessory] | |||
:これを使ってみる | |||
::[http://libcec.pulse-eight.com/Vendor/Support メーカーにより使える機能に制限がある]のでけっしてバラ色ではない。 | |||
= Raspbian Jessie to Raspbian 9 Stretch = | |||
[https://www.raspberrypi.org/blog/raspbian-stretch/ Raspbian Stretch has arrived for Raspberry Pi] | |||
なぬ。メジャーバージョンアップだ。すでにラズパイの download page も新しいのを推してる | |||
[https://linuxconfig.org/raspbian-gnu-linux-upgrade-from-jessie-to-raspbian-stretch-9 Raspbian GNU/Linux upgrade from Jessie to Raspbian Stretch 9] | |||
[https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.ja.html 第4章 Debian 8 (jessie) からのアップグレード] | |||
/etc/network/interfaces | |||
<syntaxhighlight lang="diff" enclose="div"> | |||
--- interfaces.dpkg-old 2017-07-05 19:55:26.182496782 +0900 | |||
+++ interfaces 2017-09-01 22:30:58.645695819 +0900 | |||
@@ -5,16 +5,3 @@ | |||
# Include files from /etc/network/interfaces.d: | |||
source-directory /etc/network/interfaces.d | |||
- | |||
-auto lo | |||
-iface lo inet loopback | |||
- | |||
-iface eth0 inet manual | |||
- | |||
-allow-hotplug wlan0 | |||
-iface wlan0 inet manual | |||
- wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf | |||
- | |||
-allow-hotplug wlan1 | |||
-iface wlan1 inet manual | |||
- wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf | |||
</syntaxhighlight> | |||
かといって /etc/network/interfaces.d/ には何もない。 |