13140| 8
|
[教程] Mind+下的掌控板和micro:bit gamepad 遥控手柄通信的方法之一 |
本帖最后由 Jacken 于 2019-4-20 16:25 编辑 一、前言 在研究一些关于多块micro:bit(下称bit)通信协作的项目时发现由于bit性能限制,一些功能无法更好的实现,手头上刚好有一块掌控板,了解到掌控板的性能会比bit高一点,所以萌生了将bit与掌控板进行通信协作,看是否能解决我项目中遇到的性能问题,说做就做~~找了下DF的掌控板教程,发现里面有一篇是关于互联网手表的教程,受此启发,就有了这篇成果,希望对小伙伴们有所帮助! 二、材料清单 我是借助DF的iot平台的,所以所需材料有: Micro:bit gamepad 遥控手柄X1 Micro:bit主控板X2(一块用在micro:bit gamepad 遥控手柄上,一块用在Micro:Mate扩展板上做通信中转站) Gravity: UART OBLOQ - IoT物联网模块X1 Micro:Mate扩展板X1(亦可用其他有排针的bit扩展板提代) 线材若干~ 三、注册DF的IOT平台账号 1、打开IOT平台https://iot.dfrobot.com.cn/index.html ,通过右上角进行账号注册(有账号的直接登陆) 2、创建一个新的IOT设备,如下图: 四、对micro:bit gamepad 遥控手柄编写脚本 micro:bit gamepad 遥控手柄需要和另一块作为通信中转站的bit板进行相互通信,所以这里需要打开bit的无线通信并设置相同信道(我这里设置为7) 1、建立bit板之间的通信: 2、编写控制脚本,我这手柄上的脚本是用来控制小车的,这里我也使用了Mind多线程功能(这些不是本教程重点) 其实很简单,就是你按下什么键,需要发送什么内容到通信中转站的bit上,编写进去即可~~ 3、编写完成,将程序上传到micro:bit gamepad 遥控手柄上的bit主控板中。 五、对通信中转站的bit编写脚本 1、将iot模块、bit主板和Micro:Mate扩展板进行连接~~如下图: 2、与遥控手柄建立通信: 3、从扩展的通信模块里添加QBLOQ物联网模块: 4、对IOT模块进行初始化设置:(下图中的“引脚绿线和蓝线”的接口根据自己插的接口选择,最后的那个选择硬串口就可以~) 敲黑板!!! 点开上图那个设置图标后,上面的WIFI就是填写你家wifi名称和密码就可以,不支持5Gwifi~~至于中文wifi名我就不知道能不能支持啦~~~ 下方的物联网平台参数,是这样的: 上图的数字1、2、3的位置分别填写的是IOT平台刚创建的那个设备的topic、id和密码,对应位置如下图: 在设置好iot参数后,千万千万不要去手痒痒点击上图左侧的“重新生成”,否则需要重新设置相应的id和密码~~ 5、测试iot连接状态 设置好后,我们可以测试iot和平台的连接是否成功,在bit中写入下面这样的脚本,然后打开iot平台对应设备的“发送消息”就能看到最新消息~~ 其实在iot连接成功后,其实在路由器的后台可以看到对应的设备~~ 注意:经过测试,iot模块需要通过扩展板供电才能正常运转,连接成功后iot板子会显示绿灯,反之会显示红灯 6、编写通信中转信号处理 记得先删除刚才的测试脚本!!! 对于遥控手柄发送过来的信息,中转bit需要进行处理下才能发送到iot平台(因为我遥控手柄发送的是汉字信息所以需要处理,如果发送的是字母信息可以直接发送到iot平台。)经测试,DF的iot平台不支持接收中文(汉字)字符。 7、将程序上传到通信中转站的bit上,并将其改为扩展板供电。 六、对掌控板进行编程 1、添加掌控板扩展和MQTT、WIFI扩展 2、这里需要分两步,第一步是将掌控板连接wifi~~第二步是通过MQTT服务将掌控板连接到IOT平台,具体看图: 上图的MQTT初始化参数设置详情请看下图: 下图中,物联网平台选择Easy Iot,id、密码和topic跟上面中转站的一样,填写编号对应位置的信息进去即可! 题外话:上方脚本多次出现“屏幕显示为全黑”这块指令,目的是清空屏幕内容~~ 3、从iot平台读取消息,并处理 成功连接到iot平台后,掌控板屏幕会有提示~~接下来就是对消息进行接收和转化处理了~~脚本和前面通信中转站的发信脚本差不多。 4、将程序上传到掌控板。 七、结语 通过三块主控板的接力,我们实现了bit和掌控板之间的间接通信,在实际体验中,如果网络通畅的情况下,几乎感觉不到延迟。至于bit和掌控板通信后可以做啥~~那就留给大家去发挥啦! 八、提个建议 micro:bit gamepad 遥控手柄如果可以增加几个排针接口,我相信遥控手柄的扩展性和可玩性将会提升超大一个档次! |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed