MQTT和COAP协议

MQTT和COAP是当前物联网最具发展的协议,MQTT是长连接具有实时性好的优点,COAP是基于UDP的上层封装,具有低功耗的优点

系统环境准备

Java JDK >=1.6,系统环境变量配置JAVA HOME

链接:https://pan.baidu.com/s/1OO-KCdsCrdfjMtf6BVNl6Q
提取码:dyv2

此时在cmd窗口下输入Java就会输出一大串字符,说明配置环境成功了

apache-apollo服务器

更快,更可靠,更易于维护的消息代理,它是从原始ActiveMQ的基础构建的。它使用完全不同的线程和消息调度架构来实现这一点 。

其是一个免安装的服务器,在guithb上显示该服务器已经停止更新了,最新版也是最后版就是V1.7.1

下载服务器包

链接:https://pan.baidu.com/s/1NqvZLPNUJGGFTSxtqRxHcg
提取码:wyc2

进入解压后的bin目录下

cd /d D:\apache-apollo-1.7.\bin

执行命令创建工程

apollo create dongapp

创建成功

自动生成的dongapp目录,展示

 配置文件

连接相关

这里可以改服务器监听的端口与IP,connection_limit表示最大连接数

用户管理

这里可以添加用户名和密码,新行添加即可

这里是用户组管理,如添加用户必须一起修改这里

 开始服务器

进入目录

cd /d D:\apache-apollo-1.7.\bin\dongapp\bin\

运行

apollo-broker run

运行成功

Mosquitto服务器

Eclipse Mosquitto是一个开源(EPL / EDL许可)消息代理,它实现了MQTT协议版本5.0,3.1.1和3.1。Mosquitto重量轻,适用于从低功率单板计算机到完整服务器的所有设备。

下载地址1(官网):http://mosquitto.org/download/

下载地址2(使用):

链接:https://pan.baidu.com/s/1zld35DFPcyqgTldkme1nBA
提取码:040z

配置文件修改:

重要的配置文件:mosquitto.conf

修改为不可以匿名登入:

修改前:#allow_anonymous true
修改后:allow_anonymous flase

修改端口号:

修改前:#port
修改后:port

默认的用户信息存储文件:pwfile.example

设置用户信息文件:

修改前:#password_file
修改后:password_file pwfile.example

新建用户信息文件

文件名为dong.pw ,添加的用户名为dong

mosquitto_passwd -c dong.pw dong

添加用户

文件名为dong.pw,用户名为dong1,密码为dong11

mosquitto_passwd -b dong.pw dong1 dong11

删除用户(dong)

mosquitto_passwd -D dong.pw dong

设置用户信息文件(dong.pw):

password_file dong.pw

 开启服务器:

后台运行:mosquitto -d
输出调试信息:mosquitto -v
输出调试信息并修改端口号启动:mosquitto -v -p

其它问题

win10无法用cd命令直接切换盘符

解决方法:


Python客户端请参考:https://www.cnblogs.com/dongxiaodong/p/9678452.html

参考:https://www.cnblogs.com/minyc/p/5127363.html

