欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mqtt的初步使用

程序员文章站 2022-07-15 08:09:29
...

mqtt的初步使用

一、mqtt是什么?

MQTT(消息队列遥测传输)是ISO 标准下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件。

二、使用步骤

1.前期准备

1)下载Mind+软件
集成各种主流主控板及上百种开源硬件,支持人工智能(AI)与物联网 (IoT)功能,既可以拖动图形化积木编程,可以使用Python/C/C++等高级编程语言。
2)准备实验操作需要的掌控板
3)注册登录Easy-loT

2.编程

打开Mind+拖动图形化积木编程,完成积木的搭建后,相应的代码也自动生成。
搭建积木步骤如下:
1)连接WiFi
2)初始化MQTT
3)连接MQTT
4)给相应的topic发信息
5)显示其他topic发送的信息

积木搭建如图所示:
mqtt的初步使用
自动生成的代码如下所示:

/*!
 * MindPlus
 * mpython
 *
 */
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT0(String& message);
// 静态常量
const String topics[5] = {"HRuRslOMg","hIYvQlOMR","","",""};
const MsgHandleCb msgHandles[5] = {obloqMqttEventT0,NULL,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;


// 主程序开始
void setup() {
	mPython.begin();
	myIot.setMqttCallback(msgHandles);
	myIot.wifiConnect("OS-20200804CRLS 7507", "zxl12345");
	while (!myIot.wifiStatus()) {yield();}
	display.setCursorLine(1);
	display.printLine(myIot.getWiFiLocalIP());
	myIot.init("iot.dfrobot.com","7rogylOGg","","n9TRs_dMgz",topics,1883);
	myIot.connect();
	while (!myIot.connected()) {yield();}
	display.setCursorLine(2);
	display.printLine("mqtt is ok");
}
void loop() {
	if ((buttonA.isPressed())) {
		myIot.publish(topic_1, "xiaoli");
	}
}


// 事件回调函数
void obloqMqttEventT0(String& message) {
	display.setCursorLine(3);
	display.printLine(message);
}

总结

以上就是今天要讲的内容,本文仅仅简单介绍了MQTT的简单使用,而MQTT的应用不仅限于此,我也将继续学习。