云平台的搭建
华为云平台开发中心
添加真实设备
标识码是NB-IOT的唯一标识,可以参考调测NB-IoT模组
创建一个工程,设置波特率为9600,在发送区输入“AT+CGSN=1”,加回车换行,点击“发送”,接收区返回的值“+CGSN:”后面的86开头数字为IMEI号;
(开发板拨到PC)
确定之后即可创建完成。
把开关拨到MCU(之前拨到PC),然后按复位键,等待连接上云平台。
如果之前将相关代码烧录进开发板,那么可以在历史数据看到相关数据
出现0的原因是我之前没有把扩展版插上,插上就可以获取到数据了。(关于几秒传一次还得看相关代码才知道)
智慧路灯相关说明
指令 | 功能代码 | 注释 |
---|---|---|
通电 | 0000_0001 | 等待测量指令 |
连续H分辨率模式 | 0001_0000 | 在1lux分辨率下开始测量,测量时间一般为120ms |
连续H分辨率模式2 | 0001_0001 | 在0.5lux分辨率下开始测量,测量时间一般为120ms |
连续L分辨率模式 | 0001_0011 | 在4lux分辨率下开始测量,测量时间一般为16ms |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24/*************************************************************** * 函数名称: 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,只需要通过操作该地址那么就能够读取到数据。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19/*************************************************************** * 函数名称: 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); }
数据采集
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22/* 数据采集函数 */ 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内容请搜索靠谱客的其他文章。
发表评论 取消回复