野牛NBIOT 环境监测项目---设备端篇(STM32L4+BC35)(五)

本章节主要介绍《01-基于NBIOT技术的环境监测与控制》工程例子
注意,该例程与野牛NBIOT 环境监测项目—华为OceanConnect云平台配置(四)中的profile是配套的,如果profile的相关数据格式发生变化,这里需要同步调整代码,初学的同学们可以先把整个例程跑通,再一点一点消化,按照自己的项目需求修改Profile以及单片机源码。
1、例程简介
本单片机例程STM32L4通过SHT20(I2C接口)传感器采集温湿度、光敏电阻(ADC)获取环境光照、OLED(SPI接口)显示当前状态、BC35 NBIOT模块(UART接口)上报/接收数据,实现对整个环境参数的周期性上报。
2、硬件设计
在这里插入图片描述在这里插入图片描述
3、软件设计

  1. 代码框架
    针对各个模块,提供不同的接口,比如NBIOT BC35/95模块,分为nb_bc95.c、nb_at.c两个板块,nb_at.c主要提供NB模块的AT指令底层,包括AT命令收发、UART驱动代码;nb_bc95.c提供各个AT指令接口,如获取信号强度、获取IMEI号、CoAP发送数据等,同时解析AT指令的返回值,截取有用信息返回上一层;用户只要调用nb_bc95.c中的各种接口即可。
  2. NBIOT BC35/95代码(片段)
uint8_t NBBCxx_getNBAND( void )
{uint8_t res = 0;res = NBAT_sendCmd( "AT+NBAND?\r\n", "OK", 100, atRxBuf );if ( res == 0 ){printf( "[INFO]GETNBAND RESPONSE SUCCESS\r\n" );printf( "[INFO]RESPONSE IS %s\r\n", atRxBuf );}return (res);
}uint8_t NBBCxx_getCSQ( u8* csq )
{uint8_t res = 0;res = NBAT_sendCmd( "AT+CSQ\r\n", "OK", 100, atRxBuf );if ( res == 0 ){/*获取CSQ */uint8_t csqTmp = (atRxBuf[7] - 0x30) * 10


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部