rzyzzxw 发表于 2018-4-23 08:37:19

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

本帖最后由 rzyzzxw 于 2018-4-25 14:41 编辑

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


    瞧这乱糟糟的样子,好好做个模型不就是智能家居么。;P

    测试效果1:电脑控制
http://v.youku.com/v_show/id_XMzU1ODQxMzg3Mg==.html
    测试效果2:手机APP控制
http://v.youku.com/v_show/id_XMzU1ODQxMjg5Mg==.html
   

    我和吕老师进行了一系列尝试:
    光阴的故事--Obloq软件包测试
    OBLOQ-IoT模块+Micro:bit玩物联网浇花
    用App控制Micro:bit物联网小风扇
    micro:bit+OBLOQ轻松玩起物联网(一)远程控制风扇
    本教程准备的器材有:Micro:bit物联网基础套装



    小风扇,彩灯,led等模块2个或更多。
static/image/hrline/5.gif
    可是,我也有问题要寻求解决方案。

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


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

static/image/hrline/5.gif
    准备工作:
    1、进入物联网,注册Easy-IoT,进行相关设置。   
https://mc.dfrobot.com.cn/data/attachment/forum/201804/01/063734e7xyawstfz1nf6ay.jpg
https://mc.dfrobot.com.cn/data/attachment/forum/201803/31/212628si31679ppjqvy66z.png
    也可以直接进入DF的物联网平台。Obloq模块配套DFRobot EASY-IoT物联网平台https://iot.dfrobot.com.cn/    2.注册与登陆    首次打开物联网平台后先进行用户注册,完成注册后,登陆平台(具体操作见)。首次登陆后界面是这样子的如下图:
https://mc.dfrobot.com.cn/data/attachment/forum/201802/07/210155lrh3ib1v3rt41wv9.png
    3.查看并记录Iot_id和Iot_pwd    在这里我们需要记住Iot_id和Iot_pwd的内容,点击“重新生成”后面的眼睛,就可以显示对应的字符数据。https://mc.dfrobot.com.cn/data/attachment/forum/201802/07/210637j8thhpl064hkmkl6.png    4.添加设备记录Topic    点击“添加新设备”按钮创建一个新设备,并记录下该设备的Topic。如下图所示。https://mc.dfrobot.com.cn/data/attachment/forum/201802/07/211015cdubmd0xu2uduukk.png    然后再添加一个新设备。    至此,物联网平台设置工作到此结束。    在这里我们需要记住Iot_id和Iot_pwd的内容,并记录下两个设备的Topic。(其实后面可以从页面上复制,不用用笔记下来,知道这个地方就好了。)
static/image/hrline/5.gif
    程序准备:    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了。{:5_124:}后面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物联网小风扇。











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

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

智能家居模型,只有电子模块,没有场景,这不算吧。;P

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

好玩,好玩~

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

zmaker-vijay 发表于 2018-4-23 16:11
好玩,好玩~

吴老师一起玩啊。:handshake

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

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

厉害了 功能跑通了, 场景再慢慢完善就好

网络白丁 发表于 2018-7-15 14:08:08

来来,先想好故事怎么编,谢谢学习了
页: [1]
查看完整版本: BXY+Obloq-IoT(+APP)物联网多设备控制,可以做个智能家居...