MQTT服务器(Win)的更多相关文章

  1. MQTT再学习 -- 搭建MQTT服务器及测试

    最近在搞 PM2.5 采集,需要用到 MQTT 传输协议.协议部分看了几天的,讲的七七八八.本身在 intel 上有 写好的MQTT 的源码,现在的工作其实也就是移植到单片机上或者DM368板卡上.不 ...

  2. MQTT——服务器搭建(一)

    MQTT介绍 MQTT,是IBM推出的一种针对移动终端设备的基于TCP/IP的发布/预订协议,可以连接大量的远程传感器和控制设备: 轻量级的消息订阅和发布(publish/subscribe)协议 建 ...

  3. Mqtt服务器搭建

    .bg { background: #99CC99 } Mqtt服务器搭建 测试环境:CentOS64位 1.安装基础软件 yum install gcc-c++ yum install cmake ...

  4. (一)基于阿里云的MQTT远程控制(Android 连接MQTT服务器,ESP8266连接MQTT服务器实现远程通信控制----简单的连接通信)

    如果不了解MQTT的可以看这篇文章  http://www.cnblogs.com/yangfengwu/p/7764667.html http://www.cnblogs.com/yangfengw ...

  5. 1-安装MQTT服务器(Windows)

    对于不知道MQTT的肯定会问MQTT是干什么的....... 现在我有一个项目需求, 看到这个项目第一想法肯定需要一个服务器,所有的wifi设备和手机都去连接这个服务器,然后服务器进行信息的中转,类似 ...

  6. mqtt服务器apollo的搭建和测试工具paho的使用

    (1)前言 MQTT协议是IBM开发的一个即时通讯协议; 基于发布/订阅的消息协议,近些年来被广泛应用于能源.电力.....等硬件性能低下的远程设备,此外国内很多企业使用MQTT作为android手机 ...

  7. 学习STM32F769DK-OTA例程之百度云平台建立MQTT服务器

    @2019-04-17 [小记] 百度云平台建立MQTT服务器时需要设置权限组,否则连接失败

  8. Python:Mac 下 MQTT 服务器 Mosquitto 的配置

    我在Mac电脑上搭建时遇到了一些不同于网上大部分情况的问题,特此分享给可能也有遇到相同情况又找不到解决方法的人. 我的电脑系统:macOS Mojave 10.14.3. paho-mqtt 的安装 ...

  9. 常见MQTT服务器搭建[转载]

    简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠的网络的进行远程传感器和控制设备通 ...

  10. 使用EMQ搭建MQTT服务器

    前言寒假的时候开始搭建mqtt服务器,一开始使用的是RabbitMQ,基于Erlang语言.但是RabbitMQ的本职工作是AMQP,MQTT只是他的一个插件功能,似乎有些大材小用,很多MQTT的功能 ...

随机推荐

  1. Python学习2——Python单行注释、整段注释使用方法

    Python中的注释有多种,有单行注释,多行注释,批量注释,中文注释也是常用的. python注释也有自己的规范,在文章中会介绍到. 注释可以起到一个备注的作用,团队合作的时候,个人编写的代码经常会被 ...

  2. python调用WebService遇到的问题'Document' object has no attribute 'set'

    代码: from suds import WebFault from suds.client import Client url = 'http://******/bns/PtDataSvc.asmx ...

  3. 织梦(dede)底层模板概念、常用底层模板字段

    织梦(dede)底层模板概念.常用底层模板字段 一.底层模板的概念以及调用方式: 1. 什么是底层模板? 底层模板不是一个模板! 他就是在实际页面当中所要显示的具体内容: 2. 底层模板的应用: 调用 ...

  4. MyBatis映射,抛出Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'oid' in 'class java.lang.String'

    原因在于: 在MyBatis中使用动态语句的判断时,传入的参数(parameterType)为Java基本数据类型,获取的结果(resultType)为JavaBean对象,此时就会抛出该异常,此时可 ...

  5. Javaweb入门 数据库第一天

    数据库概述 本菜鸟使用的数据库软件为Mariadb,以下内容都是以Mariadb数据库软件来写的学习总结. 数据库 所谓的数据库就是用于存储.管理数据的仓库,数据库根据底层存储数据结构的不同可以分为很 ...

  6. Appium+python自动化(二十五)- 那些让人抓耳挠腮、揪头发和掉头发的事 - 获取控件ID(超详解)

    简介 在前边的第二十二篇文章里,已经分享了通过获取控件的坐标点来获取点击事件的所需要的点击位置,那么还有没有其他方法来获取控件点击事件所需要的点击位置呢?答案是:Yes!因为在不同的大小屏幕的手机上获 ...

  7. STL 大法好

    #include <vector>  1.支持随机访问,但不支持在任意位置O(1)插入:    2.定义:  ```cpp      vector<int> a;  ```  ...

  8. codeforces 371A K-Periodic Array

    很简单,就是找第i位.i+k位.i+2*k位...........i+m*k位有多少个数字,计算出每个数出现的次数,找到出现最多的数,那么K-Periodic的第K位数肯定是这个了.这样的话需要替换的 ...

  9. 基于 Autojs 的 APP、小程序自动化测试 SDK - 2019年8月3日

    原文:https://blog.csdn.net/laobingm/article/details/98317394 autojs sdk基于 Autojs 的 APP.小程序自动化测试 SDK,支持 ...

  10. 7z 命令行方式生成自解压exe

    一.下载 7z是一个免费的工具,除了通过命令行的方式提供各种文件.压缩包相关的操作外,还提供了一种方式可以打出自解压的exe程序.该程序从运行到结束经历了三个流程: (1) 解压文件到用户临时目录: ...