让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...

2019-04-104.9万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用App Inventor和OBLOQ-IOT模块,让小朋友们能够创建自己的手机APP,并通过MQTT协议远程控制物联网设备。首先需要导入mqtt.aia项目并配置Easy Iot信息,然后通过简单的逻辑设计,实现数据的发送和接收。硬件环境包括Microbit、发光二极管和Gravity-OBLOQ物联网模块。通过这个项目,孩子们可以在实践中学习编程,激发他们的创造力和技术兴趣。
以前用android开发物联网程序,需要写android代码,程序员写出来没问题,小朋友们如果实现起来就麻烦了。虽然Easy Iot也有微信小程序,但是控制物联网设备时需要填写数据来发送指令,不方便。那能否让小朋友也能写出自己的手机APP,通过云端远程控制物联网设备呢?经过搜索,终于在国外thunkable网站找到一个帖子,有个程序员给App Inventor写了一个MQTT扩展,可以很简单通过MQTT协议实现物联网数据的交互。
不过这个扩展需要付费20美元,还好,以前挣过老外的钱,放在Paypal,还没有取出来,正好这次排上用场。现在免费送给小朋友们。

根据作者提供的.aia样例,我写了一个简单的安卓手机APP,能够通过Dfrobot的OBLOQ物联网设备控制灯的亮灭,订阅EasyIot云端的设备后,能够在APP动态显示订阅设备发来的数据。
编程环境:App Inventor,Mind+
硬件环境:Microbit,发光二极管,Gravity-OBLOQ物联网模块
云端:Easy Iot
首先测试App向Easy Iot发送数据。
导入mqtt.aia项目


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图1




选择mqttcp.aia项目


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图2



让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图3




点击“逻辑设计”,配置如下。


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图4




说明:ipAdress是Easy Iot的网站地址,port中1883是MQTT协议默认端口号(HTTP协议默认端口号是3001,不要混淆)。userName和password是Easy Iot注册账号时生成的Iot_id和Iot_pwd。idDevice随便填写,但一定要是数字,不能是字符串。topic是你需要发布数据的网络设备,在EasyIot中增加设备后会自动生成。
这是我在Easy IoT网站注册的信息。


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图15






将刚才的APP程序打包成apk,生成二维码,用手机扫描二维码后安装即可。


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图5




运行手机APP程序,先点击Conectar按钮连接云端,再点击Publish按钮,即可将hello world发送到云端。


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图6




可以看到Easy Iot云端接收到手机发来的信息。


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图7




在输入框中输入需要订阅设备的topic,然后点击“SubScribe”按钮。


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图8




在云端发送app inventor mqtt,手机APP会在标签控件上显示该信息。


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图9





让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图10




接下来测试手机控制灯的亮灭。
App Inventor中拖动两个按钮,分别命名为“开灯”和“关灯”。


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图11




进入“逻辑设计”页面,添加这两个按钮的事件,分别向topic发送“kai”和“guan”字符串。


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图12




在Mind+中编写程序。
添加物联网模块OBLOQ。初始设置如下。


让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图13




说明:wifi名称和wifi密码是当前OBLOQ连接路由器的SSID和密码。Iot_id和Iot_pwd分别是EasyIot对应的信息。Topic_0中填写的是在Easy Iot网站新添加设备时自动生成的。




让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...图14




硬件连接:OBLOQ的RX和TX引脚连接在Microbit的P0和P1软串口上,发光二极管连接P16引脚上。
祝小朋友们玩的愉快!





图片5.png (66.76 KB, 下载次数: 13030)

少儿编程入门 · 打造自己的手机APP控制物联网设备_image_3.webp

mqtttcp.rar

1.1 MB, 下载次数: 21689

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(44)
JOVI
JOVI
学习学习
花生编程
花生编程
太棒了!!感谢分享!
花生编程
花生编程
厉害厉害
三春牛-创客
三春牛-创客
求助求助!!!急用啊!
三春牛-创客
三春牛-创客
APPinventor在哪里下载啊?
麦壳maikemaker
麦壳maikemaker
我发现一个新的扩展mqtt插件https://www.bilibili.com/read/cv23715229
腿毛利小五郎
腿毛利小五郎
收藏一下
耘想
耘想
6666666666666666666
耘想
耘想
6666666666666
三春牛-创客
三春牛-创客
这个编辑器的软件在哪里下啊?发一下链接
三春牛-创客
三春牛-创客
感谢分享
三春牛-创客
三春牛-创客
学习了!
三春牛-创客
三春牛-创客
厉害厉害
星辰大海://。,
星辰大海://。,
66666666666666666666
星辰大海://。,
星辰大海://。,
评论内容
糖醋花生
糖醋花生
这是小学生写的?我是小学生,我连看都看不懂呀
DFrJ96wHbz_
DFrJ96wHbz_
怎么将obloq的消息从字符串转成数字类型?有没有大佬知道怎么搞的,
麦壳maikemaker
麦壳maikemaker
MQTT扩展好用,20美金花得值
娜娜2012
娜娜2012
迎风
迎风
扩展与内置组件冲突,请使用通信连接中的“MQTT客户端”
是怎么回事?