软件实现流程
1. 传感器数据采集(以 ADC 光敏为例)
c
复制
编辑
uint16_t ReadLightADC(void) {
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));
return ADC_GetConversionValue(ADC1);
}
对 ADC 结果加滑动平均滤波处理,提升稳定性。
2. 通信模块数据上报(以 ESP8266 + UART + AT 指令为例)
c
复制
编辑
void SendToWiFi(const char* json_data) {
UART_SendString("AT+CIPSTART=\"TCP\",\"mqtt.myserver.com\",1883\r\n");
Delay_ms(100);
char cmd[64];
sprintf(cmd, "AT+CIPSEND=%d\r\n", strlen(json_data));
UART_SendString(cmd);
Delay_ms(100);
UART_SendString(json_data);
}
支持 MQTT、HTTP 协议,推荐使用 MQTT + JSON 格式推送数据至云平台。
3. 与手机 APP 通信设计思路
BLE 模式下,采用 UUID + Notification 通道上报数据;
推荐使用开源 App 工具如 nRF Connect / 蓝牙调试助手 进行初期验证;
或使用物联网平台(如 OneNet、阿里云 IoT)进行快速接入。
|