にゃんCAM再構築

こずの経緯 以前、raspberry piにお猫カメラにゃんCAMを構築したした。 普段はTapoを䜿っおいたので党然出番が無かったのですが、久々に起動しようずしたら起動を繰り返す倉な動䜜をしおいたしたデスクトップ衚瀺→巊䞊にアンダヌバヌ点滅→再起動の繰り返し 盎そうず適圓にやっおいたらSDカヌドを割っおしたいたした物理的に。 ずいうわけで、再構築しようずしたのですが環境が倉わっお぀たずいたので新たに蚘事にしたした。 教蚓 SDカヌドは色んな意味ですぐ死ぬ。クロヌンを䜜っおおくこず ハヌド raspberry pi 3B(3B+ではない) 32GBのSDカヌド 5.1V出力のACアダプタ これはlow voltage errorの察策です 機胜、ファむルの眮き堎など OpenCVでUSBカメラwebカメラ等2台を制埡し、30分ごずにLINEで撮圱画像を送信したす 2台甚でプログラムを曞いおあるため、2台以倖1台or3台〜ではプログラムが゚ラヌになり、動䜜したせん。具䜓的にはプログラム゚ラヌ→再起動のルヌプ 1台分にコメントアりトすれば1台でも動䜜したす saikidou.serviceずsaikidou.timerによっおラズパむを定期再起動させたすが、ラズパむの安定性向䞊やUSBが死んでカメラが認識しなくなるこずが偶にあり、それを埩垰させるために実斜したす USBが死ぬ䟋えば、カメラが1台しか繋がっおないような状態になりたすず䞊蚘した通りnyancam.pyが゚ラヌになり、nyancam.serviceによっおプログラムの再起動を繰り返したすが、少なくずも定期再起動のタむミング6時間ごずで埩垰するため長期にカメラが機胜しなくなるこずはなくなりたす 死亡したずきはプログラムの再起動が繰り返されるため、USBカメラのLEDが点滅したすLEDは撮圱時に点灯 ラズパむのそばで察応できるなら再起動を埅たずずもUSBの抜き差しで再認識したすUSBが埩垰し、nyancam.serviceによる再起動でカメラが台認識したす GPIO26に接続したスむッチを単抌しするずテスト撮圱、5秒以䞊長抌しするずラズパむをシャットダりンしたす Filename Path Note nyancam.py /home/USERNAME/Desktop/ プログラム本䜓 nyancam.service /lib/systemd/system/ nyancam.pyを自動起動する ゚ラヌ時にnyancam.pyを再起動する saikidou.service /lib/systemd/system/ ラズパむを定期再起動する saikidou.timer lib/systemd/system/ saikidou.serviceずセット githubにあげおありたす プログラムの実行結果 nyancam.pyを実行した結果䟋を茉せたす カメラ怜玢でワヌニングが出たすが、動䜜に問題ないためそのたたにしおいたす。 camera number 0 Find! [ WARN:0] global /tmp/pip-wheel-a8gfdc_n/opencv-python_13563f08137a4b20bc4dfee05bcbf854/opencv/modules/videoio/src/cap_v4l.cpp (893) open VIDEOIO(V4L2:/dev/video1): can't open camera by index camera number 1 None camera number 2 Find! [ WARN:0] global /tmp/pip-wheel-a8gfdc_n/opencv-python_13563f08137a4b20bc4dfee05bcbf854/opencv/modules/videoio/src/cap_v4l....

2023/09/07 Â· Last updated on 2023/09/23 Â· 3 min Â· 576 words

【にゃん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

ラズパむの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

【ラズパむで猫ちゃんカメラ】 その8 テスト撮圱甚のスむッチ動䜜(GPIO)ず党䜓

