【阿里云】阿里云物联网平台参数设置
最近要使用mqtt进行android设备和esp8266进行通信,出个教程怕自己忘记。
流程
1、在阿里云平台创建产品
2、在阿里云平台创建设备
3、esp8266发送数据至云平台——MQTT格式
4、Android获取云平台数据
5、esp8266和Android通过云平台进行通讯——云流转
1、在阿里云平台创建产品
第一步,点击创建产品
第二步,填写产品名称、点击自定义品类
填写”产品名称“并且修改为自定义品类后,点击确认即为创建成功。
随后出现的界面,点击“返回产品列表”。
注意:标准品类中有很多模板,很多都可以直接拿来用。
第三步,添加默认模块(如果选择标准品类,这个步骤可以跳过)
在产品界面点击“产品名称”或者点击“查看”,进入界面。
进入产品界面后,点击”功能定义“后,再点击”编辑草稿“。
点击”添加自定义功能“
”属性、服务、事件“功能类型三选一,随后输入功能名称、标识符、选择数据类型、选择读写类型即可完成最简单的自定义功能。填写完成后,点击”确定“即可。
在编辑草稿界面,默认模块显示了设备,说明添加成功。
接下来点击左下角的“发布上线”即可。
2、在阿里云平台创建设备
第一步,点击“添加设备”
第二步,添加设备
产品注意选择之前新建的test,设备名称注意填写英文的。
显示未激活,说明没有连接过任何设备
3、esp8266发送数据至云平台
关于passed的获取方法 mqtt工具
查看三元组数据
arduino代码示例:
//---------------------esp8266联网
#include <ESP8266WiFi.h>
const char* ssid = "*********"; //wifi名称
const char* password = "*********"; //wifi密码
//---------------------JS解析
#include <ArduinoJson.h>
StaticJsonDocument<200> jsonBuffer;
//---------------------阿里云部分
#include <PubSubClient.h>
//设备的三元组信息
#define PRODUCT_KEY "*********"
#define DEVICE_NAME "*********"
#define DEVICE_SECRET "*********"
#define REGION_ID "cn-shanghai"
//线上环境域名和端口号,无需修改
#define MQTT_SERVER PRODUCT_KEY ".iot-as-mqtt." REGION_ID ".aliyuncs.com"
#define MQTT_PORT 1883#define CLIENT_ID "*********|securemode=3,signmethod=hmacsha1,timestamp=789|"
#define MQTT_USRNAME DEVICE_NAME "&" PRODUCT_KEY
#define MQTT_PASSWD "*********"#define ALINK_BODY_FORMAT "{\"id\":\"123456\",\"version\":\"1.0\",\"params\":%s,\"method\":\"thing.event.property.set\"}"
#define SET_TOPIC "/sys/" PRODUCT_KEY "/" DEVICE_NAME "/thing/service/property/set"
#define PROP_POST "/sys/" PRODUCT_KEY "/" DEVICE_NAME "/thing/event/property/post"unsigned long lastMs = 0;
WiFiClient espClient; //创建一个tcp client连接
PubSubClient client(espClient); //发送消息的对象
//---------------------void WIFI_Connect();
void MQTT_Check_Connect();
void callback(char* topic, byte* payload, unsigned int length);void setup() {//-------------------------------------------设置串口Serial.begin(115200);//-------------------------------------------连接&初始化WIFI_Connect();SendMessage();MQTT_Check_Connect();
}void loop() {if (millis() - lastMs >= 3000) {lastMs = millis();MQTT_Check_Connect();//上报数据//SendMessage();//delay(5000);}client.loop();
}//-------------------------------------------MQTT回调函数
void callback(char* topic, byte* payload, unsigned int length) {if (strstr(topic, SET_TOPIC)) {Serial.print("Message arrived [");Serial.print(topic); // 打印主题信息Serial.print("] ");for (int i = 0; i < length; i++) {Serial.print((char)payload[i]); // 打印主题内容}Serial.println();// //-----------------------------------JS解析// DeserializationError error = deserializeJson(jsonBuffer, payload);// if (error) {// Serial.print(F("deserializeJson() failed: "));// Serial.println(error.f_str());// return;// }// int LED_FLAG = jsonBuffer["params"][Ali_JSON];// if (LED_FLAG) {// digitalWrite(LED, LOW); // 亮灯// } else {// digitalWrite(LED, HIGH); // 熄灯// }}
}//-------------------------------------------联网
void WIFI_Connect() {WiFi.mode(WIFI_STA);WiFi.begin(ssid, password);Serial.println(" ");while (WiFi.status() != WL_CONNECTED) {delay(1000);Serial.print(".");}Serial.println(" ");Serial.print("WIFI连接成功,IP地址为:");Serial.println(WiFi.localIP());client.setServer(MQTT_SERVER, MQTT_PORT); //设置MQTT服务器Serial.println("MQTT服务器设置成功");client.setCallback(callback); //设置MQTT订阅回调函数Serial.println("MQTT订阅设置成功");
}//-------------------------------------------MQTT连接
void MQTT_Check_Connect() {while (!client.connected()) {client.connect(CLIENT_ID, MQTT_USRNAME, MQTT_PASSWD);}Serial.println("MQTT服务器连接中");
}//-------------------------------------------获取MPU6050数据
void SendMessage() {char param[32] = "";char jsonBuf[128] = "";sprintf(param, "{\"Brightness\":%s}","asdf123");sprintf(jsonBuf, ALINK_BODY_FORMAT, param);client.publish(PROP_POST, jsonBuf);
}
4、Android获取云平台数据
具体看其他文章Android接入阿里云
5、esp8266和Android通过云平台进行通讯
这部分使用消息转发功能,使用“云产品流转”功能,注意因为是两个设备消息流转,所以要创建两个设备。
流程:创建数据源-->创建数据目的-->创建解析器-->关联解析器
创建数据源
填写数据源名称。
编辑数据源,给数据源添加Topic。
创建数据目的
创建解析器
阿里云官方文档,记得启动触发器!
【阿里云】阿里云物联网平台参数设置相关推荐
- 微信小程序 阿里云服务器 非物联网平台自建MQTT代理服务器控制树莓派LED
微信小程序 阿里云服务器 非物联网平台自建MQTT代理服务器控制树莓派LED 本人大三,临近毕业季,日后希望从事物联网和嵌入式相关工作,所以自己构想了一个项目来练手,之前做大创的时候学了一点微信小程序 ...
- 阿里云 IoT 企业物联网平台 MQTT 通讯模式
阿里云 IoT企业物联网平台为不同场景的硬件提供了多种通信模式,例如设备到云,云到设备,设备到设备之间的通信.尽管不同业务场景设备和交互行为差异很大,但是大多数底层数据流通信模型都可以归类为三种MQT ...
- LoRaWAN设备接入阿里云IoT企业物联网平台实战——实践类
传送门:5个视频讲解,30个场景案例汇总 LoRaWAN设备接入阿里云IoT企业物联网平台实战 随着 IoT 物联网的高速发展,低功耗,远距离,抗干扰的低功耗广域网快速崛起,LoRa与NB-IoT就是 ...
- 【IoT 压测】国内云厂商 IoT 物联网平台性能评估
JMeter 是 Apache 基金会旗下一款主流性能测试工具,通过模拟并发来实现对目标服务器性能测试.我们引入支持 MQTT 协议的JMeter 的插件库,即可实现对国内主流云厂商的IoT物联网服务 ...
- 【MQTT】阿里云实现MQTT物联网平台通信
MQTT环境搭建和测试 物联网环境搭建 MQTT.fx使用 物联网环境搭建 1.首先进入阿里云官网注册并登录你的账号. 2.点击控制台. 3.在产品与服务下面搜索物联网平台 4.点击公共实例 5.进去 ...
- ESP32上手笔记 | 04 -通过MQTT对接腾讯云IoT Explorer物联网平台(PubSubClient)
一.WIFI库和ArduinoJson库 阅读文章:ESP32上手笔记 | 03 -通过HTTP获取天气信息(WiFi+HTTPClient+ArduinoJson). 二.PubSubClient库 ...
- 天纵智能软件快速开发平台参数设置插件
定义 系统参数设置插件用于设置系统全局变量,对应一张表的一条记录.一般一个业务系统都会有一个系统基础设置模块,对整个系统一些操作选项或配置进行设置. 界面样式:可以对要设置的参数进行分组,每个组用一个 ...
- 基于阿里云物联网平台,我们这样实现简易出入监控
本文通过一个简单实例,主要介绍了如何使用树莓派快速接入阿里云iot platform,并实现了一个简易的监控人员出入并拍照上送钉钉群的场景 场景 在公司大门入口处布点树莓派和红外感应,实现出入口人员出 ...
- 基于阿里云物联网平台实现的简易出入监控
本文通过一个简单实例,主要介绍了如何使用树莓派快速接入阿里云iot platform,并实现了一个简易的监控人员出入并拍照上送钉钉群的场景 场景 在公司大门入口处布点树莓派和红外感应,实现出入口人员出 ...
最新文章
- 网络端口的分类和作用
- 剑桥大学国际学生事务部网站
- The ultimate end-to-end tutorial to create and deploy a fully decentralized Dapp in ethereum
- 数据结构(哈夫曼树,哈夫曼编码)入门篇,JAVA实现
- Dubbo在互金行业的应用
- python中range 函数_Python range()函数用法图文详解
- OstrichNet 简易统计信息收集工具
- request.getRequestURL()和request.getRequestURI()区别
- 2019小程序没必要做了_2019年什么行业适合做小程序
- VirtualBox中增强工具的安装
- CentOS 6.7安装gcc4.8.2
- Java中使用Google zxing生成二维码
- 来了 | Python 官方发布整套中文PDF文档(共27本)
- C语言判断一个数是不是素数
- 杀戮间插件入坑指南(UT2004)
- You called this URL via POST, but the URL doesn‘t end in a slash and you hav
- ctrl+v粘贴快捷键突然不能使用的原因及解决方案
- Eclipse中文语言包安装和设置中文Doc
- VUE Object.assign()的使用
- Unit Conversion 常用单位转换