【にゃんCAM2】Tapo C200 を Homeassistant で動かす

まえがき 以前、ラズパイで猫カメラを作りました(にゃんCAM1)。 今回は、2です。 homeassistantとTP-linkのipカメラ Tapo C200 を使って構築しました。 こっちのほうが全然簡単です笑。 にゃんCAM1 part1から8まで記事が分かれています。 全体は8を見ればわかります。 8のリンクのみ載せておきます。 にゃんCAM1からの性能アップ内容 にゃんCAM1は画像をLINEで定期送信(30分ごと)が機能でしたが、それに加えて以下を追加しました。 ほとんどカメラのデフォルトの機能ですが。 暗視 動体検知 動画配信 カメラ設置の自由度向上 画質向上 簡素化 以下に詳しく記載します。 暗視 カメラのデフォルトの機能です。 IRカメラが搭載されており、周りの明るさに応じて自動でカメラが切り替わります。 暗さのしきい値を越えればIRカメラに切り替わります。 にゃんCAM1では普通のwebカメラを使っていたので、暗くなると全く映りません。 そのため、夜でも薄暗く電気をつけていました。 2ではその必要がなくなったため、にゃんこの負担も減るでしょう。 一応、にゃんCAM1でもIRのwebカメラを買って動作確認はしましたが、面倒くさくて完全導入はしていませんでした笑。 動体検知 これもカメラのデフォルト機能です。 30分ごとの撮影では良いタイミングを逃してしまうことは多々あります。 カメラの設置目的はお留守番に問題ないかな?の確認用とは言っても、あっ今ウンコ💩した!ご飯食べてる!がリアルタイムにわかるのは嬉しいです。 動画配信 これもデフォルト機能です。 あまり見ませんが、リアルタイムで見れるという安心感は大きいです。 homeassistantのオーバービューに表示していますが、外出先からはtailscale(VPN)でアクセスして確認します。 カメラ設置の自由度向上 カメラと電源コードのみなので置き場所の自由度があがります。 にゃんCAM1ではラズパイ本体とwebカメラ2台をダイソーのワイヤーネットに固定していたので大きいし、設置位置も限られました。 それが解消しました。 また、ipカメラなので、カメラが容易に増やせるのもメリットです。 簡素化 homeassistant本体(ラズパイ)はルーターボックスに常設していたWOLサーバ用ラズパイに入れたので、カメラ使用時はカメラだけ設置すれば良くなりました。 ついでにWOL機能もhomeassistantに構築しています。 後ほど紹介します。 そもそも ここまで読んでいただいて言うのもあれですが、わざわざhomeassistantを使わなくてもtp-linkのアプリ(tapoアプリ)を使って普通に使うだけで十分高性能です。 上記した動体検知や暗視は使えますし、モバイル回線からも動画が見れます。 じゃあ何でわざわざ?なのですが、以下が理由です。 tp-linkのサーバに動画をあげたくない LINEで画像を確認したい homeassistantで構築できる機能を使いたい 1については、モバイル回線から動画が見れている時点でtp-linkのどっかのサーバに動画が上がっているわけです。 動画のようなプライベート性の高いものを知らないサーバに上げるのは気持ちが悪いです。(それを言ったら他のクラウドサービスも一緒ですけどね) Amazonのレビューを見ると、カメラが勝手に動いたとかtapoアプリのプライバシーポリシーには第3者が動画を見ますよ?(←よく読んでない)的なことが書いてあって同意しないとアプリを使えないとか何とか。 など諸々を考えてLANのみの運用にしました。 後ほど詳しく記載しますが、ルータの設定でtapoのインターネットアクセスを遮断しています。 WANからはtailscale(VPN)を使ってアクセスします。 2についてはにゃんCAM1の機能を維持するためです。 tapo純正ではその機能は無い(調べてない、が正しい)ので、作ることにしました。 3については、WOLやtailscaleのことです。 日々の運用方法 homeassistantは常に起動しており、WOLやtailscaleのサーバとして動作しています。 そして必要なときにカメラの電源を入れればhomeassistantから見えるようになり、監視が開始します。 カメラが不要になったら、カメラの電源を抜けばそれで終わりです。 環境 raspi 3B+ 32GB SDカード 失敗メモ 以下に記載したのは構築時の自分メモです。...

