Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ATOM Cam2 hack中

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

ATOM Cam2 hack中

鹿児島Linux勉強会 2021.12で発表

Avatar for Kenichiro MATOHARA

Kenichiro MATOHARA

December 19, 2021
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

  1. ロケット情報 🚀 ロケット情報 🚀 2021-12-21 23:33:52〜 JAXA種子島宇宙センター 大型ロケット発射 場より打ち上げ H-IIAロケット45号機(三菱重工)/第6世代通信衛星「Inmarsat-6」

    シリーズ初号機衛星(英インマルサット社) 久々の夜間打ち上げで遠隔地からも見えやすそう 遠方の方はインターネットストリーミングでどうぞ 3 / 39
  2. ATOM Cam2 ATOM Cam2 日本のベンチャー起業のATOM tech Inc.が発売 ATOM Cam初代に続き2つ目のATOM Cam2(防水)

    最近防水&首振り機能のSwingが発売 2,980円と安価な割には夜間など写りがいい(9mまでのir LEDx4あり) 解像度はFullHD WebUI等はなくてアプリ(Android/iOS)経由での操作のみ factory modeを使い任意のscriptを実行できる!(serlalも使えるよう) ATOM Cam 2 (アトムカム ツー) - 完全防水・防塵+カラーナイトビジ ョン | ATOMシリーズ | ATOM 公式ストア 4 / 39
  3. ATOM Cam比較 ATOM Cam比較 価 格 特徴 初代 2500 オプションのセンサー連携可能,USBCamとして利

    用可能,PCアプリベータ版あり 2 2980 防水,双方向通話 Swing 4280 防水,首振り機能 いずれもfactory mode利用可能 6 / 39
  4. まずmicroSD cardなしで動かす まずmicroSD cardなしで動かす Wi-Fi(2.4GHz)のAPが必要 Android or iOSアプリが必要(今回はAndroid利用) アプリでWi-Fi情報を手打ちしてQR Codeを表示してATOM

    Cam2で 読み取り Wi-Fi認識後アプリで認識,設定やプレビュー等が行える Android版はよく繋がらなくなる.アプリを強制終了して起動し 直すと治る. アプリで録画は可能だが,充電しながらでもバッテリーがどんど ん減っていくのでスポットで  初代にはWindows/macOSアプリ(β版)がある 7 / 39
  5. ffprobe昼 ffprobe昼 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/matoken/D522-0232/record/20211214/19/06.mp4': Metadata: major_brand :

    isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf57.25.100 Duration: 00:01:00.05, start: 0.000000, bitrate: 1030 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 963 Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] Stream #0:1(und): Audio: pcm_alaw (alaw / 0x77616C61), 8000 Hz, mono, s16, 64 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] 11 / 39
  6. ffprobe夜 ffprobe夜 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/matoken/D522-0232/record/20211214/21/46.mp4':M encoder : Lavf57.25.100

    Duration: 00:01:00.07, start: 0.000000, bitrate: 1034 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 967 Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] Stream #0:1(und): Audio: pcm_alaw (alaw / 0x77616C61), 8000 Hz, mono, s16, 64 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] 12 / 39
  7. factory mode でScriptを動かす factory mode でScriptを動かす こんな感じのファイル,ディレクトリを作成して, Test.tar とし てアーカイブを作成してmicroSDのrootに置くと起動時に

    test.sh が 実行される $ tree -F . ├── Test/ │ ├── checksum* │ ├── factoryTestProcess* │ ├── singleBoadTest* │ └── test.sh* └── factory* 17 / 39
  8. Test/test.sh をこんな感じで書いて 実行権をつけて Test.tar としてtarで固めてmicroSDにcp $ cat Test/test.sh #!/bin/sh echo

    "========== It works! ===========" /system/bin/hl_client & /system/bin/iCamera_app & #ここ以降に走らせせたい処理を書く $ chmod +x Test/test.sh $ tar cfv Test.tar Test factory 18 / 39
  9. telnetd起動しない? telnetd起動しない? atomcam_tool(factory modeでATOM Cam2 便利機能実装ツール)を試 すと動作する atomcam_toolのtelnetに接続してtelnetdを手で叩くと動作する このTest.tarを展開して Test/test.sh

    を書き直してみるとやはり動 かない? debug printを入れてsdに書き出し( /media/mmc )してみるとscript自体 は動いている PATHをlsで確認して /sbin/telnetd としてみたりしたけどうま く行かない 21 / 39
  10. atomcam_toolsのtelnetd起動 atomcam_toolsのtelnetd起動 ProcessName=telnetd while true do # telnet killed by

    iCamera_app count=`ps | grep $ProcessName | grep -v grep | wc -l` if [ $count = 0 ]; then echo "$ProcessName is dead." telnetd else echo "$ProcessName is alive." > /dev/null fi sleep 10 done 23 / 39
  11. telnet接続 telnet接続 $ sudo nmap -sP 192.168.68.1- | grep 7C:DD:E9:

    -B2 | head -1 Nmap scan report for 192.168.68.104 $ telnet 192.168.68.106 8023 Trying 192.168.68.106... Connected to 192.168.68.106. Escape character is '^]'. /sys/devices/virtual/gpio/gpio77 # uname -a /bin/sh: uname: not found /sys/devices/virtual/gpio/gpio77 # cat /proc/version Linux version 3.10.14__isvp_swan_1.0__ (xiaoyongjian@xiaoyongjian-virtual-machine) (gcc version 24 / 39
  12. GPIOでLED制御 GPIOでLED制御 /sys/class/gpio の下にいくつかGPIOがあるようなのでvalueを書き換 えて動きを確認 47⇒1 : 前面左右LEDx4が赤(irも?) 38⇒0 :

    前面中央LEDが黄色 39⇒0 : 前面中央LEDが青色 (38, 39は同時に光らせることが出来る) /sys/class/gpio # echo 1 > gpio47/value /sys/class/gpio # echo 0 > gpio38/value /sys/class/gpio # echo 0 > gpio39/value 26 / 39
  13. gpio direction value 38 out 1 39 out 0 47

    out 0 48 - 0 50 in 0 51 in 1 27 / 39
  14. /proc/filesystems /proc/filesystems nodev sysfs nodev rootfs nodev bdev nodev proc

    nodev cgroup nodev tmpfs nodev debugfs nodev sockfs nodev pipefs nodev anon_inodefs nodev rpc_pipefs nodev configfs nodev devpts squashfs nodev ramfs vfat nodev nfs nodev jffs2 nodev mtd_inodefs exfat 30 / 39
  15. debootstrap debootstrap $ fakeroot # debootstrap --foreign --keyring=/usr/share/keyrings/debian-archive-removed-keys.gpg \ --arch=mips

    jessie debian_mips http://archive.debian.org/debian/ # exit $ sudo chroot debian_mips # /debootstrap/debootstrap --second-stage 31 / 39
  16. jffs2 jffs2 jffs2イメージ作成 ATOM Cam2でmount……失敗 $ mkfs.jffs2 -r ./debian_mips -p

    -e 0x2000 -o ./debian_mips.img # mount -t jffs2 -o rw,relatime /media/mmc/debian_mips.img /tmp/debian mount: mounting /dev/loop0 on /tmp/debian failed: Invalid argument 32 / 39
  17. atomcam_toolsの中のext4.koもら atomcam_toolsの中のext4.koもら ってきて利用 ってきて利用 atomcam_toolsではext2 mountしているので出来るはずもう少し調べ る‥… # mkdir /tmp/mmc

    /tmp/debian # mount /dev/mmcblk0p1 /tmp/mmc # insmod /tmp/mmc/modules/crc16.ko # insmod /tmp/mmc/modules/mbcache.ko # insmod /tmp/mmc/modules/jbd2.ko # insmod /tmp/mmc/modules/ext4.ko # mount -t ext2 /media/mmc/debian_jessie_mips.img /tmp/devian mount: mounting /dev/loop0 on /tmp/devian failed: No such device 33 / 39
  18. atomcam_tools atomcam_tools WebUI http://[ATOMCam2のIPアドレス]:8080/cgi-bin/honeylab.cgi FTPd/Telnetd RTSP(swap必須) rtsp://[IPADDR]:8554/unicast 静止画取得 http://[IPADDR]:8080/cgi-bin/get_jpeg.cgi microSDにswap

    file作成&swapon 検出動画(12秒)をmicroSDに保存 一定時間毎の再起動,ftpサーバにデータアップロード機能 等々とても便利! bakueikozo/atomcam_tools 34 / 39
  19. URL URL atomcam_Tools作者 factory modeの使い方 matokenのメモ 鹿児島Linux勉強会2021.04で発表 honeylab’s blog ATOM

    Camで手軽にゲフンゲフン - Qiita https://wiki.matoken.org/gadget/atomcam2 PQI Air Pen Hack 38 / 39
  20. 奥付 奥付 発表 発表者 利用ソフトウェア ライセンス CC BY-NC-SA 4.0 鹿児島Linux勉強会

    2021.12(オンライン開催) Kenichiro Matohara(matoken) Asciidoctor Reveal.js 39 / 39