使用M5CORE型设备通过GROVE接口连接TimerCAM/Unit CAM,实现指令控制摄像头UART传输图像并在M5CORE的屏幕上预览,或是配置定时拍摄上传云端功能(返回固定HTTP API)。
TimerCAM默认出厂的固件并不适配该应用,因此使用前需要为摄像头烧录匹配UIFlow的固件,注:UnitCAM的出厂固件默认适配UIFlow,无需重新烧录。 如需重刷固件,可点击此处查看烧录教程,根据下图烧录匹配所使用的设备的固件 .
UIFlow支持配置摄像头切换UART
与Wi-Fi
两种工作模式,WiFi模式支持定时拍摄并将图片自动上传至M5云端并返回图片调用接口(URL)。UART模式下支持用户使用其他的主控设备通过UART通信获取图片帧
以及修改图片参数。下方将使用主控CORE作为案例,连接UnitCAM并获取图片数据。
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-show-in-screen
设置摄像头返回图像尺寸
Set-unitcam-image-size
设置图像显示位置
Set-unitcam-image-position-x-y
Command:
切换UART/CLOUD模式
Switch-unitcam-mode-to-UART/CLOUD
设置摄像头板载LED的亮度
Set-unitcam, led-brightness
使用前需点击左下角添加按钮,添加对应摄像头拓展。
案例操作说明:
按键A启用WiFi连接模式,连接指定WiFi,摄像头间隔5s拍摄图片并上传至M5云端,按键B获取摄像头Token,并使用该Token生成的云端图像URL创建二维码。
按键C启用UART连接模式,配置图片尺寸为320*240,启动图片显示线程不断刷新图片至屏幕。
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)