从零开始学物联网:图形化编程来远程控制家里筒灯的开和关(四)

154 阅读3分钟

之前写了三篇文章,介绍了如何从新手尝试做物联网应用。

这篇文章将面向不那么了解编程的学习者,讲解如何图形化实现上面的那些功能。如果在阅读这篇文章过程中遇到疑问,可以先去看看上面的那几篇文章。

一、安装软件(windows系统为例)

这篇文章将用到的图形化是mixly,下载地址如下:

pan.baidu.com/share/init?… 提取码:ny1n

文件比较大,下载过程比较慢,需要耐心等待。如果不想等待,也可以联系本人Q:2395453054 在线发送给大家。

下载下来之后,解压,然后可以看到Mixly.exe这个文件,双击即可启动。

image.png

进入界面之后,在第二页中选中Arduino ESP8266,如下图。

image.png

二、安装Bmob Mixly插件

下载地址:bmob-cdn-31082.bmobpay.com/iot/mixly_b…

下载之后,解压。

回到Mixly软件中,依次选择右上角的菜单“设置 -> 管理库”。在库管理器中,选择本地导入,如下图所示:

image.png

导入库对话框中,选择刚刚解压的文件Bmob.xml,如下图所示:

image.png

导入成功之后,我们可以在界面中看到新的控件,如下:

image.png

三、重新梳理思维逻辑

远程控制家里筒灯的开关的esp8266设备的控制逻辑是这样的:

  • 连接本地wifi(需要WIFI名称和密码)
  • 连接Bmob MQTT服务器(需要MQTT服务器的地址、端口、用户名、密码和客户端id)
  • 订阅开关灯的主题(需要符合Bmob MQTT主题的格式:devices/type/client_id,其中devices是固定的标记,type是自定义的名称,通常用来表示设备类型,这里定为line,client_id是客户端id,和上面的一样)
  • 处理接收到的主体消息(如果msg内容是on的话,打开灯,否则关闭灯)

四、图形化实现

1、连接本地wifi

点击网络-> WiFi,选择设置WIFI的组件,如下图所示:

image.png

2、连接Bmob MQTT服务器

登录到Bmob后端云,创建应用,然后获取下面的信息:

image.png

回到mixly图形界面中,从Bmob -> MQTT中选择MQTT服务配置,如下图:

image.png

然后把相关的内容填写上去,如下图:

image.png

其中,clientID客户端ID,你可以用网卡地址,也可以是其他内容,表示这个独一无二的设备。

3、订阅主题

用同样的方法,拖拽订阅管理到主界面,同时把订阅主题拖到订阅管理里面,并填写主题内容为:devices/line/test。大家注意一下主题的格式:devices/type/client_id,其中devices是固定的标记,type是自定义的名称,通常用来表示设备类型,这里定为line,client_id是客户端id,和上面的一样,即:test。如下图:

image.png

4、处理消息

消息处理那里,加上控制输入/输出文本文本的内容分别为onoff数字输出的管脚为16,值分别是。具体如下所示:

image.png

如果你想查看对应的代码的话,还可以点击顶部的右向按钮,如下图所示,就可以看到生成的代码:

image.png

大家可以对比一下自动生成的代码和我们之前编写的代码:juejin.cn/post/740545…

五、编译和上传代码

点击顶部的编译代码,你可以检测代码是否有问题。如果你想编译的同时上传代码的话,直接上传代码即可,如下图所示:

image.png

欢迎有兴趣的朋友加QQ群(483253876),交流分享物联网开发的经验。