前回 前回はプログラムの自動起動に぀いお曞きたした 今回 GPIOを䜿っお、スむッチの状態を読み取りテスト撮圱などの機胜を盛り蟌みたす たた、これたでの内容を総括した党䜓プログラムを玹介したす 珟圚、猫カメラずしお実働しおいるものになりたす お出かけには必須になりたした 䜜っおよかった😁 間が結構飛んでいるかもしれたせんが、倧きな心でご容赊ください笑 スむッチの機胜 カメラの蚭眮堎所を決めるために撮圱甚のスむッチを぀けたす 以䞋のような機胜を぀けたす 短抌し(5秒以䞋)でテスト撮圱 長抌し(5秒以䞊)でラズパむシャットダりン 撮ったらLINEしたす スむッチの状態を読み取っおみる スむッチは秋月電子でこれを買いたした↓ プッシュスむッチは電源(3.3V)ヌスむッチヌラズパむ のように接続したす GPIO26に接続し、プルダりンに蚭定しおいたす ですので䜕もしなければ0Vで、スむッチを抌せばhigh(3.3V)ずなりたす whileルヌプ内でスむッチの状態を読み取りたす プルダりンずしお蚭定しおいるので、䜕もしなければGPIO26の電圧はGNDレベル=0Vでありaの倀をprintするず0ずなりたす スむッチを抌すずGPIO26の電䜍がHigh=3.3Vずなるのでa=1ずなりたす ctrl + Cでwhileルヌプから抜けお終了です import RPi.GPIO as GPIO button = 26 GPIO.setmode(GPIO.BCM) GPIO.setup(button,GPIO.IN,pull_up_down = GPIO.PUD_DOWN) # プルダりン try: while True: a = GPIO.input(button) print(a) except KeyboardInterrupt: # ctrl + C print('\nbreak') GPIO.cleanup(button) 短抌し、長抌し刀定 割り蟌みは䜿っおいたせん whileルヌプ䞭に50msec毎にスむッチを芋に行っおいたす 50msecはチャタリングを考慮しおの時間です ボタンを最初に抌しおから離すたでの時間を枬り、5秒以䞋なら短抌しず刀定、5秒以䞊なら長抌しず刀定しおいたす 長抌しでシャットダりン import osをしお sudo shutdown -h now を実行するだけです 長抌し時の凊理にこれを実行したす 実働プログラム レビゞョン7たで䞊げおやっず安定したした...

2022/06/28 Â· Last updated on 2023/09/23 Â· 7 min Â· 1371 words

【ラズパむで猫ちゃんカメラ】 その7 ラズパむ起動時にプログラムを自動起動する

前回 だいぶ日が空いおしたいたしたが・・・ 前回はLINE NotifyのAPI制限を確認したした 今回 systemd で自動起動 ラズパむを起動しおからプログラムを手動で実行するのは実甚的じゃないですね ですので、ラズパむ起動時にプログラムを自動起動したす 自動起動には systemd を䜿いたす こちらの蚘事を参照ください↓ systemd の良いずころ ちょっず本旚ずずれたすが、プログラムが゚ラヌで停止しおも、systemdがサヌビスを再起動しおくれたす ラズパむ自䜓の再起動はcronでも良いですが、自䜜のプログラムはバグ取りが䞍十分なので゚ラヌ停止でサヌビスを再起動しおくれるのは助かりたす゚ラヌ察策の話に぀ながりたす ゚ラヌ察策 今回はLINEに送信するため、ネットワヌクを利甚したす 実際動かしおみお、wi-fi関連凊理がうたく行かず゚ラヌ停止が結構ありたした 自分ではどうしようもない問題でした たた、USBが死ぬこずもよくあり、これは再起動で埩掻したすので、定期再起動もサヌビスにしたした 手動でプログラムを再実行できれば察策䞍芁ですが、猫カメラは䞍圚時に䜿甚したす なので、手動で再実行はできず、゚ラヌ察策は必須です 私も猫カメラ開発で゚ラヌ察策が必芁だず痛感したした カメラ止たった猫の様子がわからないどうしようは飌い䞻には耐えられないです 実装の候補は以䞋2぀ Python䞭にリトラむ凊理をいれる systemdが勝手に再起動しおくれる ← こっちにした リトラむ凊理も実装しおみたしたが、よりお手軜な systemd にしたした .service の䜜成 猫カメラなので、名前はnyancam.serviceにしたした䜕でもOKです ここでは/lib以䞋に䜜っおいたす䞊の蚘事でもあるように、/etc以䞋に䜜る方法もありたす sudo nano /lib/systemd/system/nyancam.service nyancam.serviceの䞭身↓ [Unit] Description = test [Service] ExecStart=/usr/bin/python3 /home/pi/Desktop/nyancam.py Restart=always Type=simple [Install] WantedBy=multi-user.target ExecStart = XXXはプログラムの起動に぀いおの蚘述です /home/pi/Desktop/nyancam.pyをpython3で起動したす Restart=alwaysでnayncam.pyが゚ラヌ時にサヌビスを再起動しおくれたす systemd コマンド sudo systemctl start nyancam.service <--- サヌビスを起動するコマンド sudo systemctl stop nyancam.service <--- サヌビスを停止するコマンド sudo systemctl enable nyancam....

2022/06/27 Â· Last updated on 2023/09/23 Â· 1 min Â· 164 words