ホーム » コンピュータ (ページ 31)
「コンピュータ」カテゴリーアーカイブ
CO2センサーをRaspberry-Piにつなぐ
SEN-CCS811 - Raspberry-Pi
GND - GND(6)
VCC - 5V(4)
SDA - I2C1_SDA(3)
SCL - I2C1_SCL(5)
RST - VCC(2) # Resetする時はGNDにつなぐ
WAKE - GND(9)
INT - NC
$ sudo raspi-config $ sudo /boot/config.txt dtparam=i2c_arm_baudrate=50000 (default 100kHz→50kHz) $ ls /dev/i2c-* /dev/i2c-1 $ sudo i2cdetect -y 1 $ sudo pip3 install smbus2 # python3 用smbus モジュール
Money forward for 福井銀行がサービス停止
銀行やクレジットカードの管理で、Money Forward を使っているけど、福井銀行と連携した …for 福井銀行のサービスが停止になり、Money Forward ME に統一されるみたい。

今までも、全体で10個ほどの連携してたので500円/月払ってたし、そのまま移行だな。
homebridge-gsh と cec-client
homebridge-gshで、google-homeからHomeKit(homebridge)を制御
自宅で homebridge-config-ui-x で、家電制御の設定が楽になり、homebridge-gsh にて、Google Home から Apple の HomeKit の制御を呼び出せるようにしてみた。今までは赤外線リモコンベースなので、テレビのON/OFFがトグル動作で怪しかったが、HomeKit 経由だと、TVにつなげた HDMI 接続のRaspberry-Pi から HDMI 接続の他の機器に、ON/OFF を明示的に制御ができるようになる。
cec-client で 電源ON/OFF ができなくなった
無事、homebridge-gsh が動き出したのに、CATVSTB の電源が ON/OFF できない。入力切替は正しく動いているのに…
cec-client の動作状況を表示させながらうごかすと、定番の 「echo “on 1” | cec-client -s」で動かない。メッセージを見ると、対象機器がうまく選べないのが原因みたい。
CEC では、物理機器番号と論理機器番号で管理されていて、物理機器番号が決まらないのに on はできない…といったのが原因みたい。cec-client のバージョンがあがり、その辺がいいかげんなコマンドが送れないようになったようだ。
しかたがないので、CEC-O-MATIC のページにて、他の方法を試すと、以下のコマンドなら、正しく電源のON/OFFができた。
$ echo "tx 26:36" | cec-client -s # チューナーをけす Recording2 → Tuner2 standby $ echo "tx 26:44:6C" | cec-client -s # Recording2 → Tuner2 User Control Pressed Power Off $ echo "tx 26:44:6D" | cec-client -s # Recording2 → Tuner2 User Control Pressed Power On
ということで、cec-client を呼び出す処理を、上記のコマンドを使うようにして、無事 google-home から HomeKit 呼び出しに成功。
google-home に、”NHK をつける” と話しかけると、homebridge-gsh 経由で homebridgeが呼び出され、「地デジ切替と1チャンネルの赤外線信号」をだすし、”チューナーを消す”と言えば、cec-client 経由でtx 26:44:6c を送ってチューナーの電源が切れる。超便利。
(追記)
“tx 2X:44:6D” による電源ONは、HDMIの電源連動機能が動かないみたい。”on Y” だと、(TVで連動ON設定が必要だけど)チューナーの電源を入れれば、TVも連動してONになっていた。しかし、”tx 2X:44:6D”ではテレビがつかない。TV側の連動機能を知らないうちにOFFにしたのかと思ったけど、リモコンでチューナーをつければテレビ付くし。
ということで、cec-client を使って電源操作するシェルスクリプトに、TVの電源ON動作を行う機能を追加しておいた。
homebridge-config-ui-x を入れる
Appleの家電制御のためのHomeKitと互換性のあるソフト homebridge だけど、以前より家電の赤外線リモコンで活用しているが、google home との連携もさせたくって、homebridge-gsh を入れようとしたが、nodejs のバージョンが古く、インストールに失敗していた。
Google Home Mini で家電を制御するために、iPhone に eRemote 用のアプリを入れて、制御もしているけど、テレビなどの電源ボタンがトグル動作で、ON/OFF を正しく認識しないので、操作性が悪い。homebridge では、テレビにつけた Raspberry-Pi から、cec-client を使って、電源操作や入力切替操作が行えるので、基本は homebridge ベースに切り替えたい。
インストール
今回、nodejs のリポジトリを nodejs の本家を使うように設定して、nodejs を最新の 12.x に上げる。合わせて、設定ユーザインタフェースが便利な、homebridge-config-ui-x を入れてみた。
# リポジトリを登録 $ curl -sL https://deb.nodesource.com/setup_12.x | sudo bash - $ sudo aptitude update ; sudo aptitude safe-upgrade # Node.js のインストール $ sudo aptitude install -y nodejs $ sudo npm install -g npm # homebridge-config-ui-x のインストール $ sudo npm install -g homebridge-config-ui-x
config-ui-x を使えば、config.json の編集機能があるし、その編集も各モジュール単位で編集もできるので便利。一部のモジュールは、config.json で触る必要があって、その切り分けで手間取った。
この Web-UI では、スイッチの操作で時間のかかる処理のコマンドで、一部動きがおかしいのもあるけど、スマホ版だと問題なく動くようなので、この画面はあくまで設定用かな。
mineo繰越し
mineo接続、子供用3GB/月×2回線+自分のデータ通信用0.5GB/月×1回線。
遠隔授業で、自宅にいる機会が増え、WiFiが使えたもんだから、 月末にパケットを相互に移動しながら繰越しさせていたら、 3人のトータルが29GB。本来は6.5GBなんだけどね。
WatchOS7のx-callback-urlの検証
うーむ、WatchOS7の x-callback-url って上手く動かないのかな。
iOSであれば、ショートカット機能で x-callback-url を実行して、実行先で
header( "Location shortcuts://x-callback-url/run-shortcut?name=ショートカットの名前" ) ;
を実行すると、指定したショートカットを起動するし、
header( "Location shortcuts://x-callback-url/open" ) ;
を実行すれば、ショートカットに戻ってくれる。
かといって、「ショートカットの終了」が起動するように、別のショートカットを作っても、起動していたショートカットを終わらせることにはならないみたいだな。
でも、WatchOS7 だと、上記を実行しても、Webを開く画面を表示して何も表示されない画面のまま。いちいち「閉じる」を押さないとダメ。
ということで、Safari の URL を開く+ショートカットの終了の合わせ技にしておくのが一番無難なのか。
Watch OS 7 のWeb表示
Watch OS 7になって色々試しているけど、何気にiPhoneで起動しているショートカットをApple Watchで動かしたら、それなりに JavaScript 入っている自作ページだけど動くじゃん。
# 下に追記したけど、Webページの閲覧機能(クイックルック)をショートカットから呼出すのは避けるべきとのことであった。
家電リモコン操作が、Apple Watchで使えるぞぉ… (^_^;
コンプリケーションにショートカットを設定すれば、簡単にアプリ起動やらページ閲覧やらを起動できるので、ランチャとして使える。
問題点の追記(2020/09/30)
ショートカットを使って、LINEに固定メッセージを送る実験をしていると、メッセージが2回送られている。同じショートカットをiPhoneで動かすと1回だけ。LINEにメッセージを送るプログラム側の問題かと思ったけど、一番シンプルなページアクセスのショートカットを使ってWebサーバのログを確認したら、やっぱり2回連続してページアクセスをしている。
色々と調べていたら、「複雑なショートカットのショートカットアクションについて」を見ると、ショートカットからクイックルック機能を呼出すのは「避けるように」とのことであった。なるほど、不具合ではないのか。Web閲覧とクイックルックは別機能だな。
2回の連続アクセスだったら一方を無視させようと、flock() とかを使ってみたが、1回目のアクセスの完了を待ってから2回目のアクセスを行っているみたいで、なかなか面倒。
IFTTT利用を最小限に
IFTTT が 有料のIFTTT Pro のサービスに移行となり、無料契約だとアプレットを3つまでしか使えない。早々に、IFTTT からの警告メールが届き、10/7 までに契約すれば月額費用は、自分で決められるといった内容。
自宅では、Raspberry-Pi で動かしている機能や、赤外線リモコンを Google Home から制御するために、IFTTT にかなり依存していた。最近は Netflix とか Hulu とか、色々と契約しているし、出費とならないようにIFTTT 依存から脱却を図ろう。
WatchOS7は x-callback-url が違う?
WatchOS7 が公開されて、Apple Watch単独でショートカットを実行できるということなので、自分用に動かしているショートカットを試してみた。ただ、どれも動かなかった。
職場の中で自分のサーバに http:// で動くショートカットだけど、reverse-proxy の内側なので、SSL公開鍵が使えないため、http は危ないから…ということでダメ。
自宅で動かしているショートカットは、https:// で呼び出した後、x-callback-url でショートカットに戻るようにしてあるけど x-callback の仕組みが違うのか、制御がショートカットアプリに戻ってくれない。ショートカットが終了扱いにならないので、使い辛いなぁ…
Microsoft Authenticator が Apple Watch でうまく認証ができず内部エラーが発生するけど、この辺も同じような理由なんだろうなぁ…











