更新UART-MCP固件
这里还是烧录2.4版本的固件,虽说还有一些问题,暂时还能满足简单的开关需求。
2.4版本的固件
首先下载并烧录固件,具体过程参看安信可操作说明。


出现绿色完成提示,表示烧录成功。
我们通过串口和电脑连接进行简单的设置。
baudrate-set {"role":"MCU","msgType":"status","status":9600}吧默认的115200波特率修改成9600。
连接STC15W408AS单片机
我这里采用手边最便宜的STC15W408AS单片机来实现控制io口的led。

固件内置的MCP控制可以实现对灯的开关控制,串口输出信息:
[14:30:12.491]收←◆{"role":"AI board","LED":true,"msgType":"status","status":"OK"}
[14:30:36.679]收←◆{"role":"AI board","LED":false,"msgType":"status","status":"OK"}
我们解析串口数据,实现对单片机io口的开关控制。
void checkRecBuff(BYTE *Buff,BYTE len)
{
char *p=NULL;
UART1_SendString(Buff);
p = strstr(Buff,"\"LED\":true");
if(p)
{
LED = 1;
}else {
p = strstr(Buff,"\"LED\":false");
LED = 0;
}
}
完整的单片机代码我附在最后面。实现的效果如下:
总结
通过UART-MCP可以实现简单的灯开关操作,最新版的固件已经可以支持更多MCP交互,大家有时间可以深入探索。我这里用的单片机资源受限。从这几天的试用有几点汇集如下:
1、模组的3.3V供电电流要足够,如果采用常用的1117-3.3,容易产生不停重启故障,电流不够。
2、目前2.4和几个测试的固件版本都存在一定概率的进不去配网模式,就是刷了固件后,能正常唤醒,但是进不去配网模式。只有重新加电重试。
3、这几个版本的固件也同时遇到了唤醒后,在一秒后就进入到休眠状态。特别是通过wake-up {"role":"MCU","msgType":"wake-up","wake-up":}唤醒后,容易复现。采用指令唤醒后,极短时间内就休眠了,不管后续是语音唤醒还是指令唤醒。(2.4版本的固件对指令唤醒好像不支持)
附件:stc15w408as单片机代码.rar