2022/09/11 Â· Last updated on 2023/09/22 Â· 4 min Â· 743 words

Homeassistant

環境 raspi 3B+ Raspberry Pi OS 32bit 32GB SDカード OS書き込み Windowsにて、Raspberry Pi Imager v1.7.2で書き込み 書き込み時に以下を設定 Wi-Fiは設定無し(有線で接続) ssh有効化 パスワード変更 ssh接続 入ろうとしたら以下のように怒られた PS C:\Users\username> ssh username@ipaddress @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 以前同じipでラズパイを触っていて、今回OSを入れ直したために発生した なので、以下を参考にしてホスト鍵を消す 参考 : https://qiita.com/hnw/items/0eeee62ce403b8d6a23c PS C:\Users\username> ssh-keygen -R ipaddress # Host ipaddress found: line 1 C:\Users\username/.ssh/known_hosts updated. Original contents retained as C:\Users\username/.ssh/known_hosts.old これでおk アップデートとか ラズパイにssh接続していつものヤツを実施 sudo raspi-updateはプレリリース版(安定版ではない)にアップデートしてしまうのでやらない (参考 : https://qiita.com/takeaship/items/5861660c11d9d434368f) $ sudo apt update $ sudo apt full-upgrade $ sudo apt clean Home Assistant のインストール 参考 : https://smartlife99....

2022/08/27 Â· Last updated on 2023/09/13 Â· 3 min Â· 452 words

hugo papermod

HUGO Version # hugo version hugo v0.118.2-da7983ac4b94d97d776d7c2405040de97e95c03d+extended darwin/amd64 BuildDate=2023-08-31T11:23:51Z VendorInfo=brew theme選び直しの方針 robustを使っていたが気分転換 サムネイル画像いらない 記事リストは一覧で theme案 mini https://nodejh.com/hugo-theme-mini/posts/ アーカイブ、タグ、disqus、アナリティクスあり 検索なし papermod https://adityatelange.github.io/hugo-PaperMod/ 検索あり disqusあり 更新頻度高 hobor https://themes.gohugo.io/themes/harbor/ 検索あり 日本人作成 更新滞り アイコンがまる stack https://themes.gohugo.io/themes/hugo-theme-stack/ 良い感じ papermodにした 参考 : Installation · adityatelange/hugo-PaperMod Wiki method1(git clone)にした netlifyでデプロイ 参考 : [hugo] HugoとGitHubとNetlifyで静的サイトを簡単に作成 netlifyでgitのリポジトリを追加する(認証) netlify設定 build command : hugo publish directry : public netlify.toml をルートに追加 内容はrobustでの設定そのまま themeはgit cloneなので上記サイトを参考にする .gitmodulesをルートに。 lastmod の表示 Add “Last Edited” to posts · adityatelange/hugo-PaperMod · Discussion #775...

2022/08/25 Â· Last updated on 2024/03/27 Â· 1 min Â· 151 words

NCP-HG100 を 楽天モバイル Band3 に固定する

