szjuliet 发表于 2019-4-11 10:10:06

麦昆机器人试用(三)

本帖最后由 szjuliet 于 2019-4-12 09:18 编辑

麦昆机器人试用(一):麦昆行走、避障及板载RGB、LED灯测试

麦昆机器人试用(二):手机与麦昆通过BLE连接,控制麦昆板载RGB和LED灯

麦昆机器人试用(三):手机和麦昆通过IoT平台通信,并控制麦昆行走,获取麦昆传感器数据

衷心感谢DFBJKmr6VoQ的帖子,解决了通信的大问题。本来准备硬编,一来界面会难看很多,二来编程也复杂很多。DFBJKmr6VoQ给我们介绍了App Inventor的mqtt插件,真乃神器利器!

本次测试使用了DFROBOT的obloq模块,手机和麦昆通过wifi方式连接到IoT平台,手机向IoT平台发送指令,麦昆获取指令后产生动作。下面是演示视频:
http://v.qq.com/x/page/i0859upcacl.html

1.麦昆端使用Mind+编程


[*]初始化时,对obloq mqtt进行初始化设置:

wifi名称:所在位置wifi的名称
wifi密码:wifi的密码
IoT参数设置,需要设置Iot_id,IoT_pwd和Topic_0,进入https://iot.dfrobot.com.cn/workshop.html来查看并填写到设置中。
引脚收(绿线)接P1,发(蓝线)接P2。





[*]从obloq获取信息后,操控麦昆进行动作:
F:前进,B:后退,S:停止,L:左转,R:右转,T:传送温度值,A:传送环境光值



2.手机端编程


[*]手机app界面:

包括控制小车行走的按钮:前进、后退、停止、左转、右转,包括连接按钮及获取温度和环境光的按钮。屏幕最上方是标签,用于显示当前操控命令、向麦昆发送的命令及返回的值。



[*]App Inventor组件设计窗口:

使用布局将按钮和标签进行排列,还需要一个扩展组件:MqttTCP用于与IoT平台进行通讯,还需要一个计时器组件,用于向用户提示连接信息,计时器的时间间隔是2秒。




[*]App Inventor逻辑设计:

点击连接按钮时,连接到IoT,标签显示提示信息,同时启用计时器,目的是为了向用户反馈连接状态,提高用户体验性


2秒后,计时器启用,判断连接是否成功,并显示相应的提示信息,然后禁用计时器


接下来对各个操控按钮进行编程,这些按钮所触发的动作完全一样,只是要传递的参数不同,显示的提示也不同,因此我们使用带参数的过程send,这样可以提高编程效率,易于调试程序。参数一个是command,用于传递命令,一个是notice,用于传递通知向用户显示。


控制小车行走的按钮,只需要调用过程send,并传递相应的命令和提示信息即可


获取温度和环境光值的代码非常类似。使用过程我们可以非常方便的对命令进行扩充,只需要添加相应的按钮再调用过程就可以了。


数据发送到IoT后,麦昆通过obloq读取信息并进行操作,如果是温度和环境光的请求,会发送相应的数据到IoT平台,手机收到消息后在右上方显示返回值。


3.反馈

整个数据的收发相当的流畅稳定,小车操控很方便。需要注意的是操控不要太快,以免造成数据传送的丢失。

4.扩展(待续)

可以添加更多的传感器
可以使用语音唤醒、语音识别,通过语音操控麦昆
可以添加灯光、音效等效果

rzyzzxw 发表于 2019-4-11 10:24:24

老师,技术高又高效。佩服啊。特棒。{:5_148:}

szjuliet 发表于 2019-4-12 09:21:37

rzyzzxw 发表于 2019-4-11 10:24
老师,技术高又高效。佩服啊。特棒。

{:5_180:}

韦应 发表于 2019-6-17 20:39:20

太厉害了,学习了
页: [1]
查看完整版本: 麦昆机器人试用(三)