[分享] 【ATmega4809 Curiosity Nano测评】Wifi控灯(IoT Led后篇)

Ansersion   2019-10-30 22:31 楼主

1. 简介

在前篇中,按照IoT设备的系统框图,我们完成了除通讯协议与通讯模块以外的IoT LED的功能(下图绿色部分),实现了一个可以用按键和UART控制的小型“照明设备”。本篇将结合Wifi模块和通讯协议实现IoT功能。

image.png

 

2. 通讯协议与通讯模块

通讯协议使用的是BP-SBP-S协议是BP协议的串口(Serial)辅助协议,旨在降低BP协议函数库对芯片的负载,从而使像C51、ATTiny之类的8位芯片也有能力实现。

通讯模块使用的是蜂信的BC2310BC2310是基于乐鑫官方WIFI模块ESP-WROOM-02(搭载ESP8266EX)的一款最小系统开发板,使用原生SDK开发,旨在充分展示和利用ESP8266EX的自身硬件资源。

 

3. 系统设计

基于前篇的内容,本文将在ATMega4809中集成BPS协议,然后在BC2310中烧录官方例程,激活信号0xE002作为LED信号。关于BC2310的程序部分,此处不做赘述,具体参考蜂信官网。以下我们将详述ATMega4809的代码部分。

image.png

4. 软件配置

(1)在前篇中MCC配置的基础上,使能TC0的通道1中断,该中断主要用于实现软件定时器。

image.png

(2)移植libbps函数库,定义宏BPS_CPU8支持8位CPU,定义宏BPS_USE_STD使用标准库使BPS库更高效。

image.png

(3)softTimer_XXX为软件定时器API,支持最多3个定时器,本工程只用了1个,其超时回调函数为

void bpsTimeoutCb(void *argv, BPS_UINT16 argc)

{

    setNetState(BPS_FALSE);

}

用于记录BPS通信超时。软件定时器内容主要参考自

https://blog.csdn.net/qq_26904271/article/details/83833168。

 

5. 结果演示

APP可以远程控制LED,ATMega4809按键信息也可以同步上传到APP。

最后附上工程压缩包。

 

繁絮至此,但求明细。

 

 

    remoteLed.X.zip (2019-10-30 22:31 上传)

    542.09 KB, 下载次数: 1

    IoTLed工程

回复评论 (2)

可以可以,花式点灯,越点越有姿势。

默认摸鱼,再摸鱼。2022、9、28
点赞  2019-10-31 09:03
引用: freebsder 发表于 2019-10-31 09:03 可以可以,花式点灯,越点越有姿势。

见笑见笑,捣腾着玩罢了

点赞  2019-10-31 21:19
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复