【实验一】实现Easy IoT配置。
【实验二】实现Easy IoT上mqtt消息的通讯。
实现mind+下Easy IoT上mqtt消息的通讯。
硬件:掌控板
软件:Mind+
1.在http://iot.dfrobot.com.cn上注册账户,注册成功后点击工作间,并点击添加新设备!
2.博客地址:
https://blog.csdn.net/funnychou/article/details/115644845
3.源码仓库地址:
https://github.com/zhoujiacong/iotshiyan1
2.在Mind+中先连接WIFI,再连接MQTT(MQTT是基于客户端-服务器的消息发布/订阅传输协议)
(1)连接WIFI,若连接成功便在显示器0号亮起蓝色;
(2)连接MQTT,若连接成功便在显示器1号亮起绿色:
①初始化MQTT,填写账户所给的lot_id及lot_pwd,以及添加的两个设备的topic;
②MQTT发起连接;
③若MQTT连接成功,则“1”灯亮起
④按“A”时,发送“hello”给Topic_0,如果接受到Topic_0发来的消息,显示在屏幕的第一行
⑤按B”时,发送“world”给Topic_1,如果接受到Topic_1发来的消息,显示在屏幕的第二行
核心代码截图:
代码:
/*!
*/
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT0(String& message);
void obloqMqttEventT1(String& message);
// 静态常量
const String topics[5] = {“tgTNXy_Mg”,“OffDuslMg”,"","",""};
const MsgHandleCb msgHandles[5] = {obloqMqttEventT0,obloqMqttEventT1,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;
// 主程序开始
void setup() {
mPython.begin();
myIot.setMqttCallback(msgHandles);
myIot.wifiConnect(“funny”, “12345678”);
myIot.init(“iot.dfrobot.com.cn”,“NeUN_y_MR”,"",“H68Nly_MRz”,topics,1883);
while (!myIot.wifiStatus()) {yield();}
rgb.write(0, 0x0000FF);
myIot.connect();
while (!myIot.connected()) {yield();}
rgb.write(1, 0x00FF00);
}
void loop() {
if ((buttonA.isPressed())) {
myIot.publish(topic_0, “hello”);
}
if ((buttonB.isPressed())) {
myIot.publish(topic_1, “world”);
}
}
// 事件回调函数
void obloqMqttEventT0(String& message) {
display.setCursorLine(1);
display.printLine(message);
}
void obloqMqttEventT1(String& message) {
display.setCursorLine(2);
display.printLine(message);
}
4.实验效果图:
连接WIFi和MQTT成功
按下A后发送成功并且接收到T0的消息
按下B后发送成功并且接收到T1的消息
工作间的t0消息记录
工作间的t1消息记录
实验结果如上图所示,实验成果,并无其他情况发生。
通过本次实验,我学会了如何通过图形化编程进行MQTT信息的发送与接收,也学会了通过调用函数来实现本次的实验。
4月11日20:30~22:00通过腾讯会议进行了第二次在线学习讨论我把学习笔记整理一下...
错误描述: 在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报...
DELETEFROMTablesWHEREIDNOTIN(SELECTMin(ID)FROMTablesGROUPBYName) Min的话保...
项目中用到的一些特殊字符和图标 html代码 XML/HTML Code 复制内容到剪贴板 div ...
工具:Eclipse,Oracle,smartupload.jar;语言:jsp,Java;数据存储:Oracle。...
上篇文章给大家介绍了 Java正则表达式匹配,替换,查找,切割的方法 ,接下来,...
正则忽略大小写 – RegexOptions.IgnoreCase 例如: 复制代码 代码如下: Str = R...
本文实例讲述了Laravel框架源码解析之反射的使用。分享给大家供大家参考,具体如...
Elasticsearch 是通过 Lucene 的倒排索引技术实现比关系型数据库更快的过滤。特...
复制代码 代码如下: % URL="http://news.163.com/special/00011K6L/rss_newstop....