mnakada / atomcam_tools

Hack tool for atomcam and wyzecam.
Other
183 stars 22 forks source link

懸案事項いろいろ #27

Closed kurokouji closed 2 years ago

kurokouji commented 2 years ago

素晴らしいツールの公開、感謝しております。 現在、次の3点について当方、懸案事項を感じております。 ご教授いただけましたら幸いです。

(1)録画データのコマ落ちについて 個別の録画容量を確認したところカメラによってばらつきが大きい状況が起こっています。 容量が小さいとコマ落ちが大きく、容量が7MBを超えるとほとんどコマ落ちがありません。 次ような構成でそれぞれローカルにSMBサーバーを立て録画しております。

・フレッツ光ネクストに接続した無線LAN AC2を1台 1台目 AC2 (7,312,939 バイト)~(7,920,754 バイト)

・PocketWifi FS030W に接続したAC2を2台 1台目 AC2 (2,304,571 バイト)~(7,733,945 バイト) 2台目 ACS (6,888,550 バイト)~(7,694,773 バイト)

・PocketWifi FS030W に接続したAC2を4台 1台目 AC2 (2,304,571 バイト)~(7,394,378 バイト) 2台目 AC2 (4,760,891 バイト)~(7,694,773 バイト) 3台目 AC2 (1,530,354 バイト)~(7,309,110 バイト) 4台目 AC2 (1,760,021 バイト)~(7,293,299 バイト)

毎分00秒頃、アップロードが始まって、競合が起こり全て転送が終わればコマ落ちがなくなるように感じます。 ほとんどの場合後半の50秒~はコマ落ちの頻度は少ないです。 コマ落ちの原因がSDへの書き込み速度によるものか、sambaへの書き込みによるものか不明ですが、 カメラ個別に 10秒ずつ遅延を設定できると効果が確認できるかと思っています。

(2)稼働状況の参考値とするため、CPUまたはその他のチップの温度が知りたい。 一般的なlinuxのコマンドでは取得できなかった。 カメラの温度を取得できる方法をご存知でしたら教えてください。 [root@atomcam:~]# cat /sys/class/thermal/thermal_zone0/temp cat: can't open '/sys/class/thermal/thermal_zone0/temp': No such file or directory

(3)有線LAN(OTG)での接続について bakueikozo/atomcam_usbether のTest.tar では ifconfig で eth0が現れるのですが、現状見えません。 eth0が見えるように改良して頂けませんか。 eth0が見えれば、次のスクリプトを組み込むだけだと思われます。 当方で確認して報告いたします。

echo "pre.sh begin--------"

ifconfig eth0 up udhcpc -i eth0 sleep 5 mount -o bind /media/mmc/scripts/wpa_cli.sh /bin/wpa_cli

echo "----------end---------"

----------wpa_cli.sh begin--------

!/bin/sh

echo 'wpa_state=COMPLETED' echo ip_addresss=ifconfig eth0 | awk '/inet / {print $2}' | awk -F: '{print $2}' ----------wpa_cli.sh end--------

有線LANで利用したい理由 1.有線LAN接続により無線LANの電波状況による伝送ロスを考慮せずに検証・運用できる。 2.ACコンセントの無い場所でも、POE接続を利用することにより100mまでLANケーブルの接続のみで設置できるので電気工事の必要がない。 3.すきま用LANケーブル等の利用で有線LANで屋外への設置もし易い。 4.AtomCam2の電波感度にばらつきがあるように感じられる。特にSwingは首を振るため向きによって電波強度の変動が感じられる。

ご検討の程よろしくお願いします。

mnakada commented 2 years ago

(1)録画データのコマ落ちについて カメラ個別に 10秒ずつ遅延を設定できると効果が確認できるかと思っています。

これは難しいです。 ちょうど00秒に動画をuploadする動作のイベントはAtomCamのiCamera_appがタイミングを決めていて外から変更する事ができないです。 時刻をずらせばいいかと思うのですが、AtomCamはntpdを使って時刻同期されています。 ntpdは10秒ずらすとかという機能はないです。

