我是靠谱客的博主 爱笑服饰,最近开发中收集的这篇文章主要介绍基于小熊派的NB-IOT智慧路灯云平台的搭建智慧路灯相关说明部分NB-IOT AT指令(BC95)参考文档,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

云平台的搭建

华为云平台开发中心
在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


添加真实设备

在这里插入图片描述
标识码是NB-IOT的唯一标识,可以参考调测NB-IoT模组
创建一个工程,设置波特率为9600,在发送区输入“AT+CGSN=1”,加回车换行,点击“发送”,接收区返回的值“+CGSN:”后面的86开头数字为IMEI号;
(开发板拨到PC)
在这里插入图片描述
确定之后即可创建完成。

在这里插入图片描述
把开关拨到MCU(之前拨到PC),然后按复位键,等待连接上云平台。

在这里插入图片描述
如果之前将相关代码烧录进开发板,那么可以在历史数据看到相关数据

在这里插入图片描述
出现0的原因是我之前没有把扩展版插上,插上就可以获取到数据了。(关于几秒传一次还得看相关代码才知道)

在这里插入图片描述




智慧路灯相关说明

指令功能代码注释
通电0000_0001等待测量指令
连续H分辨率模式0001_0000在1lux分辨率下开始测量,测量时间一般为120ms
连续H分辨率模式20001_0001在0.5lux分辨率下开始测量,测量时间一般为120ms
连续L分辨率模式0001_0011在4lux分辨率下开始测量,测量时间一般为16ms
/***************************************************************
* 函数名称: Init_BH1750
* 说    明: 写命令初始化BH1750
* 参    数: 无
* 返 回 值: 无
***************************************************************/
void Init_BH1750(void)
{
	uint8_t t_Data = 0x01;
  //I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout
	HAL_I2C_Master_Transmit(&hi2c1,BH1750_Addr,&t_Data,1,0xff);
}
/***************************************************************
* 函数名称: Start_BH1750
* 说    明: 启动BH1750
* 参    数: 无
* 返 回 值: 无
***************************************************************/
void Start_BH1750(void)
{
	uint8_t t_Data = 0x10;
	HAL_I2C_Master_Transmit(&hi2c1,BH1750_Addr,&t_Data,1,0xff); 
}

灯的初始化也就是GPIO口的初始化,只要知道对应的GPIO口,那么就能够实现了。

在这里插入图片描述
由原理图可以知道,LED灯(路灯)连接在PB9上,那么只要初始化PB9即可。

读取数据
在这里插入图片描述
如果ADDR<0.3VCC,那么读操作是0x47,只需要通过操作该地址那么就能够读取到数据。

/***************************************************************
* 函数名称: E53_SC1_Read_Data
* 说    明: 测量光照强度
* 参    数: 无
* 返 回 值: 无
***************************************************************/
void E53_SC1_Read_Data(void)
{
	//启动BH1750
	Start_BH1750();
	HAL_Delay(180);
  //BH1750_Addr = 0x46
	HAL_I2C_Master_Receive(&hi2c1, BH1750_Addr+1,BUF,2,0xff); 
	result=BUF[0];              //读取数据
	result=(result<<8)+BUF[1];  //合成数据,即光照数据16位表示
	E53_SC1_Data.Lux=(float)(result/1.2);
  
}



数据采集

/*
    数据采集函数
*/
VOID app_data_report_collection(VOID)
{
    UINT32 uwRet = LOS_OK;
    //初始化E53_SC1
    Init_E53_SC1();
    while (1)
    {
        //读取数据
        E53_SC1_Read_Data();
        printf("rn******************************Lux Value is  %drn", (int)E53_SC1_Data.Lux);
        LCD_ShowString(10, 200, 200, 16, 16, "Lux Value is:");
        LCD_ShowNum(140, 200, (int)E53_SC1_Data.Lux, 5, 16);
        sprintf(t_report_buf + 2, "%04X", (int)E53_SC1_Data.Lux);
        uwRet = LOS_TaskDelay(2000);
        if (uwRet != LOS_OK)
            return;
    }
}



光照值的计算

在这里插入图片描述




部分NB-IOT AT指令(BC95)

AT+CIMI //检查SIM卡是否读卡成功

在这里插入图片描述
AT+CSQ //第一个数为99说明还没有信号,模块在搜信号,第二个数一直是99
在这里插入图片描述
AT+CGATT?查看入网状态
在这里插入图片描述



刚开始买小熊派开发板,有一些问题,比如如何使用WIFI和2G模块等,先挖个坑,过几天研究透了再补上。




参考文档

BH1750—GY30程序 环境光强度传感器程序

Huawei LiteOS助力设备快速入云

物联网IoT终端设备如何选择接入协议——(TCP、UDP、MQTT、CoAP、LwM2M哪个更适合?)

BH1710_BH1750应用手册V1.0

NBIOT BC28 AT指令

NB-IoT移远BC95使用小结

最后

以上就是爱笑服饰为你收集整理的基于小熊派的NB-IOT智慧路灯云平台的搭建智慧路灯相关说明部分NB-IOT AT指令(BC95)参考文档的全部内容,希望文章能够帮你解决基于小熊派的NB-IOT智慧路灯云平台的搭建智慧路灯相关说明部分NB-IOT AT指令(BC95)参考文档所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部