あとをしNOTE

Welcome to my blog🎉

にゃん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による再起動でカメラが2台認識します) 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

別PCでHugoするときの注意点

別pcでもブログの執筆をするために別pcに git cloneしたが、 hugo server -Dでエラー git submodule update --init --recursive を実行 Hugo ビルドエラー対応 found no layout file | infraya.work またhugoのversionは揃える必要あり hugo server -Dで http://localhost:1313/にアクセスしてもPage Not Foundとなった

2023/08/26 · Last updated on 2023/09/10 · 1 min · 27 words

報告書をMarkdownで書いてPandocでいい感じのPDFにする

報告書をMarkdownで書いてpdfにしたいと思っていたところPandocを使うと良さそうだと知りました Pandocはインストールが難しいらしいので、安易にdockerで構築しようと思い立って苦労しました。。。 LaTexは名前は知っていたのですが、学生時代はMSWordで論文を書いたため、ほぼゼロ知識だったのですが今回の構築を通して少し学べました githubにまとめました できること MarkdownからPandocを用いて1コマンドで良い感じのPDFを生成すること できたもの pandoc-latex/content.pdf at main · atooshi-note/pandoc-latex 特徴 Dockerで構築 pdf-defaults.yaml,header.texに設定を記載 pandoc-crossrefにより図表番号を自動入力(相互参照) 目次のリンク機能 章番号自動付与 defaults.yamlはpandoc2.8以降の機能です 環境 Windows10,11 macOS 12.6.8 Docker Desktop Docker > docker -v Docker version 24.0.2, build cb74dfc Pandoc > docker run -it --entrypoint=/bin/sh --volume "$(pwd):/data" manned2665/pandoclatex311 /data # pandoc -v pandoc 3.1.1 Features: +server +lua Scripting engine: Lua 5.4 User data directory: /root/.local/share/pandoc Copyright (C) 2006-2023 John MacFarlane. Web: https://pandoc.org This is free software; see the source for copying conditions....

2023/08/26 · Last updated on 2023/09/16 · 4 min · 731 words

netlifyでQRコードリダイレクト

概要 netlifyでQRコードをリダイレクト😃 背景 立ち上げたサイトURLをQRコード化して、紙に印刷を検討。 その場合、修正が入ってサイトのURLが変わってしまったらQRコードも変更しなければならない。 しかし、紙に印刷していれば、印刷し直し。 それは困るので、リダイレクトをしてQRコードを変更せずに済むようにした。 参考 感謝🙏 https://uepon.hatenadiary.com/entry/2020/11/19/014359 検討 リダイレクトするサービスは無料でたくさんある。 しかし、無料のサービスはサーバが不明なのでやめた。 github pagesでリダイレクト 参考サイトではgithub pagesで実装されているが、github pagesはprivateリポジトリでは使えない。 publicだとURLなど、中身が公開されてしまうのでgithub pagesは辞めた。 netlifyでリダイレクト githubのリポジトリはprivateとして、 https://uepon.hatenadiary.com/entry/2020/11/19/014359 を参考に、git clone まで実施 https://bioscryptome.t-ohashi.info/hugo/hugo-netlify-build/ を参考に、netlifyとgithub連携をする basic build settings は全部空欄とした https://uepon.hatenadiary.com/entry/2020/11/19/014359 を参考に、index.htmlを作り git push -u origin main を実行 hugoの時はリダイレクト設定とかをやったが、今回はやらずにいけた。 あとは、netlifyのURLでQRコードを作ればOK netlifyのURLにアクセスすればリダイレクトされる。 その他 立ち上げたサイトはgoogle検索で出てこないようにしている 以下で検索して出てこなければOK site:サイトのURL つまり、クローラによってインデックスされていない google search consoleに申請しなければ検索に出て来ない 以上😀

2022/12/18 · Last updated on 2023/09/22 · 1 min · 52 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