(2)稼働状況の参考値とするため、CPUまたはその他のチップの温度が知りたい。

これは知りません。logとかにも温度は出てないので仕組み自体存在してないかもしれません。

(3)有線LAN(OTG)での接続について

これはkernelのUSB-Ether driverがoffになっているためです。 kernelのサイズは上限があり入りきらなくなるので、不要なdrvierはできるだけoffにしています。これはext2-fsやcifs-fsを有効にするためです。 接続するUSB-Etherによっても必要なdriverが違ってくるので、Ether driver全てをonすると入りきらなくなると思います。 ご自分で使用するUSB-Ether用のdriverをonしてkernelをbuildし直すのがいいと思います。

gtxaspec commented 2 years ago

my repo for wz_mini_hacks has various modules for USB Ethernet I have compiled that you can load and use with atomcam tools if you desire for convenience.

I experience the problem of dropped frames (at or near 00 time) also on cameras that have poor wifi reception, it is most definitely a wifi congestion issue.

kurokouji commented 2 years ago

mnakada さま (1)

時刻をずらせばいいかと思うのですが、AtomCamはntpdを使って時刻同期されています。 ntpdは10秒ずらすとかという機能はないです。

起動時 (/etc/init.d/S45ntpd を書き換えて)に各カメラ側で固定値で遅延時間を設定して実験してみます。

(2) 了解しました、ありがとうございます。

(3)

これはkernelのUSB-Ether driverがoffになっているためです。 ご自分で使用するUSB-Ether用のdriverをonしてkernelをbuildし直すのがいいと思います。

Busyboxは使ったことが無いので私の知識では設定・構築方法が良くわかりません。 参考になりそうな資料を見立てていただけませんか。

atomcam_tools を利用させていただいているおかげで、 見守りカメラとしては十分な性能で助かっています。 一歩進めて、防犯カメラとして利用するにはコマ落ちが大きいところが残念です。 atomcam_toolsと併用して、他の機能を落としてもコマ落ちしない連続録画専用として有線LAN版が利用できれば有難いと思っています。

gtxaspec 様 wz_mini_hacks の紹介ありがとうございます。

翻訳ですみません。

wz_mini_hacksの私のリポジトリには、USBイーサネット用のさまざまなモジュールがあります。 これをコンパイルして、便利な場合にアトムカムツールでロードして使用できるようにしました。

wz_mini_hacks はAC2、ACSでも利用可能でしょうか。 取り敢えず wz_mini_hacks のmicroSDを作成してAC2にセットしてみます。 実験のためv3 を調達いたします。

Wi-Fiの受信状態が悪いカメラでも、フレームがドロップする(00時またはその近く)という問題が発生します。 これは間違いなくWi-Fiの輻輳の問題です。

問題点の指摘・調査ありがとうございます。

運用中の4台の電波状況です、参考まで Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 wlan0: 0000 53. -57. -256 0 0 0 0 1 0 wlan0: 0000 51. -59. -256 0 0 0 0 240 0 wlan0: 0000 46. -64. -256 0 0 0 0 591 0 wlan0: 0000 48. -62. -256 0 0 0 0 526 0

gtxaspec commented 2 years ago

as I do not have access to purchase atom cam in the united states, I am not certain if it will work properly. But, the same kernel modules should work with the excellent atomcam_tools by mnakada, they have to be manually loaded.

kurokouji commented 2 years ago

gtxaspec さん microSDに書き込み電源入れたところ動作しているようです。 ssh接続は確認できていません。 本日より5月18日の間、出張でカメラをテストする時間が取れません。 また戻りましたら質問させてください。 よろしくお願いします。 Thank you very much.

kurokouji commented 2 years ago

AC2 ファームウェア4.58.0.91を適用したところ、ファイルサイズのばらつきが少なくなり、 動画のコマ落ちも数秒程度と許容できる範囲になりました。 OTG接続については引き続き検討したいと思っておりますが、本issueについてはcloseいたします。

