查看: 6755|回复: 5

[入门教程] BXY+Obloq-IoT(+APP)物联网多设备控制,可以做个智能家居...

[复制链接]
本帖最后由 rzyzzxw 于 2018-4-25 14:41 编辑

   当有了OBLOQ-IoT模块,当DF跑通了micro:bit物联网,我们就可以带孩子们好好玩物联网了。      本教程写BXY+Obloq-IoT物联网多output控制测试,在测试中,大圣老师用了四个设备,两个小风扇,两个灯串。

截图201804231020156677.png
    瞧这乱糟糟的样子,好好做个模型不就是智能家居么。;P
截图201804230809478598.png
    测试效果1:电脑控制

    测试效果2:手机APP控制

   

    我和吕老师进行了一系列尝试:
    光阴的故事--Obloq软件包测试
    OBLOQ-IoT模块+Micro:bit玩物联网浇花
    用App控制Micro:bit物联网小风扇
    micro:bit+OBLOQ轻松玩起物联网(一)远程控制风扇
    本教程准备的器材有:
Micro:bit物联网基础套装
截图201804220931175005.png
截图201804221201302111.png
截图201804221201508079.png
    小风扇,彩灯,led等模块2个或更多。

    可是,我也有问题要寻求解决方案。
截图201804220944006096.png
   我把问题抛给了李旸工程师,李工只给了我一点点提示。
   工程师都是严谨低调,交流时都不苟言笑,回答问题总是给点提示。
   好吧,我喜欢,玩创客的一个很大的乐趣就是探索未知的快乐,答案都给了还有什么意思。
   何况有时还没有答案呢。


   这些问题困扰着我,也激励着我,现在都顺利解决了呢。后面有连续几个帖子一一道来。
截图201804221055282484.png

    准备工作:
    1、进入物联网注册Easy-IoT,进行相关设置。   



    也可以直接进入DF的物联网平台。Obloq模块配套DFRobot EASY-IoT物联网平台http://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/
截图201804221107127570.png
    程序又有新的升级了,说明df在马不停蹄的完善软件。
    2、文件-示例-External-9.ObloqMqttSubTopic.py
截图201804221111568260.png
    如果你有一些python基础,并且有用makecade做物联网的经验,就不难理解。幸好我在前面稍稍学了一些micropython。
    如果没有,我给你简单讲一下好了,我感觉,比起Arduino IDE,python的句子,好理解多了。
    3、简析一下吧
无标题.png
    行2,导入obloq软件包
    只需修改行6-行11内容为个人wifi,iot,topic信息。可以从Easy-Iot平台复制,以免写错。
无标题.png
    上图对关键句子进行了注释。
    先不要做任何改动,连接模块,下载运行一下试试。如果这一段代码理解了,后面再做修改就好了。
    4、设备连接
121.png    
    将microbit的串口与Obloq连接(p2 tx连rx,p1 rx连tx),VCC接3.3和5V都行的。用充电宝或者电源适配器或者电脑USB供电到扩展板,供电开关切换到5V,方便给大电流输出设备供电。
    程序写入micro:bit,IOT模块指示灯由红-蓝-绿,表示接上wifi,micro:bit led点阵显示模块分配到的IP地址,再显示几次OK,然后就等待接收你从平台发送来的字符数据了。
    单击设备下面的查看详情。
截图201804221546305885.png
    写入新消息后单击发送。特别提醒:现在IOT功能DF做了点小限制,从服务器接收数据时没有时间间隔的,但是发送数据的话,最快5秒钟发送一条。
    所以不要发送太快哦,太快就会接收不到并且有假死的症状了。这时就只能断电后重新给扩展板供电再次接入wifi了。后面DF把服务器带宽这些提升好,还会把这部分功能再升级一下。同时为了保护板子,不建议用bit板上的重启键哦。
截图201804221545332103.png
   分别测试向两个设备发送不同消息。
   如果上面顺利的话,就可以在micro:bit的屏幕上看到平台发送过来的字符了。

   5、开始修改程序,注意只是修改哦。
截图201804230702093343.png
    #设置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。

无标题.png

    要在三个地方添加些句子。
    第一个地方:
无标题.png
    第二个地方:
无标题.png
    第三个地方:
无标题.png


    程序内容可以根据使用设备改写。我这里只做开关设置,比较简单。
    发送的字符都是1,0,不过上面程序中设置MQTT的回调函数有e,param两个变量,所以不同设备只能收到自己TOPIC发来的新消息。

    当然,可能和APP结合起来玩哦。方法参考用App控制Micro:bit物联网小风扇
截图201804230833278334.png












rzyzzxw  版主
 楼主|

发表于 2018-4-23 08:37:59

本帖最后由 rzyzzxw 于 2018-4-23 10:28 编辑

智能家居模型,只有电子模块,没有场景,这不算吧。;P
回复 支持 1 反对 0

使用道具 举报

zmaker-vijay  初级技匠

发表于 2018-4-23 16:11:17

好玩,好玩~
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2018-4-23 20:45:06


吴老师一起玩啊。:handshake
回复 支持 反对

使用道具 举报

Ash  管理员

发表于 2018-4-24 14:43:00

rzyzzxw 发表于 2018-4-23 08:37
智能家居模型,只有电子模块,没有场景,这不算吧。

厉害了 功能跑通了, 场景再慢慢完善就好
回复 支持 反对

使用道具 举报

网络白丁  初级技师

发表于 2018-7-15 14:08:08

来来,先想好故事怎么编,谢谢学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail