作品介绍:
宠物喂食器基于涂鸦模组联网上云+STM32主控,最终用户可以用手机APP控制/语音控制,主要功能是喂食自动化。
产品型号:TYDE5-VWXR2-MCU-1
产品型号:TYDE5-H-BRIDGE-1
产品型号:TYDE5-POWER-DC_DC-1
主要框架:
开发流程:
第一阶段:涂鸦模组
1、登录:https://auth.tuya.com/register?_source=7b811ac2e872ccb62376ba4dfe0568eb 注册Iot账号
2、点击创建产品,找到【小家电】-【宠物喂食器】,选择【wifi】通信协议,填写产品名称,创建产品。
3、填写表单:https://survey.tuyacn.com/survey/q8ywvbqc
4、根据《三明治开发套件领取流程》:https://shimo.im/docs/qCgdXjVPYqjdDWj3/ 提交开发计划书
快递到手以后 一共是3个板子 可以堆积木一样组合,正所谓三明治
研发只需要使用WIFI+语音的板子两外2个是电源相关的 暂时可以放起来
直接PC外接TTL串口是可以供电work的
复位板子 可以在串口用115200看到LOG
注意:这里的LOG是模板自身的,随便用串口助手即可,也可以不看。
现在需要借助涂鸦提供的 涂鸦debug助手 模拟MCU 来和板子通讯
需要把TXRX拔下来 插到串口UART1 方可
如上图 供电+串口 就可以愉快玩耍了!
这个板子能干啥?
这么说吧
以前M26这种联网模块----------------只提供了TCP/IP的通道 开发者可以自己基于TCP/IP完成联网在移植MQTT协议在对接业务协议
后面出现了BC20这种联网模块-----它内部集成了MQTT协议,抛出AT指令供使用 开发者上手直接去对接业务协议
现在这个模组----------------------------它已经完成了TCP/IP//MQTT/业务协议 开发者完成无感就连云了!!
那么有个问题:业务协议总是人为约定的 需要修修改改的 怎么能封装在内部呢 涂鸦怎么解决的?
涂鸦给的生产工具是比较先进比较全家桶的
修改产品功能的时候会修改这个协议 会重新生产SDK和供PC工具调试的JS文件
这样就可以解决问题了。
注意:修改以后需要对设备再次配网 。
提示:配网 本地WIFI是5G的 笔记本用360免费WIFI 其实不如WIN1O自带的WIFI热点!
TY360WIFI
TY360WIFI
此时手机接入该WIFI PC助手发送配网指令
板子SW5按一下 LED快速闪烁
官方参考链接:https://developer.tuya.com/cn/docs/iot/device-development/embedded-software-development/mcu-development-access/access-mode-simmulator/module-debugging-assistant-instruction?id=K9hs0cj3lf0au
可以结合LOG看到协议执行的流程
第二阶段:STM32主控
利用cubeMX建立一个简单的工程 只需要如下几点
1---需要一个UART和模组对接 因为模组的代码只有2句话 就是一个串口搞定
2---突然觉得没有必要了 因为一个串口就够了 别的接口都是跟着产品走的 我一个IO作为LED的控制 一个tim1高级定时器PA8做为电机的脉冲
SDK主要就是串口编程
第三阶段:STM32主控+涂鸦模组
因为前面PC已经模拟STM32完成了 这里就是真正MCU上场了
测试一下 成功
第四阶段:电机控制
控制LED比较容易 控制步进电机其实也不难(主要我用的简单)
正是因为电机比较复杂比较专业 所以市场上出现了电机驱动器
我们一般所谓控制电机 其实是控制电机驱动器 接线上是MCU拉3根线和电机驱动器对接
1----IO控制方向 2---IO控制开关 3----脉冲控制电机速度
电机驱动器的接线 A上面三个线对接主控 B供电两根线 C连接电机的四根线
接好后 控制起来就比较简单了
开关打开 然后发脉冲就可以驱动电机。
高级定时器的比较输出功能 设定一个比较值 向上计数 当CNT=设定的比较值发生中断 翻转电平
同时在中断中修改下一次的比较值 如此一直循环