ESA2GJK1DH1K基础篇: 关于各大物联网平台的MQTT通信
前言
这节稍微唠叨点
其实我很长时间都没有出怎么连接现成的物联网平台的教程,
一直写的是教给大家自己搭建服务器,主要原因是因为我感觉连接现有的学不到东西.
现在出这种教程,是因为发现确实很多人喜欢用.
所以我也推出详细的教程.
其实并没有大家想象的多么的高大上.
唠叨
说一下,大家连接我的MQTT服务器的时候需要
ClientID: 自己随意设置(我的程序是如果用的是Wi-Fi:则使用其MAC地址;如果用的GPRS:则使用其IMEI)
用户名: 我安装MQTT的时候设置的用户名是 yang
密码: 我安装QMTT的时候设置的密码是 11223344
IP地址: 我服务器的IP地址是47.92.31.46 或者域名 mnif.cn
端口号: 我的MQTT服务器的各种连接方式的端口
TCP: mnifdv.cn:1883
SSL: mnif.cn: 8883
WS: mnif.cn:8083
WSS mnif.cn:8084
微信小程序:wss://mnif.cn/mqtt
然后是订阅和发布的主题(自己随意设置)
首先大家需要知道MQTT软件支持动态的设置上面那些,可以添加多个.
如果你也想做个像阿里云,OneNet,机智云等物联网平台
那么就启动MQTT的数据库插件,然后动态的填写和删除上面那些信息
记住哈,用户名,密码,订阅和发布的主题可以设置很多个
可以让每个用户都不一样.
其实要连接各大物联网平台平台再怎么变也离不开上面那些.但是呢!大家想一件事情
如果仅仅像我似的安装个MQTT,然后告诉大家上面那些信息,然后开放性的提供给大家
问题1. ClientID 或者 设置每个用户连接的MQTT IP地址不一样
1.1 ClientID
本身MQTT服务器就规定每个设备的ClientID必须不能一样
如果一样 MQTT服务器就会把相同的踢掉.
如果有用户定义的一样,岂不是造成 设备经常掉线
所以有的自行给你规定了ClientID
1.2 设置连接的IP地址不一样
IP地址不一样便使得每个用户通信不受干扰
问题2. 订阅和发布的主题
1.如果出现一个用户和另一个用户的订阅和发布的主题一样,那么消息就混了
2.主题一般都是 固定/自己可以改变
大家知不知道如果订阅 固定/# 便可监听所有设备的数据
问题3. 为什么可以在平台看到数据
各大物联网平台本身就是网页,网页也可以连接MQTT呀!
只要网页上设置好订阅的主题是你发布的主题,不就完事了!
想知道网页实现MQTT:升级篇正好安装了Web服务器,教给大家网页实现MQTT控制设备正合适.

问题4. 暂无
结语
然后就是在平台上按照规定的流程去操作,然后就会获取到上面的那些信息,
或者说给你一些其它信息告诉你这几个信息如何组合成上面的ClientID,用户名,密码,订阅发布的主题
然后就可以通信了.
我出的教程要保证大家: 不仅要知其然,还要知其所以然!
透彻的知晓整个过程是每一个做项目人员必须的,我这个人最讨厌: 糊弄
要是对自己做的东西不够全部知晓,出了问题就是麻烦的事情了!!!!!!
ESA2GJK1DH1K基础篇: 关于各大物联网平台的MQTT通信的更多相关文章
- ESA2GJK1DH1K基础篇: STM32+GPRS(AT指令版)实现MQTT源码讲解(支持Air202,SIM800)
前言 注: 本程序发送心跳包,发送温湿度,返回控制数据这三个发送是单独的,有可能凑到一起发. 由于本身程序就是复杂性的程序,所以这节程序没有使用中断发送,没有使用环形队列发送,为了避免多条消息可能凑到 ...
- ESA2GJK1DH1K基础篇: STM32+Wi-Fi(AT指令版)实现MQTT源码讲解
前言 注: 本程序发送心跳包,发送温湿度,返回控制数据这三个发送是单独的,有可能凑到一起发. 由于本身程序就是复杂性的程序,所以这节程序没有使用中断发送,没有使用环形队列发送,为了避免多条消息可能凑到 ...
- ESA2GJK1DH1K基础篇: 阿里云物联网平台: 测试MQTT连接阿里云物联网平台
前言 这节看一下在阿里云上实现MQTT通信是个怎样的流程 看了很多网上的教程,感觉讲的迷迷糊糊.... 其实感觉他们是对MQTT不够透彻,所以写的文章就是个比着葫芦画瓢的感觉 在我面前这东西就是玩具. ...
- ESA2GJK1DH1K基础篇: 移植官方MQTT包,让TCP实现MQTT功能(以GPRS模块为例)
前言 这节代码将在这一节的基础上实现 拷贝第一节测试里面的MQTT文件夹到当前工程 当前工程建个MQTT的文件夹,用于存放那个MQTT文件夹里面的内容 添加文件到里面 注意:::: 实际源码拷贝位置 ...
- ESA2GJK1DH1K基础篇: Android实现MQTT封装源码使用说明
说明 这一节说明一下基础篇APP源码里面MyMqttCilent.java这个文件的使用 新建工程 安装MQTT的jar包 implementation 'org.eclipse.paho:org.e ...
- ESA2GJK1DH1K基础篇: 来吧! 彻底了解一下MQTT
首先你需要知道MQTT并不是什么高大上的事物,它只是一个软件,对就是一个软件.其实就是个TCP服务器 一,既然是TCP服务器,这个TCP服务器和咱平时做的有什么不一样呢. 首先,平时的时候咱做的TCP ...
- ESA2GJK1DH1K基础篇: 阿里云物联网平台: 云平台显示单片机采集的温湿度数据,控制设备继电器(基于GPRS模块,AT指令TCP_MQTT通信)
实现的功能 上一节是使用的Wi-Fi模块连接的阿里云平台,这节呢咱用GPRS连接. 阿里云的设备配置还是按照上一节的,有个温度,有个湿度. 测试 一,打开单片机程序 二,根据自己的修改,然后下载进去单 ...
- ESA2GJK1DH1K基础篇: 阿里云物联网平台: 测试云平台显示MQTT客户端发过来的消息
现在这里空空如也 咱自定义的也没有数据 现在就是传上来温度数据,让这里显示温度数据 你发布的主题 /sys/a1m7er1nJbQ/Mqtt/thing/event/property/post 发布 ...
- ESA2GJK1DH1K基础篇: 阿里云物联网平台: 测试MQTT客户端接收云平台的数据
前言 有时候想想可能直接连接现成的感觉比较方便吧! 这种东西考验的是你底子是否够好,是否有很强的学习能力 因为咱就是看文档,理解文档.用文档. 测这节会感觉:这是啥呀...下一节更精彩,但是必须看这节 ...
随机推荐
- SQL --------------- between 和< >
between值 and 值 运算符用于选取介于两个值之间的数据范围内的值,常与where一块使用between运算符选择给定范围内的值.值可以是数字,文本或日期. 使用between的时候会与and ...
- c#的IDisposable
尽量在using中使用非托管资源 1.实现Dispose方法 2.提取一个受保护的Dispose虚方法,在该方法中实现具体的释放资源的逻辑 3.添加析构函数 4.添加一个私有的bool类型的字段,作为 ...
- ReentrantReadWriteLock可重入,锁升级,锁降级
public class ReentrantReadWriteLockTest { public static void main(String[] args) throws InterruptedE ...
- 利用开源项目 FFMpegSharp 实现音视频提取、转码、抓图等操作
开源项目地址:https://github.com/vladjerca/FFMpegSharp 首先需要在 web.config 或 app.config 中配置 <appSettings> ...
- centos7.x下环境搭建(一)--yum方式安装mysql5.7
前两天因为数据库被黑客攻击,导致数据被删除,数据库被损坏,系统重新安装了一下,所以环境也需要重新再搭一遍,包括mysql.nodejs.git.nginx和redis的安装.由于之前安装的mysql安 ...
- 目标检测算法之R-CNN和SPPNet原理
一.R-CNN的原理 R-CNN的全称是Region-CNN,它可以说是第一个将深度学习应用到目标检测上的算法.后面将要学习的Fast R-CNN.Faster R-CNN全部都是建立在R-CNN基础 ...
- 脱离 WebView 的通信 JavaScriptCore
JavascriptCore JavascriptCore 一直作为 WebKit 中内置的 JS 引擎使用,在 iOS7 之后,Apple 对原有的 C/C++ 代码进行了 OC 封装,成为系统级的 ...
- 简单的sql语句汇总(sqlserver)
1.修改字段的默认值 alter table 表名 add default 默认值 for 字段名称 例子: for Age; alter table 表名 add constraint DF_TAB ...
- JavaScript 总结[目录]
ECMAScript 基础 一.JavaScript 基础 1.1 JavaScript 简介 1.2 JavaScript 书写位置 二.JavaScript 数据类型 2.1 JavaScript ...
- android studio学习---Android studio 导入github工程
无论是那种方式,都最好是先把github上的工程项目下载到本地,然后修改文件再import 首先要知道 自己的build.gradle,在project下面的版本号是多少,比如我的: depende ...