13378| 5
|
[入门教程] BXY+Obloq-IoT(+APP)物联网多设备控制,可以做个智能家居... |
本帖最后由 rzyzzxw 于 2018-4-25 14:41 编辑 当有了OBLOQ-IoT模块,当DF跑通了micro:bit物联网,我们就可以带孩子们好好玩物联网了。 本教程写BXY+Obloq-IoT物联网多output控制测试,在测试中,大圣老师用了四个设备,两个小风扇,两个灯串。 瞧这乱糟糟的样子,好好做个模型不就是智能家居么。;P 测试效果1:电脑控制 测试效果2:手机APP控制 我和吕老师进行了一系列尝试: 光阴的故事--Obloq软件包测试 OBLOQ-IoT模块+Micro:bit玩物联网浇花 用App控制Micro:bit物联网小风扇 micro:bit+OBLOQ轻松玩起物联网(一)远程控制风扇 本教程准备的器材有:Micro:bit物联网基础套装 小风扇,彩灯,led等模块2个或更多。 可是,我也有问题要寻求解决方案。 我把问题抛给了李旸工程师,李工只给了我一点点提示。 工程师都是严谨低调,交流时都不苟言笑,回答问题总是给点提示。 好吧,我喜欢,玩创客的一个很大的乐趣就是探索未知的快乐,答案都给了还有什么意思。 何况有时还没有答案呢。 这些问题困扰着我,也激励着我,现在都顺利解决了呢。后面有连续几个帖子一一道来。 准备工作: 1、进入物联网,注册Easy-IoT,进行相关设置。 也可以直接进入DF的物联网平台。Obloq模块配套DFRobot EASY-IoT物联网平台https://iot.dfrobot.com.cn/ 2.注册与登陆 首次打开物联网平台后先进行用户注册,完成注册后,登陆平台(具体操作见)。首次登陆后界面是这样子的如下图: 3.查看并记录Iot_id和Iot_pwd 在这里我们需要记住Iot_id和Iot_pwd的内容,点击“重新生成”后面的眼睛,就可以显示对应的字符数据。 4.添加设备记录Topic 点击“添加新设备”按钮创建一个新设备,并记录下该设备的Topic。如下图所示。 然后再添加一个新设备。 至此,物联网平台设置工作到此结束。 在这里我们需要记住Iot_id和Iot_pwd的内容,并记录下两个设备的Topic。(其实后面可以从页面上复制,不用用笔记下来,知道这个地方就好了。) 程序准备: 1、启动BXY,软件下载及df官方教程链接:http://docs.dfrobot.com.cn/bxy/ 程序又有新的升级了,说明df在马不停蹄的完善软件。 2、文件-示例-External-9.ObloqMqttSubTopic.py 如果你有一些python基础,并且有用makecade做物联网的经验,就不难理解。幸好我在前面稍稍学了一些micropython。 如果没有,我给你简单讲一下好了,我感觉,比起Arduino IDE,python的句子,好理解多了。 3、简析一下吧 行2,导入obloq软件包 只需修改行6-行11内容为个人wifi,iot,topic信息。可以从Easy-Iot平台复制,以免写错。 上图对关键句子进行了注释。 先不要做任何改动,连接模块,下载运行一下试试。如果这一段代码理解了,后面再做修改就好了。 4、设备连接 将microbit的串口与Obloq连接(p2 tx连rx,p1 rx连tx),VCC接3.3和5V都行的。用充电宝或者电源适配器或者电脑USB供电到扩展板,供电开关切换到5V,方便给大电流输出设备供电。 程序写入micro:bit,IOT模块指示灯由红-蓝-绿,表示接上wifi,micro:bit led点阵显示模块分配到的IP地址,再显示几次OK,然后就等待接收你从平台发送来的字符数据了。 单击设备下面的查看详情。 写入新消息后单击发送。特别提醒:现在IOT功能DF做了点小限制,从服务器接收数据时没有时间间隔的,但是发送数据的话,最快5秒钟发送一条。 所以不要发送太快哦,太快就会接收不到并且有假死的症状了。这时就只能断电后重新给扩展板供电再次接入wifi了。后面DF把服务器带宽这些提升好,还会把这部分功能再升级一下。同时为了保护板子,不建议用bit板上的重启键哦。 分别测试向两个设备发送不同消息。 如果上面顺利的话,就可以在micro:bit的屏幕上看到平台发送过来的字符了。 5、开始修改程序,注意只是修改哦。 #设置MQTT的回调函数 def event(e,param): if e == IOT_TOPIC1:#收到了订阅的topic1的信息 display.scroll(param)#显示订阅topic1信息 if param == "1":#如果接收到字符1(这里自己定义) pin12.write_digital(1)#pin12写入1(引脚根据接线自定) if param == "0":#如果接收到字符0(这里自己定义) pin12.write_digital(0)#pin12写入1(引脚根据接线自定) if e == IOT_TOPIC2:#收到了订阅的topic的信息 display.scroll(param) if param == "1": pin16.write_digital(1) if param == "0": pin16.write_digital(0) 修改完毕,下载到板子运行。IOT模块指示灯由红-蓝-绿,表示接上wifi,micro:bit led点阵显示模块分配到的IP地址,再显示几次OK,然后就等待接收你从平台发送来的字符数据了。将microbit的串口与Obloq连接(p2 tx连rx,p1 rx连tx),VCC接3.3和5V都行的。用充电宝或者电源适配器或者电脑USB供电到扩展板,供电开关切换到5V,方便给大电流输出设备供电。在pin12 pin16引脚接上小灯或风扇,就可以从IOT平台向bit物联网发送1,0,来控制开关了。 6、如果想控制更多输出设备,继续添加些句子吧。 例如再加一个设备,先要在IOT平台上增加一个新设备,记下它的TOPIC。 要在三个地方添加些句子。 第一个地方: 第二个地方: 第三个地方: 程序内容可以根据使用设备改写。我这里只做开关设置,比较简单。 发送的字符都是1,0,不过上面程序中设置MQTT的回调函数有e,param两个变量,所以不同设备只能收到自己TOPIC发来的新消息。 当然,可能和APP结合起来玩哦。方法参考用App控制Micro:bit物联网小风扇。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed