DFBJKmr6VoQ 发表于 2019-4-10 17:38:35

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

以前用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项目







选择mqttcp.aia项目











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







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







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







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







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







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







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













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







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







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







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









硬件连接:OBLOQ的RX和TX引脚连接在Microbit的P0和P1软串口上,发光二极管连接P16引脚上。 祝小朋友们玩的愉快! 国外网站链接:https://community.thunkable.com/t/paid-mqtt-tcp-ip-extension-update-9-10-2017/7168




得劲滋润爽 发表于 2022-9-1 10:48:54

1909425849 发表于 2019-4-26 09:52
你好,对于网页版的APP inventor没有mqtttcp的extension部分,我在GitHub中也没有找到相应的mqtttcp 的包, ...

我下载过,添加扩展无法使用,但是使用已经添加过扩展的模板是可以使用的。这有个问题就是你做了一些内容的APP想添加MQTT功能这个扩展无法实现,必须使用模板程序在上面修改添加内容。
不过可以使用支持web,http的MQTT服务器比如siot,用APPinventor发送get或post请求的方式添加MQTT功能。
链接:https://pan.baidu.com/s/1MsLXnhGPdsmCjAgnZAJcNw?pwd=uwnb
提取码:uwnb
上面链接里面是扩展插件和模板,中文名是我修改过的,英文名是原版。可以自己试一下导入插件能否使用,不能使用的话就只能使用模板了

1909425849 发表于 2019-4-26 09:52:34

你好,对于网页版的APP inventor没有mqtttcp的extension部分,我在GitHub中也没有找到相应的mqtttcp 的包,请问你是如何添加的mqtttcp模块的扩展的???你好,对于网页版的APP inventor没有mqtttcp的extension部分,我在GitHub中也没有找到相应的mqtttcp 的包,请问你是如何添加的mqtttcp模块的扩展的???

娜娜2012 发表于 2021-7-4 19:21:40

赞                              

Forgotten 发表于 2019-4-10 17:48:04

厉害厉害 终于可以自定义app了{:5_121:}

szjuliet 发表于 2019-4-10 17:54:32

赞啊!就在找这个哈哈{:5_148:}

kylinpoet 发表于 2019-4-10 21:11:16

多谢分享。等这个扩展已经很久了。

杨学雨 发表于 2019-4-12 08:18:47

非常感谢!!

杨学雨 发表于 2019-4-12 10:01:45

感谢楼主 根据楼主的文件 进行一点点修改 直接可以发送和接受数据

hamletl 发表于 2019-4-12 10:24:37

!!!!!!!!!!!!!!!!!!!!

hamletl 发表于 2019-4-12 10:30:31

好贴!

刁雷 发表于 2019-4-12 16:30:47

厉害了就找这个教程呢

peter2 发表于 2019-4-13 18:27:25

test

rzegkly 发表于 2019-4-14 16:33:59

很好的物联网教程,学习

Fang1 发表于 2019-4-18 14:15:03

学习了   厉害了

lilei8488 发表于 2019-4-19 13:08:22

学习了,厉害了,正想找这方面的东西

super-power 发表于 2019-5-1 20:03:02

厉害,厉害,真正的好东西。

黑暗中的杀手 发表于 2019-5-14 16:09:02

赞一个

光光 发表于 2019-7-17 23:43:11

超级好贴。学习了。

老万 发表于 2019-8-26 11:12:10


很好的物联网教程,学习

DFmimi 发表于 2019-10-23 22:44:09

那个customweb在哪啊   我那个mqtt里面没有连接的那个模块就是端口、密码那个模块

Fang3 发表于 2020-1-6 15:30:33

导入失败,请使用通讯连接中的“MQTT客户端”

gada888 发表于 2020-1-24 17:22:14

Mark一下
页: [1] 2 3
查看完整版本: 让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI...