ITで遊ぶ

水中のGoproをコンピューターで操作する

去年からやっていることですが、水上ドローン(要するに無人船)で海中の写真を自動で撮影するシステムを開発しています。(うみねこカンパニー)

こう書くと探せば事例があってエラソーに「開発」なんていうものかよ?と思うでしょ。
ところが、これがまったく事例がない、もしくは企業秘密のようでインターネットでは見つからない(と思う)
そもそもカメラをコンピューターで操作しようという人がほとんどいないようです。(わかりませんが)

こんな感じの流れになります。

  1. ラジコンスイッチかパソコンの管理ソフトから写真撮影指令を船の制御コンピューターに送ります。
  2. 船の制御コンピューターはピンの電位を上げることでラズベリーパイに司令を出します。
  3. ラズベリーパイはGoProにWiFi経由で司令を送ります。

この3のラズベリーパイとGoProをWiFiで繋いでコマンドを送ることが、キーポイントです。

なぜならば私が調べた限り、GoPro以外にAPIをもったカメラはありません。すべて独自のスマホアプリかUSBケーブルをつなぐだけであり、コンピューターからの制御はハナから考えていないのです。
言い換えるとアクションカメラはまだまだマシンによって使われる例は少ないということです。

USBケーブル接続が典型的で、空を飛ぶドローンはカメラとケーブルを介してシャッターのオンオフを送る単純な方法です。
しかし、カメラを耐水ケースに入れてしまうとUSBケーブルはつなげません。穴を開ければ確実に水圧でそこから水が侵入します。ケースに穴を開けないためにケースにWiFiのアンテナを取り付けるのです。

多くの人は「WiFiの電波は水中を飛ばないんじゃないの?」

電波についてあまり知らないので、このように考えるようです。
厳密には「電波は水中で著しく減衰する」が正しい表現です。

つまりGoProにWiFiのアンテナを密着するくらいの短距離であれば、問題なく水中のラズパイとWiFiで更新できます。
巷にはWiFiのケーブルだけで強引にスマホと水中カメラを結ぶケーブルが販売されていますが、あれは電波がとても弱いはずです。
私はこのようなWiFi USBドングルをラズパイ側に取り付け、カメラまでアンテナを延長しています。

この方法だと何十メートルでも取り付けたアンテナケーブルの長さだけ、GoProに電波が届きます。

今年もようやく暖かくなり春から水中写真を取るのですが、水中写真といえばお魚さんやサンゴを撮影する例しかないようです。

海の環境を知るために、これから絶対に必要になる技術だと思っています。

詳細はgithubに書きました

 

関連記事

  1. 省電力一定時間点滅 スイッチ付プログラム

  2. カラーミーAPIを使う(発送データ作成)

  3. micro:bit + BLE + ChromeブラウザーそしてPro…

  4. やっぱりドットインストールは勉強にいい

  5. PostgreSQL JDBCドライバーの注意点

  6. DBの正規化

  7. Linux Kernel Map

  8. PHPのクラスの継承

記事をプリント