物联网

物联网教程系列七: 让Rosbot加入IoT

2019-06-05  本文已影响38人  小喵编程教育

7. 让Rosbot加入IoT

7.1. IoT协议MQTT定义

MQTT是IBM(对,就是那个弄电脑那个)针对物联网实现的一套通讯协议。MQTT全称不用记,太长反正我也是记不住。只需要记住它是用在IoT上的协议就行了。包括小米呀很多物联网公司都是用这套协议去通讯。 MQTT核心采用订阅/发布模式,为推送而生。 

7.2. MQTT物理模型:

1.首先物联网肯定有一台服务器。不然那些要联网的设备把接收到的数据发给谁呢?服务器的作用就是接收数据,处理数据,分发数据

2.多个联网的设备。它们的作用就是给服务器发送数据,或者接受服务器的数据。

7.3. MQTT工作过程:

1.多台联网的设备首先连上wifi网络,并且要连上指定的服务器(假设服务器已经有了)

2.设备需要订阅话题,只有订阅此话题后,设备才能向这个话题发送数据,或者一旦这个话题有消息更新,此设备可以接收更新的数据。这样拥有相同话题的设备他们之间就可以实现数据共通了。通讯过程由服务器来保障,这个过程我们就不用管了。

如果这个过程你不理解,你就想想你订阅微信公众号,假如你和小明一起订阅了同一个微信公众号(假设你俩之间互不认识,不是好友),你们可以在微信公众号下面的留言板进行聊天(笑Cry)这样你们就可以相互通讯了。

7.4. 让Rosbot加入Iot

服务器你将直接用喵家的服务器

联网设备就是你的Microbit+wifi模块

注册喵星云IoT服务器账号,并创建话题

1.登录www.kittenbot.cn/bbs 喵家论坛注册一个账号。 

2.十分钟后(所以你提前拥有喵家账号是有好处的,论坛与官网账号同步需要十分钟时间更新),用你的账号密码登录 www.kittenbot.cn 

3.选择IoT控制面板 

4.这就是IoT控制面板主界面,我们新建一个话题 

5.输入话题名称,格式一般为/+英文,例如/CCFIVE,记住话题是全服务器唯一的,如果申请不成功,有可能你申请的话题已经被其他人用了,请更换另外一个。

6.话题成功创建 

电路板连线

材料准备:

Rosbot主控板

两个喵家按键模块

杜邦线,数据线等

kittenbot wifi(2.8固件),现在wifi都需要自行更新固件,请查看wifi固件更新教程

新手按照图示接线,因为这个接法是跟下面程序所对应的。

wifi模块->Rosbot:

直接wifi模块插好在Rosbot上,按键按照图示所接。

Rosbot插上USB线,准备进行编程

插入电源后,wifi模块的电源指示灯红灯会亮,蓝灯会快闪(表示还没加入路由器,如果之前已经加入过路由器后,蓝灯会慢闪)

编程准备

已经安装好Kittenblock(版本要求1.78或以上)

另外你Rosbot需要入门,知道一些Rosbot的基本操作(例如安装程序,下载等),如果还没入门的朋友,请先看喵家网易云课堂的Rosbot教程

编程开始

打开Kittenblock后,硬件选择Kittenbot

硬件连接选择你对应的串口

关闭窗口

连接成功

加载IoT插件

加载成功后,在示例中,找到IOT button示例

先把程序黄色荧光笔的空格填写完毕。(填写你的路由器账号密码,你的话题名称等)

再把程序下载到Rosbot板上,程序中有相应的解释,对原理感兴趣的友友可以仔细看看

如果操作都没错后,下载完成,稍等片刻(wifi联网需要几秒到几十秒不到,具体看网络环境)。连接成功后,wifi状态如下:

按下按键(4引脚),Rosbot板上的13脚蓝灯会熄灭。按键(11引脚),Rosbot板子,Rosbot板上的13脚蓝灯会亮。

同时在喵星云IoT控制面板上也会看到对应话题接受到的消息

IoT网页调试

在喵星云IoT控制面板,最下方有个调试窗口,连接后,就可以对话题发送信息。这时候如果话题有内容更新,wifi模块也会检测到的。 

积木块介绍

比较好理解,把本文MQTT的一个工作过程理解后,就能理解这些积木块了 

7.5. IoT常见问题与解答

wifi模块好像有点发烫,甚至烫手,这个现象正常吗?

wifi模块功耗都比较大,只要你wifi模块没有接错线,不用担心wifi发热。不会发热导致烫坏的,表面的金属壳就用用来散热的(可以参考家里路由器外壳也是发烫的)。

wifi模块怎么更新到2.8固件?

请参考wifi固件更新帖子

wifi模块更新好难呀,你能帮我更新吗?

如果看了帖子实在不会更新的友友,可以寄回喵家这边,喵家免费帮你更新固件。但是你需要出来回的运费哦

我用别家的wifi模块可以实现喵家IoT吗?

不行,喵家这个11所对应的wifi IoT积木块仅限于喵家的wifi模块

我已经根据你的帖子操作了,但是实验不成功?

实验不成功有多方面的原因,需要逐一排查

wifi模块插错了

wifi模块不是2.8最新固件(或者你更新2.8固件流程不对,更新失败了)

在IoT控制面板注册的话题与程序所对应的话题名称不一致

路由器名称与密码输错了

路由器名称是中文?

路由器名称有空格?

希望重新再看一遍帖子检查下步骤,如果还是解决不了,到喵家Q群求助,配上你的高清接线图,程序截图,或者实验小视频,以便喵家技术人员帮你快速解答。

上一篇下一篇

猜你喜欢

热点阅读