gtxaspec commented 2 years ago

The new release of atomcam_tools includes mp4write.c in libcallback which may solve your issues

kurokouji commented 2 years ago

mnakadaさん gtxaspecさん Ver.1.3.6動作確認しました。 動画の品質が向上しました、防犯カメラとしても十分利用可能になりました。

kurokouji commented 2 years ago

録画データがファイルサーバーに残っているので atomcam,_tools ver.1.3.6、ATOM_CamV3C 4.58.0.91 更新前後のファイルサイズのヒストグラムを作成してみました。 大変良好です、参考まで。 20220522.pdf

mnakada commented 2 years ago

ありがとうございます。 負荷が下がって取りこぼしが減っているようですね。

mnakada commented 2 years ago

@kurokouji , 直接の有線対応ではないですが、Ver.1.3.8でNetwork設定をiCamera_appからhack側に移動しました。 /media/mmc/network_init.shがあれば、Network設定はそのscriptを実行します。 呼ばれ方は/scripts/network_init.shの中を読んでください。 /lib/modules/以下にUSB-Etherのkernel-moduleがいくつかあるのでinsmod等で必要なものを入れるようにすると動くかもしれません。(環境ないので動作未確認)

kurokouji commented 2 years ago

Network設定の変更恐れ入ります。 Ver.1.3.8で有線LAN接続出来た方がいらっしゃるようです。 https://twitter.com/pirosap/status/1532342149483679744 試してみます。

kurokouji commented 2 years ago

Ver.1.3.8改でPoE有線LAN接続、成功しました。 有線ハックされた@pirosapがフォークしてくれました。 動画のコマ落ちも起こらないようです。 https://github.com/pirosap/atomcam_tools 20220603-04

pirosap commented 2 years ago

自分でkernel-moduleをビルドして色々試していたところ、Ver.1.3.8でUSB-Etherが使えるようになっていたのでforkさせていただきました。 ありがとうございました!

gtxaspec commented 2 years ago

@kurokouji can you share a link to your PoE wired LAN adapter? where to purchase?

kurokouji commented 2 years ago

gtxaspecさん UCTRONICS U6113 https://www.uctronics.com/uctronics-poe-adapter-to-micro-usb-ethernet-power-for-raspberry-pi-zero-fire-tv-stick-chromecast-google-mini-and-more-ieee-802-3af-compliant.html

MicroUSBコネクタの樹脂を上下0.5mm程度削ると差し込めました。 5V/2.5AなのでAtomCam2には充分の容量です。

amazon.comでも入手可能だと思います。 https://www.amazon.com/dp/B0876N3PMZ

有線lan接続でパケットドロップも起こらなくなりました。

テストで並べて設置しています。 ifconfig情報を参考にしてください。

WLAN [root@atomcam2:]# cat /proc/net/wireless Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 wlan0: 0000 70. -22. -256 0 0 0 0 89 0 p2p0: 0000 0 0 0 0 0 0 0 0 0 [root@atomcam2:~]# ifconfig lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:1454 errors:0 dropped:0 overruns:0 frame:0 TX packets:1454 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:8049058 (7.6 MiB) TX bytes:8049058 (7.6 MiB)

wlan0 Link encap:Ethernet HWaddr 01:02:03:04:05:00
inet addr:192.168.100.45 Bcast:192.168.100.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:532096 errors:0 dropped:1891 overruns:0 frame:0 TX packets:1286001 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:38508427 (36.7 MiB) TX bytes:1427903646 (1.3 GiB)

