|
7349| 1
|
[项目教程] 挑战赛1——班门弄斧之上传下载基础版 |

本帖最后由 pATAq 于 2018-7-20 22:46 编辑 前言原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正。 DF搞的这个比赛还挺有趣:micro:bit × OBLOQ DF创客社区玩转物联网挑战赛,一边在写文章一边在爱奇艺上看着印度电影巴霍巴利王,别说,浮夸但还不错。 1、硬件分析所谓“若远行,先利其器”,我们首先要好好了解提供的硬件,知道是什么,能做什么,后续才会物尽其用。 第一阶段硬件如下: 1.1 micro:bit板载硬件资源之前讨论过。文章还没整理,哈哈,拖延症 1.2 Micro:Mate 扩展板特性:
注意:
优点是很小巧,支持外置电源。 我们再深入一下看看Mate的原理图,可以从Mate产品维库上找到:
再对比mb的引脚图: 仔细看一下,有以下几点:
1.3 OBLOQ物联网模块这个是比较有特色的东西,本质是大火的ESP8266,之前写过详细的文章,DFRobot进行了封装,仅引出串行通讯引脚,并且不仅可以连接DFRobot自己的服务器,方便一般用户快速上手使用。不过我们看看ESP8266和mb的硬件配置:
问苍茫大地,谁主沉浮?我们也可以把性能更强的OBLOQ模块作为主应用处理器,mb作为外设使用。 看起来是引出了一个3色LED,两个按钮(UPGRADE和RESET)。 2、小试牛刀这里我们采用MakeCode,配合DFRobot的pxt支持包:https://github.com/DFRobot/pxt-Obloq,还可以参考[一](https://github.com/DFRobot/Obloq)、[二](https://github.com/DFRobot/OBLOQExamples)。
mb的MicroUSB接口支持串口调试,而OBLOQ使用串口通讯,好在mb提供了串行接口重定向功能,我们这里把蓝、绿线接到随便两个接口上(不推荐P0,已接到音频接口),然后设定串口重定向即可。区别在于Analog区三个仅支持3.3v,Digital区支持3.3/5v切换。
串行重定向的话,涉及一个波特率的问题,查看第219行,可知默认波特率9600:
LED矩阵会随着状态显示不同图案,三色LED代表意义如下:
初版代码如下:https://makecode.microbit.org/_9VAW1X35DDuH
功能特性:
注意点:
3、MQTT基础知其然亦知其所以然,关于mqtt的知识可以参考我16年写的文章,彼时使用手机和Intel Galileo Gen2通过网络(无线或者有线网)连接,当然也可以选用BLE或者ZigBee之类。然后是通讯协议的选择,固然TCP/IP协议很成熟,但是对于物联网嵌入式应用来说,略显臃肿。目前物联网常用的协议包括CoAP、MQTT、XMPP、RESTful HTTP等,这里介绍应用最为广泛的MQTT协议。关于各种协议之间的差别,可以查看这篇文章。
扩展阅读以下是非常棒的MQTT协议入门与理解,这个博客真的非常棒,感谢博主的分享! 之前需要手写相关代码去连接服务器、订阅、发送信息,现在obloq直接在固件里封装好并提供API(向串口写入数据然后返回),方便许多。 4、手机APP控制交互理解了mqtt的基本原理,我们就好办了,MQTT Dashboard是我用过几个后能满足要求的Android APP,谷歌商店有,如果无法访问Google Play可以从这里下载手动或者使用apkpure.com提供的软件市场,包含了大部分谷歌商店的应用内容。
手机客户端初始界面,其中:
Subcribe界面很简单,就是简单的接收信息。
Publish界面(这些控件都可以自定义):
效果如下:
还是要注意的是延时1s以上才会在网页记录:
注意:关于MQTT QoS,可以看这篇文章,简单来说就是:
最终效果(画质为啥这么差):
5、进阶展望 |
萌萌哒新人
活跃会员
宣传大使
版主限定
牛X认证
老版主限定
创作达人
小蘑菇
编辑选择奖
ARD DAY
编辑选择奖
摸鱼团员
编辑选择奖
志“童”道合
编辑选择奖
编辑选择奖
编辑选择奖
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed