一、任务要求
基于温湿度传感节点代码,开发Lora光敏节点应用程序,要求采集数据,当收到网关读取传感器指令后,将传感数据响应网关。
(1)修改设备地址,定义传感变量。
//定义网络编号和设备地址
#define MY_NET_ID 0xD0C2 //网络ID
#define MY_ADDR 0x02 //设备地址
/*全局变量*/
uint16_t LightLux = 200; //光照传感器采集到的光照度,单位:lux
(2)响应发送代码,在字符串格式化输出时,将LightLux传感器标识名加入。
uint8_t RspBuf[BUFFER_SIZE]= {0};
memset(RspBuf, '\0', BUFFER_SIZE);
RspBuf[0]=START_HEAD;
RspBuf[1]=CMD_READ;
RspBuf[2]=(uint8_t)(MY_NET_ID>>8);
RspBuf[3]=(uint8_t)MY_NET_ID;
RspBuf[4]=MY_ADDR;
RspBuf[5]=ACK_OK;
sprintf((char *)(RspBuf+7),"LightLux(lux):%d", LightLux);//数据域,sprintf中,两个“%”表示输出“%”。ADC采集后将值传递LightLux发送。
RspBuf[6]=strlen((const char *)(RspBuf+7))+1;//数据域长度
RspBuf[6+RspBu