楽天モバイルは改悪されてしまいましたが・・・ でも固定回線代わりにするにはまだメリットありだと思います💡 この内容は先にツイッターでつぶやいてますが、その詳細です😁 バンド3で使えるLTEルータはあまり数がありませんが、改造できるならこのルーターは一番安上がりだと思います バンド固定に関係ないメモ Amazonのレビューにありましたが、Wi-Fiが弱いらしい なので、これはブリッジモードにして、Wi-Fi飛ばす用のルータは別途用意すると。 中身はOpenWrt つまり遊べる でも遊びづらいらしい やること 先人の知恵をお借りします🙏 USB2.0化 バンド3固定 auのバンド18と26(パートナー回線)を拾わないように 18だけ除外でも良さそうだが、両方除外する 購入 お試しでやりたかったのでメルカリで中古をポチぃ 2900円でした Amazonでも売っていて、5000円くらい https://amzn.asia/d/d5rsMYx とりあえず動作 手持ちの楽天モバイルSIMを挿入してみる うごいた パートナー回線(au)は拾わなかった 楽天モバイルで接続中(アプリにもそのように表示あり) 自分が居た場所がたまたま良かったか 20Mbpsくらいだったので、まあまあ 複数SIMを差し替えて使えれば尚良しだったが、L01sのようにAPNプロファイルの切り替えができない(書き換える必要がある)ので面倒 楽天モバイル専用かな 殻割り 写真たち↓ USB2.0化 参考↓ 感謝🙏 pin29,31をマスクした ピンは両面にあるので、pin29と31は隣同士 teraterm文字化け Windows10から作業しましたが、teratermが文字化けして何が何だかさっぱり ググって一通り試してもだめ baudrate を変えてもだめ teratermを使うことは諦めました 通信できてることはわかるですが これじゃコマンドうてない Arduino を使ってシリアル通信 と バンド3固定 ふとArduinoのシリアルコンソール使えばいいじゃんと気づく😎 Arduino Uno を使います UnoにはUSB-シリアル変換がのっているので、その部分だけ使うというわけです Arduino本体(Atmega328)は何もしていません 回路図をみると接続はパラなのでいける! でもインピーダンスが低いと信号が上手く伝わらなくなってしまう(可能性があると思う)ため、Atmega328側はinputでハイインピーダンスにし、プルアップしておいた(一応) Arduinoのスケッチ↓ void setup() { // put your setup code here, to run once: pinMode(0,INPUT); pinMode(1,INPUT); digitalWrite(0,HIGH); digitalWrite(1,HIGH); } void loop() { // put your main code here, to run repeatedly: } baudrateは 115200 bps...

2022/07/01 Â· Last updated on 2024/04/04 Â· 1 min Â· 121 words

ラズパイのCPU温度をブラウザに表示

ラズパイの温度が気になります。夏だし🚀 こちらの記事のWOLサーバにCPU温度とCPU周波数を表示していますが、その詳細です 環境 ラズパイ 3B+ ubuntu 20.04.4 LTS 温度取得(sensors) ubuntuなので、こちら↓に習って sensors このままだとcpu温度しか出ないのでこちらを参考↓ sudo sensors-detect これでたくさん出る 温度取得(vcgencmd) 「ラズパイ 温度」とかでググると、vcgencmdの記事がたくさんヒットするのではないでしょうか ubuntuなので、vcgencmdがありません ので、まず入れます sudo apt install libraspberrypi-bin 以下を実行すると温度が出ます vcgencmd measure_temp temp=56.9'C sudo じゃないとだめ(でもなかった) sudoをしないと、以下のエラーが出ました vcgencmd measure_temp VCHI initialization failed でも、最初だけ必要なのかもしれません 2回目以降はsudoなしでもいけました 温度取得(ファイルから取得) ← 軽い!これを採用💡 これまでは前置きです(長い) WOLサーバに合わせて記述するので、Flaskのpythonプログラム中でvcgencmdを実行しようと思っていましたが、どうやってもブラウザに表示できませんでした Linuxコマンドはsubprocessで実行しようと試していましたが、どうやらこれが上手くいかない模様 なのでこちら↓を参考にして温度が収められているファイルから値を取ってくることにしました 四つめは動作電圧を確認するメリットをあまり見いだせなかったのと、動作電圧を記録したファイルが見当たらなかったためです。 とのことなので、電圧はいいや(分かれば、何かしらの原因切り分けには使えるが) 温度はここ↓ /sys/class/thermal/thermal_zone0 cat temp 59610 1000で割って、59.61℃ 温度じゃないけど周波数はここ↓ /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq kHz表示なので、1000で割ってMHzになる 表示仕様 温度と周波数を表示 WEBブラウザをリロードすれば値は更新 プログラム修正時 .pyファイルを書き換える時はsystemdのサービスを以下のようにする stop(止める) → status(止まったこと確認) → .py書き換える → start → status(動いたことを確認)...

2022/06/30 Â· Last updated on 2023/09/22 Â· 1 min Â· 109 words