最近要使用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。

创建数据目的

创建解析器

 阿里云官方文档,记得启动触发器!

【阿里云】阿里云物联网平台参数设置相关推荐

  1. 微信小程序 阿里云服务器 非物联网平台自建MQTT代理服务器控制树莓派LED

    微信小程序 阿里云服务器 非物联网平台自建MQTT代理服务器控制树莓派LED 本人大三,临近毕业季,日后希望从事物联网和嵌入式相关工作,所以自己构想了一个项目来练手,之前做大创的时候学了一点微信小程序 ...

  2. 阿里云 IoT 企业物联网平台 MQTT 通讯模式

    阿里云 IoT企业物联网平台为不同场景的硬件提供了多种通信模式,例如设备到云,云到设备,设备到设备之间的通信.尽管不同业务场景设备和交互行为差异很大,但是大多数底层数据流通信模型都可以归类为三种MQT ...

  3. LoRaWAN设备接入阿里云IoT企业物联网平台实战——实践类

    传送门:5个视频讲解,30个场景案例汇总 LoRaWAN设备接入阿里云IoT企业物联网平台实战 随着 IoT 物联网的高速发展,低功耗,远距离,抗干扰的低功耗广域网快速崛起,LoRa与NB-IoT就是 ...

  4. 【IoT 压测】国内云厂商 IoT 物联网平台性能评估

    JMeter 是 Apache 基金会旗下一款主流性能测试工具,通过模拟并发来实现对目标服务器性能测试.我们引入支持 MQTT 协议的JMeter 的插件库,即可实现对国内主流云厂商的IoT物联网服务 ...

  5. 【MQTT】阿里云实现MQTT物联网平台通信

    MQTT环境搭建和测试 物联网环境搭建 MQTT.fx使用 物联网环境搭建 1.首先进入阿里云官网注册并登录你的账号. 2.点击控制台. 3.在产品与服务下面搜索物联网平台 4.点击公共实例 5.进去 ...

  6. ESP32上手笔记 | 04 -通过MQTT对接腾讯云IoT Explorer物联网平台(PubSubClient)

    一.WIFI库和ArduinoJson库 阅读文章:ESP32上手笔记 | 03 -通过HTTP获取天气信息(WiFi+HTTPClient+ArduinoJson). 二.PubSubClient库 ...

  7. 天纵智能软件快速开发平台参数设置插件

    定义 系统参数设置插件用于设置系统全局变量,对应一张表的一条记录.一般一个业务系统都会有一个系统基础设置模块,对整个系统一些操作选项或配置进行设置. 界面样式:可以对要设置的参数进行分组,每个组用一个 ...

  8. 基于阿里云物联网平台,我们这样实现简易出入监控

    本文通过一个简单实例,主要介绍了如何使用树莓派快速接入阿里云iot platform,并实现了一个简易的监控人员出入并拍照上送钉钉群的场景 场景 在公司大门入口处布点树莓派和红外感应,实现出入口人员出 ...

  9. 基于阿里云物联网平台实现的简易出入监控

    本文通过一个简单实例,主要介绍了如何使用树莓派快速接入阿里云iot platform,并实现了一个简易的监控人员出入并拍照上送钉钉群的场景 场景 在公司大门入口处布点树莓派和红外感应,实现出入口人员出 ...

最新文章

  1. 网络端口的分类和作用
  2. 剑桥大学国际学生事务部网站
  3. The ultimate end-to-end tutorial to create and deploy a fully decentralized Dapp in ethereum
  4. 数据结构(哈夫曼树,哈夫曼编码)入门篇,JAVA实现
  5. Dubbo在互金行业的应用
  6. python中range 函数_Python range()函数用法图文详解
  7. OstrichNet 简易统计信息收集工具
  8. request.getRequestURL()和request.getRequestURI()区别
  9. 2019小程序没必要做了_2019年什么行业适合做小程序
  10. VirtualBox中增强工具的安装
  11. CentOS 6.7安装gcc4.8.2
  12. Java中使用Google zxing生成二维码
  13. 来了 | Python 官方发布整套中文PDF文档(共27本)
  14. C语言判断一个数是不是素数
  15. 杀戮间插件入坑指南(UT2004)
  16. You called this URL via POST, but the URL doesn‘t end in a slash and you hav
  17. ctrl+v粘贴快捷键突然不能使用的原因及解决方案
  18. Eclipse中文语言包安装和设置中文Doc
  19. VUE Object.assign()的使用
  20. Unit Conversion 常用单位转换

热门文章

  1. 上海车展直击:“10万级科技头等舱” AION Y上市
  2. 这个用了24年的Flash Player,要被彻底删除了……
  3. 高通子系统subsystem基础知识
  4. Putty连接登录Linux .ppk
  5. 看图猜成语小程序源码+详细搭建教程
  6. linux中用长列表格式查看,Linux查看文件列表命令
  7. 质数分解matlab程序
  8. 网件R6400内网穿透最简单的实现方式
  9. CentOS7 安装Chrome
  10. java代码编写的30条规范