TimerCAM/Unit CAM - UIFlow

機能記述です

M5CORE型のデバイスをGROVEインタフェースを通じてTimerCAM/Unit CAMに接続し、UART通信を用いてカメラの画像を送信し、M5COREの画面上でプレビューを表示、または定時撮影機能を設定してクラウドに画像をアップロード(固定のHTTP APIを返却)を可能にします。

ファームウェアの書き込みです

TimerCAMの出荷時のファームウェアは、このアプリケーションに適合していないため、使用前にUIFlowに適合のファームウェアを焼録する必要があります。注: UnitCAMの出荷時のファームウェアはUIFlowに既に適合し、再焼録の必要はありません。 ファームウェアの再焼録が必要な場合は、こちらの焼録チュートリアルを参照し、下図に従い、使用するデバイスに適合のファームウェアを焼録してください .

UIFlow Blockの使用例です

UIFlowは、カメラのUARTとWi-Fiの二つの作業モードを切替える機能をサポートします。Wi-Fiモードは、定時撮影をサポートし、画像を自動的にM5クラウドにアップロードし、画像呼び出しインタフェース(URL)を返却します。UARTモードは、他の主コントロールデバイスを通じてUART通信で画像フレームを取得し、画像のパラメータを変更する機能をサポートします。以下は、UnitCAMを接続し、画像データを取得する例を示します。

UIFlow Block 功能说明

Cloud Mode Functions:

  • 特定のWiFiにカメラを接続する Set-unitcam-connect-wifi-ssid

  • 画像をクラウドにアップロードする間隔を設定 Set-unitcam-cloud-mode-upload-interval

  • カメラのTokenを取得 Get-unitcam-cloud-token

  • クラウド上の画像URLを取得 Get-unitcam-cloud-image-url

UART Mode Functions:

  • UARTモード下、画面上で画像を表示するスレッドを起動、既定の表示座標は0,0

  • 画像のサイズを設定 Set-unitcam-image-size

  • 画像の表示位置を設定 Set-unitcam-image-position-x-y

  • Command:

  • UART/CLOUDモードを切替 Switch-unitcam-mode-to-UART/CLOUD

  • カメラの板載LEDの輝度を設定 Set-unitcam, led-brightness

UIFlow 使用案例

使用前は、左下の追加ボタンをクリックし、対応のカメラ拡張を追加してください。
操作説明:
ボタンAを押下するとWiFi接続モードを起動し、指定のWiFiに接続し、カメラは5秒間隔で画像を撮影しM5クラウドにアップロードします。ボタンBを押下すると、カメラのTokenを取得し、該Tokenを用いて生成したクラウド画像URLをQRコードで作成します。
ボタンCを押下するとUART接続モードを起動し、画像のサイズを320*240に設定し、画面上で画像を継続的に更新するスレッドを起動します。

操作ビデオ

Micropython API


import unit

#创建unitcam实例
unitcam0 = unit.get(unit.UNITCAM, unit.PORTB)

#UART模式: unitcam0.UART_MODE
#WIFI模式: unitcam0.CLOUD_MODE
unitcam0.set_mode(unitcam0.UART_MODE)

#WiFi模式下,配置摄像头连接指定WiFi
unitcam0.set_wifi('', '')

#WiFi模式下,配置摄像头图片上传云端间隔
unitcam0.set_upload_time(5)

#获取摄像头Token
unitcam_token = unitcam0.get_token()

#拼接固定域名字段,获取摄像头云端图片URL
unicam_image_url = 'camera.m5stack.com/timer-cam/image?tok=' + unitcam0.get_token()

#UART模式下, 启动屏幕显示图像线程,默认显示坐标为0,0
unitcam0.set_show(True)

#设置摄像头返回图像尺寸
#unitcam0.SIZE_800_600
#unitcam0.SIZE_640_480
#unitcam0.SIZE_320_240
#unitcam0.SIZE_240_240
#unitcam0.SIZE_160_120
unitcam0.set_image_size(unitcam0.SIZE_320_240)


#设置Unit CAM板载LED亮度 value: 0~100
unitcam0.set_led_brightness(0)
On This Page