我应该在之前的文章里面说过,我之前创业的时候做过宠物方面的产品,而且我们当时用的是乐鑫的芯片。最近知道在涂鸦工作的朋友也在研究这方面,他给我寄了几个小板子,还有涂鸦的IOT SDK,我玩了几天,觉得真的很香,如果当时我能有这套SDK,就不会自己折腾那么多东西了。
先说下涂鸦的这个硬件设备
Wi-Fi&BLE SoC NANO主控板(BK7231N)
原理图:
硬件设备的链接如下:
https://developer.tuya.com/cn/docs/iot/tuya-sandwich-wifi-and-ble-soc-board-BK7231N?id=Kao72e6net3bs
这是一个双模Wifi+BLE的芯片,价格 17元。
芯片的参数信息
因为是控制类芯片,CPU主频已经足够使用,定时器和GPIO口这些常见的外设有都有,关键是可以支持串口下载。
硬件真随机数应该也是一个亮点。
SDK介绍
我使用的SDK是找涂鸦申请的,据在涂鸦工作的朋友说,他们还在给这个SDK做迭代。
收到的SDK是一个压缩包,直接放到ubuntu服务器上就能编译。
代码目录结构
涂鸦SDK介绍
https://developer.tuya.com/cn/docs/iot-device-dev/tuya-common-wifi-sdk?id=K9glcmvw4u9ml
作为用户程序,我们使用的宠物代码位于apps下面,如果你想自定义自己的用户程序,也可以在apps下面创建。
SDK编译
编译环境安装可以参考下面的链接
https://developer.tuya.com/cn/docs/iot/SoC-redevelopment_Windows?id=Kauqrxxka0wv6
在SDK的根目录下执行
./build_app.sh apps/tuya_bk7231n_pet_feed_demo/ tuya_bk7231n_pet_feed_demo 0.0.0.1
tuya_bk7231n_pet_feed_demo 是 apps子目录,这个不能随便修改,最后写的是版本号。
第一次编译的时候会需要下载一些东西
之后每次编译就会很快
编译的产物在output目录下
QIO是生产固件,生产时下载
UA是用户固件,本地调试用原厂工具烧录时使用
UG是升级固件
烧录
烧录的设计非常优雅,用USB线连接开发板,把拨动开关如图设置,就可以用烧录器进行烧录。并且,USB线还可以用来查看模组日志,是不是很beautiful?我们平时在调试的时候,都是用烧录器烧录,然后再焊接串口线看日志,这个小小的模块可以集烧录和日志调试一体化。以前做STM32,我也很不喜欢大大的jlink,总觉得不够优雅,涂鸦的这个设计,确实优雅的一批。
设备有两个串口,一个用于烧录,一个用户查看日志
两个串口:
其中
l A可以作为程序下载使用的
l B通常是用来打印日志的
模块烧录文档详情如下
https://blog.csdn.net/sandwich_iot/article/details/119824194
我这里使用的是原厂的烧录工具,使用原厂烧录工具就不需要烧录授权的那些东西了。
烧录成功后的串口日志
拍一下我控制LED的视频
开机流程
因为底层封装了一些涂鸦的IOT库,我们从事应用是在应用层开发,我们更多关注的是自己的业务逻辑。
但是对开机流程熟悉是必须的,这样更方便我们排查问题。
宠物喂食部分的介绍
作为宠物硬件设备,最重要的内容是控制和安全,控制是为了让宠物设备正常运转,安全当然是为了保护宠物的安全。
下面是基本功能介绍
在后台程序,定时有看门狗在运行,监控系统的正常运转
视频介绍
想体验SDK的可以联系下面涂鸦朋友申请