2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Wio BG770Aでカメラは使えるのか?TTLシリアルJPEGカメラでIoTカメラを実現する

2
Last updated at Posted at 2026-05-10

はじめに

低消費電力でセルラー通信が可能なWio BG770Aを使って、IoTカメラを試してみました。
Wio BG770AはGroveコネクタで接続する構成のため、まずは接続できるカメラの選定が必要です。
今回は、
・UARTで接続できる
・JPEG画像を直接取得できる
という条件から、TTLシリアルJPEGカメラを選択しました。

システム構成

本構成は以下の通りです。

TTLシリアルJPEGカメラ → UART → Wio BG770A → LTE-M → SORACOM Harvest Files

カメラから取得したJPEGデータを、Wio BG770A経由でクラウドへ送信します。

使用機材

  • Wio BG770A
  • TTLシリアルJPEGカメラ
  • SORACOM Air SIM

カメラをUARTで接続し、セルラー通信でクラウドへ送信します。

Qiita記事_1280x720(169) (1).png

TTLシリアルJPEGカメラの概要

今回使用したTTLシリアルJPEGカメラは、UARTで制御できるカメラモジュールです。

コマンドで撮影し、JPEG形式の画像データを取得できます。

  • UART(TTL)で接続可能
  • JPEG形式で出力
  • VGA / QVGA / QQVGA に対応

Wio BG770Aのような制約のあるデバイスでも扱いやすい構成です。

実装

ソースコードはGithubで公開しています(Claude Codeで実装)。

カメラの制御

TTLシリアルJPEGカメラは、UART経由でコマンドを送ることで制御します。
撮影コマンドを送信し、カメラ内部に画像を保持させた後、画像データを読み出す流れになります。

UARTでのデータ受信

撮影後、カメラからJPEGデータをUARTで取得します。
画像データは数KB〜数十KBになるため、
一度に受信するのではなく、分割して読み出す必要があります。
また、UARTの初期ボーレートは38400bpsと低速なため、115200bpsに変更して転送時間を短縮しました。

SORACOM Harvest Filesへの送信

取得したJPEGデータは、Wio BG770Aのセルラー通信(SORACOM Air)を利用して送信します。
今回はSORACOM Harvest Filesを利用し、画像データをクラウドに保存しました。
これにより、カメラで撮影した画像を遠隔から確認できることを確認しました。

動作確認

実際にカメラで撮影したJPEG画像を、SORACOM Harvest Filesに送信できることを確認しました。

・カメラで撮影 → UARTでデータ取得
・Wio BG770Aでデータ送信
・Harvest Files上に画像が保存される

一連の流れが正常に動作し、SORACOM Harvest Filesに画像を確認できることを確認できました。

image.png

試行錯誤

電源電圧の不足懸念

本カメラは仕様上5V電源ですが、3.3Vでも動作することを確認しました。事前に電圧不足には気付いていましたが、まずは動作確認を優先しました。結果として、画像取得およびクラウド送信まで問題なく実現できています。ただし、この動作は保証外であり、「たまたま成立している状態」の可能性もあります。長期的な安定性には注意が必要です。

UARTの速度を上げる

カメラの初期ボーレートは38400bpsと低速なため、そのままでは画像転送に時間がかかります。そこで115200bpsに変更し、転送時間の短縮と安定性の向上を図りました。

解像度 サイズ目安 38400bps 115200bps
QQVGA (160×120) 約5KB 約1.1秒 約0.36秒
QVGA (320×240) 約15KB 約3.2秒 約1.1秒
VGA (640×480) 約40KB 約8.5秒 約2.8秒

※JPEGの画像サイズは、撮影条件(画質・被写体など)によって変動するため、目安になります。

ボーレート切り替えのオーバーヘッド

UARTのボーレートは、途中で変更する処理が必要になります。
具体的には、

  1. 初期ボーレート(例:38400bps)でカメラと通信
  2. ボーレート変更コマンドを送信
  3. カメラ側の設定変更
  4. Wio側のUART設定も変更して再同期

という手順が発生し、この処理には、コマンド送信や再初期化の待ち時間が含まれるため、数十ms〜数百ms程度のオーバーヘッドが発生します。
画像転送(数秒)と比較すると、このオーバーヘッドは非常に小さく、

  • VGA画像:数秒
  • ボーレート変更:0.1秒前後

といった関係になります。そのため、全体の処理時間に対する影響は限定的です。今回の場合は、画像データの転送時間が全体で支配的となり、 ボーレート変更によるオーバーヘッドよりも、転送速度を上げる効果の方が大きいといえます。UARTのボーレート切り替えは一定のオーバーヘッドを伴いますが、 画像転送のような大容量データを扱う場合には十分許容できる範囲であり、全体としては有効な最適化手法であることも分かりました。

まとめ

Wio BG770Aとカメラを組み合わせて、IoTカメラをサクッと構築してみました。

正直なところ、カメラの解像度はもう少し高くても良いと感じましたが、
このあたりはWio BG770Aに期待している省電力性とのトレードオフだと考えています。

今回はまず「動かしてみる」ことを優先しましたが、シンプルな構成で画像取得からクラウド保存まで一通り実現できました。

次のステップとしては、乾電池などによる電源運用や、より長時間の安定動作についても試していきたいと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?