M5StickV开箱测试
m5stack一年前就有接触,做一些物联网相关的电子积木。 M5Stack - Modular Rapid ESP32 IoT Development Board - ESP32 dev kits
stack的原义是堆,产品模块,比如电池,4g,都做成了模块化,可以象汉堡王层层堆叠,快速出原型。
之前的产品基本都是基于国内厂商乐鑫esp32的,而这次stickV却不同,芯片采用了“K210”处理器,RISC-V架构。这款芯片是国内厂商:嘉楠勘智生产,定位在AIot。
Kendryte - Kendryte
看到越来越多的国产芯片登场,确实值得期待未来国内的Iot生态。
看一下物理接口:
包含了
- 640x480的摄像头
- mic和speaker
- tft屏
- 一大一小两个按键,电源开关
- type-c口
- tf卡槽
k210方案
从某宝入手之后,发现这个产品的资料非常少。
列举一下相关的资料,以便上手:
官方的简单介绍:
https://docs.m5stack.com/#/en/quick_start/m5stickv/m5stickv_quick_start
看得到,官方的固件,刷了Maixpy
而maixpy是什么呢?
关于MaixPy · MaixPy 文档
>MaixPy 是将 Micropython 移植到 K210( 一款64位双核带硬件FPU和卷积加速器的 RISC-V CPU, ) 的一个项目, 支持 MCU 常规操作, 更集成了机器视觉和麦克风阵列, 以快速开发具有极低成本和体积实用的 AIOT 领域智能应用。
如何烧录固件?
这边有一个教程,要点如下:
ls /dev/tty.* # 查看对应的串口名,如果查找不到,请先下载usb驱动
sudo kflash -p /dev/ttyUSB0 ./build/your.bin # 用kflash作为烧录工具
kflash可以通过pip安装
sudo pip3 install kflash
官方的固件m5stickV_Firmware_0630Fixed.kfpkg,带人脸检测,下载地址
如何进入REPL?
maixpy提供了一个环境,可以通过screen,minicom等串口工具登陆
我使用的是minicom,可以配置好串口名和波特率
minicom -s -b
简单的脚本可以直接在repl环境中完成,比如这个扫描二维码
import sensor
import image
import lcd
import time
clock = time.clock()
lcd.direction(lcd.YX_RLUD)
lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.set_vflip(1)
sensor.set_hmirror(1)
sensor.run(1)
sensor.skip_frames(30)
sensor.set_brightness(17)
while True:
—-clock.tick()
—-img = sensor.snapshot()
—-res = img.find_qrcodes()
—-fps =clock.fps()
—-if len(res) > 0:
——–#Get coordinates of the first QR
——–tupleboxa = res[0].rect()
——–img.draw_string(40,50, res[0].payload(), (236,36,36),scale=1.5)
——–img.draw_rectangle(tupleboxa,(236,36,36))
——–#lcd.draw_string(10, 10, res[0].payload(), lcd.RED, lcd.BLACK)
——–print(res[0].payload())
—-lcd.display(img)
如何上传python文件?
这一步我遇到了很多坑,可以选用的工具有rshell,ampy等串口上传工具
但是一直提示:
>ampy.pyboard.PyboardError: could not enter raw repl
网上很多解决方案如 http://boriscoding.blogspot.com/2017/12/toubleshooting-ampy-could-not-enter-raw.html都尝试了,无效
最后只能用tf卡来转存一下,把python文件拷贝在tf卡根目录下,插入tf卡槽,重启读取
在repl环境中
import yourModule
这样就可以执行了
可以做些什么有意思的项目?
时间有限,直接搬运了几个,在这里查看:
其中有一个识别猫猫,并且用日语播报的,感觉挺有趣的 ksasao/brownie其中有一个识别猫猫,并且用日语播报的,感觉挺有趣的
搬运一下,非常顺利通过
以上在1小时内可以全部玩一遍,
最大的感受是:
配置太低,只能当玩具中的玩具
不过AIot的方向是不错的,比起接几个传感器,做AI识别显然更有意思。