UCTRONICS U6113 [root@atomcam-ether:~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:01:02:03:04:05
inet addr:192.168.100.28 Bcast:192.168.100.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:415843 errors:0 dropped:0 overruns:0 frame:0 TX packets:982975 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:33344173 (31.7 MiB) TX bytes:1436334687 (1.3 GiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:42215 errors:0 dropped:0 overruns:0 frame:0 TX packets:42215 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:343188622 (327.2 MiB) TX bytes:343188622 (327.2 MiB)

kurokouji commented 2 years ago

@gtxaspec こちらも動作確認しました。 UGREEN 有線LAN アダプタ 高速イーサネット マイクロusb to RJ45 100/10Mbps https://www.amazon.co.jp/gp/product/B071D7XGPX/

[root@atomcam-ether:~]# lsusb Bus 001 Device 002: ID 0b95:772b Bus 001 Device 001: ID 1d6b:0002 [root@atomcam-ether:~]# modprobe asix [root@atomcam-ether:~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq qlen 1000 link/ether 00:01:02:03:04:05 brd ff:ff:ff:ff:ff:ff inet 192.168.100.47/24 brd 192.168.100.255 scope global wlan0 valid_lft forever preferred_lft forever 3: p2p0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 00:01:02:03:04:YY brd ff:ff:ff:ff:ff:ff 4: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 00:01:02:03:04:XX brd ff:ff:ff:ff:ff:ff [root@atomcam-ether:~]# dmesg | grep asix [ 248.002879] asix 1-1:1.0 eth0: register 'asix' at usb-dwc2-1, ASIX AX88772B USB 2.0 Ethernet, 00:01:02:03:04:XX [ 248.034767] usbcore: registered new interface driver asix [root@atomcam-ether:~]# udhcpc eth0 udhcpc (v1.24.1) started Failed to kill daemon: No such file or directory Sending discover... Sending discover... Sending select for 192.168.100.20... Lease of 192.168.100.20 obtained, lease time 86400 Failed to kill daemon: No such file or directory deleting routers adding dns 192.168.100.1 [root@atomcam-ether:~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq qlen 1000 link/ether 00:01:02:03:04:05 brd ff:ff:ff:ff:ff:ff inet 192.168.100.47/24 brd 192.168.100.255 scope global wlan0 valid_lft forever preferred_lft forever 3: p2p0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 00:01:02:03:04:YY brd ff:ff:ff:ff:ff:ff 4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:01:02:03:04:XX brd ff:ff:ff:ff:ff:ff inet 192.168.100.20/24 brd 192.168.100.255 scope global eth0 valid_lft forever preferred_lft forever [root@atomcam-ether:~]#

kurokouji commented 2 years ago

Ver.1.3.10 で確認 有線LAN接続用のnetwork_initサンプルありがとうございます、お心遣い感謝します。 atomcam_tools/network_samples/network_init_eth.sh で有線LAN接続できました。 設置状況等によりWifiを停止し、有線LAN接続にすることで複数台のatomcamを設置する際に輻輳も低減できます。

/media/mmc/network_init.sh は atomcam_tools/network_samples/network_init_eth.sh のコピー [root@atomcam-ether:~]# ls /media/mmc/ System Volume Information factory_t31_ZMC6tiIDQN network_init.sh time.ini atomhack.log hack.ini record time_lapse authorized_keys hostname rootfs_hack.ext2 tmp configs local_schedule swap update

[root@atomcam-ether:~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:01:02:03:04:XX
inet addr:192.168.100.28 Bcast:192.168.100.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3697 errors:0 dropped:0 overruns:0 frame:0 TX packets:9992 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1265376 (1.2 MiB) TX bytes:12937550 (12.3 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:1469 errors:0 dropped:0 overruns:0 frame:0 TX packets:1469 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:10903809 (10.3 MiB) TX bytes:10903809 (10.3 MiB)

kurokouji commented 2 years ago

@gtxaspec amazon japan でも wyze cam v3 が購入可能になったので、1台入手しました。 早速 wz_mini_hacks も動作し、ssh 接続できました。 BusyBoxと英語の勉強させていただきます。 Thank you so much.

gtxaspec commented 2 years ago

@kurokouji thank you! I like wyze, and I like atomcam too! thanks to atomcam_tools and mnakada, I have learned and had great fun with these devices, I hope you do as well.