单片机连接新版OneNET云平台数据APP端查看控制说明
单片机连接新版OneNET云平台数据APP端查看控制说明。
·
单片机连接新版OneNET云平台数据APP端查看控制说明
1、功能介绍
- 1、使用stm32单片机采集温湿度
- 2、stm32单片机将采集的温湿度数据上传onenet物联网云平台
- 3、使用手机app查看onenet云平台数据
- 4、使用app控制LED灯的打开与关闭
2、教程
- 视频教程:https://www.bilibili.com/video/BV1gb42177uP
- 代码中的产品id,access_key,user_id等参数的获取,可查看上述视频。
2.1、电路图设计
- 本设计使用stm32单片机最小系统+dht11温湿度传感器+esp8266 wifi模块构成
- 电路原理图如下图所示:
2.2、STM32单片机程序说明
2.3、wifi信息配置
- 打开esp8266.c,修改 ESP8266_WIFI_INFO 宏定义
/*
magic为wifi名
123456789为wifi密码
修改为你的wifi信息即可
*/
#define ESP8266_WIFI_INFO "AT+CWJAP=\"magic\",\"123456789\"\r\n"
2.4、修改产品、设备信息
- 打开onenet.c,需要修改以下参数
- 产品ID
- 产品access key
- 设备名
#define PROID "Yqy9pQ5Zhm" //产品ID
#define ACCESS_KEY "ZfGhQcmBpx0j2RNx3z8rny9hNaOLK1xxxxxxxx" //产品access key
#define DEVICE_NAME "test1"
2.5、向onenet云平台上传数据
- 修改 OneNet_FillBuf 函数中的参数
unsigned char OneNet_FillBuf(char *buf)
{
char text[48];
memset(text, 0, sizeof(text));
strcpy(buf, "{\"id\":\"123\",\"params\":{");
memset(text, 0, sizeof(text));
sprintf(text, "\"temp\":{\"value\":%f},", (float)temperature);
strcat(buf, text);
memset(text, 0, sizeof(text));
sprintf(text, "\"humi\":{\"value\":%f},", (float)humidity);
strcat(buf, text);
memset(text, 0, sizeof(text));
sprintf(text, "\"switchs\":{\"value\":%s}", led_info.Led_Status? "true" : "false");
strcat(buf, text);
strcat(buf, "}}");
return strlen(buf);
}
2.3、Android Studio 手机APP程序说明
2.3.1、手机app连接onenet云平台参数修改
- 找到 MainActivity 函数,修改该函数中以下参数
- Device_Name
- Pe_ID
- user_id
- user_accesskey
private String Device_Name="test1"; //设备名称
private String Pe_ID="Yqy9pQ5Zhm"; //产品ID
private String path_head = "https://iot-api.heclouds.com/thingmodel/query-device-property?product_id=";
private String path_end = "&device_name=";
private String user_id="80508"; //用户id
private String user_accesskey="mYpdlAVNyfz4LOF7Qfv5N4PdFFJwMxxxxxxxxxxxx"; //用户accesskey
2.3.2、获取onenet云平台参数说明
- 找到 DealJsonData 函数,将该函数内的参数修改为你将要获取的参数标识符
void DealJsonData(String JSON) throws JSONException { /* 解析接收到的json数据 */
JSONObject jsonObject = new JSONObject(JSON);
JSONArray data = jsonObject.optJSONArray("data");/* 获取JSON的数组结构 */
for (int i = 0; i < data.length(); i++) {
JSONObject value = data.getJSONObject(i);
if(value.optString("identifier").equals("temp")) { /* 查找temp参数 */
temp_value = value.optString("value");
}
if(value.optString("identifier").equals("humi")) {
dh_value = value.optString("value");
}
if(value.optString("identifier").equals("switchs")) {
switchs_value = value.optBoolean("value");
}
}
}
}
3、实物图
4、资料链接

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)