单片机连接新版OneNET云平台数据APP端查看控制说明

1、功能介绍

  • 1、使用stm32单片机采集温湿度
  • 2、stm32单片机将采集的温湿度数据上传onenet物联网云平台
  • 3、使用手机app查看onenet云平台数据
  • 4、使用app控制LED灯的打开与关闭

2、教程

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、资料链接

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式基地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值