rzyzzxw 发表于 2018-4-3 15:12:06

OBLOQ-IoT模块+Micro:bit玩物联网浇花



Micro:bit从来到这个世界上,就是个古灵精怪的小创客,千变万化,这次要和DFRobot OBLOQ-IOT模块合作,变身物联网浇花神器了。

而且,超级简单,简单到丧心病狂。{:5_179:}

项目提示:
本教程提供了从硬件准备,物联网平台设置,makecode程序,BXY(micropython)程序,Mind+程序,到手机APP控制完整的解决方案,同时还有扩展性,您可以在外壳设计,电子模块添加等方面发挥更多的创意。
希望这个项目,可以启发您在物联网+智慧农业,智慧校园等方面的创意。
教程较长,相当有料。;P

器材准备:A: Micro:bit+OBLOQ-IoT模块物联网浇花(完整版)

B:Micro:bit+OBLOQ-IoT模块物联网浇花(精简版) 适用已有micro:bit主板的伙伴

                           
C:Micro:bit物联网基础套装适用已有土壤湿度传感器和小舵机的伙伴

配件清单如下:

1、Gravity: UART OBLOQ - IoT物联网模块
2、Micro:Mate—最小的micro:bit多功能I/O扩展板
3、micro:bit 编程入门开发板
4、DMS-MG90 金属9g舵机 (1.8Kg)
5、一个水瓶,一段软管,或者就是护士给你一个打点滴用的药瓶和输液管。
6、还有一个重要的,电容式土壤湿度传感器 ,有没有感觉很漂亮,象一把剑。

亲子讨论:
在做这个小项目时,我家的小创客朱铭德也参与进来了,当我要找点滴瓶子时,他就问,是不是要做自动浇花,这小子,读过狄老师用吴凌可做物联网浇花的教程。https://mp.weixin.qq.com/s/YupIN9GyKmgZ00ImVVxxgw
借狄老师动图一张。(版权属于狄老师。)


对了,就是要学狄老师的奇思妙想。
他又说,用micro:bit做成自动浇花不就行了吗,为什么还要物联网呢。
其实,这个小项目真是高射炮打蚊子,纯属装X,不过别的开源硬件都物联网浇花了,咱家这可爱的小bit也要玩物联网浇花,不用水泵,不用继电器,方便小创客学习。{:5_125:}

看来,是时候让他读读夏青老师的文章了。


自动浇花略过(此处省略200字及若干张图,还可再写个帖子凑数{:5_120:})。

物联网浇花,走起。


物联网是将嵌入式系统技术、移动技术、网页技术全都融合在一起的,其发展的灵魂是以用户体验为核心,特点是与硬件、网络、平台、服务等完全不同的产业领域的相关者直接合作或者融合。

目前国内外已有多个成熟物联网平台,但绝大部分物联网平台都是面向专业开发人员,操作复杂,上手困难。DF推出了OBLOQ物联网模块,搭配DFRobot自有的物联网平台,大大降低了物联网的使用门槛。无需复杂的基础知识,就能迅速搭建出一套物联网应用。


OBLOQ串口转WIFI物联网模块,用以接收和发送物联网信息。模块尺寸紧凑,价格低,接口简单,即插即用,适用于3.3V~5V的控制系统。Obloq模块配套DFRobot EASY-IoT物联网平台



1、进入物联网也可以直接进入 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.png4.添加设备记录Topic      点击“添加新设备”按钮创建一个新设备,并记录下该设备的Topic。如下图所示。https://mc.dfrobot.com.cn/data/attachment/forum/201802/07/211015cdubmd0xu2uduukk.png至此,物联网平台设置工作到此结束。(抄到这里。;P)
5、进入https://makecode.microbit.org/---高级---添加软件包---输入网址https://github.com/DFRobot/pxt-Obloq---添加OBLOQ软件包

6、接线,将microbit的串口与Obloq连接(p2 tx连rx,p1 rx连tx)。VCC接3.3和5V都行的。用充电宝或者电源适配器供电到扩展板,我把舵机接p12,供电开关切换到5V。7、编程开机时连接启动物联网,并将土壤湿度传感器的值上传物联网平台。(用于测试,时间设为一分钟,实用时可以延长。)
在平台上(可以电脑,也可用手机)发送指令,bit接收到指令后控制舵机角度。8、测试查看平台数据,用pc或手机登录物联网平台DFRobot EASY-IoT物联网平台 https://iot.dfrobot.com.cn/,进入个人工作间。
查看详情。
平台向浇花系统发送指令bit接收到指令k后控制舵机运动角度,开始浇花。
bit接收到指令g后控制舵机运动角度,开始浇花。
(以上测试是没有浇花的测试)特别提醒:现在IOT功能DF做了点小限制,从服务器接收数据时没有时间间隔的,但是发送数据的话,最快5秒钟发送一条。所以不要发送太快哦,太快就会接收不到并且有假死的症状了。这时就只能断电后重新给扩展板供电再次接入wifi了。
9、测试视频。具体制作过程可以参考狄老师教程。这里不再啰嗦了呢。我用了从实验室拿的胶塞和玻璃管来做了,比狄老师的成本高了许多。玻璃管太重,后来换成了台萌的吸管了。装盒子里,我可不想bit让水浇了。土壤湿度传感器也保护下。https://v.youku.com/v_show/id_XMzUxMTI5NjkwOA==.html
https://v.youku.com/v_show/id_XMzUxMTI5NzkwMA==.html

这盆吊兰本来不旱,不过浇一会,数据还是有了变化。变小了。对比干燥时的数据700+(前几天测过),变小了很多。
用手机控制下试试,也很棒哦。这样在外出时,就可以随时查看花宝宝是否缺水。
如果缺水了,就发个命令过去吧。{:5_168:}
妈妈再也不怕花宝宝口渴了。
https://v.youku.com/v_show/id_XMzUxMTMzMzU3Mg==.html
在后面有一个教程,写和是用手机APP来控制micro:bit物联网硬件---用App控制Micro:bit物联网小风扇。您可以把这个浇花改成用手机APP控制。是不是可以更厉害啊。
我们的QQ群号码:484477101(中小学microbit课堂教学群)


static/image/hrline/4.gif
以下为4月25日更新。

下面程序是进行的是BXY+Obloq-IoT物联网双向数据传输测试。
这里可以实现多个IOT_TOPIC的数据接收和发送,那么,用一个IOT_TOPIC接收土壤温度数据,一个IOT_TOPIC控制舵机浇花,将会变得轻松,物联网远程浇花也可以用APP实现了。:victory:
参考帖子:BXY+Obloq-IoT物联网(+App)双向数据传输测试,浇花也可用APP...
https://mc.dfrobot.com.cn/thread-36861-1-1.html
(出处: DF创客社区 - 分享创造的喜悦)

App设置参考教程:
使用手机app与Easy Iot物联网平台进行通讯和用App控制Micro:bit物联网小风扇。


物联网浇花测试例程:p0 土壤温度传感器 对应IOT_TOPIC1,采集数据时间为10秒一次,建议使用时增长一些。p12 舵机,对应IOT_TOPIC2,发送1、0控制舵机动作,合适度数请根据实际情况调整。
from microbit import *
import Obloq

pin12.set_analog_period(20)

SERVER= "iot.dfrobot.com.cn"
PORT= "1883"
SSID= "woaixcl"
PASSWORD = "xcl13703403503"
IOT_ID = "H1-YrdHhvf"
IOT_PWD = "SyMYSdB3wz"
IOT_TOPIC1 = "SkneZ4pRM"
IOT_TOPIC2 = "r1NWwN23z"

uart.init(baudrate=9600, bits=8, parity=None, stop=1, tx=pin2, rx=pin1)

def ConnectWifi():
while Obloq.connectWifi(SSID,PASSWORD,10000) != True:
    display.show(".")
display.scroll(Obloq.ifconfig()) #设置MQTT的回调函数
def event(e,param):
if e == "MqttConneted":#MQTT连接成功
    display.scroll("OK")   
if e == IOT_TOPIC2:#收到了订阅的topic2的信息   
    display.scroll(param)#显示订阅topic2信息   
    if param == "1":      
      pin12.write_analog((0.5 + 180/90)*1023/20)   
    if param == "0":      
      pin12.write_analog((0.5 + 90/90)*1023/20)
if e == "SubOk":#订阅成功      
    display.scroll("OK")   
ConnectWifi()
#初始化MQTT的配置
Obloq.mqttSet(event,SERVER,PORT)
#连接MQTT
Obloq.connectMqtt(IOT_ID,IOT_PWD)
Obloq.subTopic(IOT_TOPIC2)#订阅Topoic2
while True:
val = pin0.read_analog()
sleep(10000)
#向服务器的IOT_TOPIC1发送
Obloq.pubLish(IOT_TOPIC1,str(val))
    注意1、改成自己的信息。
https://mc.dfrobot.com.cn/data/attachment/forum/201804/25/204337rfiwsrysr2yq8f85.png
注意2、修改合适的舵机度数(不建议用两个0,180极值,例如30-150度之间,这样减少舵机抖动。)
https://mc.dfrobot.com.cn/data/attachment/forum/201804/25/205119lk6w1h05mz1p1w1k.png
如果舵机不能运行,请看是不是少了第4行。
pin12.set_analog_period(20)
大圣老师进行了App查看数据并控制舵机运行测试(具体舵机度数以自己实测为准)。
https://mc.dfrobot.com.cn/data/attachment/forum/201804/25/205932ogjkcps9mgd99xj1.png 1、物联网平台设置:

2、Mqtt Buddy APP (安卓端点击下载)
打开软件,默认有两个官方示例,不用管(也可长按删除),点右上角”+“ 新增设备。
https://mc.dfrobot.com.cn/data/attachment/forum/201804/08/235140uozxqgn414zcigzw.png
3、设置参数:
3.1按照easyiot的设置填写:
NAME和ADDRESS是物联网服务器地址,填iot.dfrobot.com.cn
PORT填: 1883
USERNAME和USERPASS是物联网分配的用户名和密码,点击easyiot网站上的小眼睛,然后对应填写即可完成
填写完毕点击软件里面的CREATE按钮确定。
https://mc.dfrobot.com.cn/data/attachment/forum/201804/09/000812hh1j3y0j3okt09ez.png
3.2如下图出现一个新设备,点击进入设置
https://mc.dfrobot.com.cn/data/attachment/forum/201804/09/000136xphrdvevh9ydj9r7.png
3.3如下为设备界面,右上角连接服务器显示为蓝色即表示连接到了服务器(若没有亮需检查前一步的设置)。
确定连接好之后点击右上角的”+“添加通信设备
https://mc.dfrobot.com.cn/data/attachment/forum/201804/09/000952ib258xii972eba88.png
3.4选择通信按钮的形式,我们选择先选择一个BUTTON(按钮),用来控制设备
https://mc.dfrobot.com.cn/data/attachment/forum/201804/09/001212qh9bgeshydg3tcac.png
3.5topic从easyiot网站上填写成相同的:


3.6再添加一个传感器按钮。


static/image/hrline/5.gif
5月14日更新:程序更新一下哈。DF的BXY其实出的有自己的伺服机构模块的。所以改一下,更好理解。如果要详细了解,可以参考下面帖子。
玩转micro:bit-用BXY控制小舵机、360舵机和带驱动N20电机

from microbit import *
import Obloq
import Servo

sv=Servo(pin12)

SERVER= "iot.dfrobot.com.cn"
PORT= "1883"
SSID= "woaixcl"
PASSWORD = "xcl13703403503"
IOT_ID = "H1-YrdHhvf"
IOT_PWD = "SyMYSdB3wz"
IOT_TOPIC1 = "SkneZ4pRM"
IOT_TOPIC2 = "r1NWwN23z"

uart.init(baudrate=9600, bits=8, parity=None, stop=1, tx=pin2, rx=pin1)

def ConnectWifi():
while Obloq.connectWifi(SSID,PASSWORD,10000) != True:
    display.show(".")
display.scroll(Obloq.ifconfig()) #设置MQTT的回调函数
def event(e,param):
if e == "MqttConneted":#MQTT连接成功
    display.scroll("OK")   
if e == IOT_TOPIC2:#收到了订阅的topic2的信息   
    display.scroll(param)#显示订阅topic2信息   
    if param == "1":      
      sv.angle(170)   
    if param == "0":      
      sv.angle(90)
if e == "SubOk":#订阅成功      
    display.scroll("OK")   
ConnectWifi()
#初始化MQTT的配置
Obloq.mqttSet(event,SERVER,PORT)
#连接MQTT
Obloq.connectMqtt(IOT_ID,IOT_PWD)
Obloq.subTopic(IOT_TOPIC2)#订阅Topoic2
while True:
val = pin0.read_analog()
sleep(10000)
#向服务器的IOT_TOPIC1发送
Obloq.pubLish(IOT_TOPIC1,str(val))


哈哈,确认过眼神!这是我想要的物联网浇花!


哈哈,要不要也来个玩玩。

精简版购买链接:Micro:bit+OBLOQ-IoT模块物联网浇花(精简版)

哇,让我们一起轻松玩转物联网吧。{:5_129:}


static/image/hrline/1.gif

6月20日更新:Mind+也能玩物联网浇花。
内容参考另一个帖子:
用Mind+做物联网浇花,小朋友也可以玩




static/image/hrline/1.gif6月21日更新:
自己写个APP来浇花,参考下面的帖子:
这个不能算物联网应用,不过写个APP简单用一下,也是挺好玩的。
玩转micro:bit-手机APP+bit蓝牙通信浇花
https://mc.dfrobot.com.cn/thread-37517-1-1.html
(出处: DF创客社区 - 分享创造的喜悦)

static/image/hrline/1.gif

2018,7,22,更新

1、前面的数据处理方式还有需要优化的地方,DF现在第个设备只给了1000条数据量,不节约使用,很快就会用完的。
   这次参加了物联网比赛,学到了新的方法,在需要采集土壤湿度数据时发送指令时才采集,这样可以节约宝贵的数据资源。
2、3D外壳也做了一个,有喜欢的拿去。附件中有。





rzyzzxw 发表于 2018-11-13 20:27:49

20870886 发表于 2018-11-13 15:21
哦,现在可以发送数据到平台,可是发送数据给模块哦,舵机不动呢,是我的程序有问题么?大咖帮忙啊 ...

扩展板供电啊。

rzyzzxw 发表于 2018-5-2 08:29:45

本帖最后由 rzyzzxw 于 2018-5-19 13:20 编辑

安卓机器人 发表于 2018-4-3 18:37
也想制作个性软件包,不过看似较高级啊
https://makecode.com/packages/getting-started
这个是官方的教程

晚辰 发表于 2019-11-4 08:42:51

rzyzzxw 发表于 2018-4-3 15:31
的确简单,df这一段软硬兼施,厉害了。

大佬还在么,想购买你的那个完整版,想知道里面包含哪些东西呢?

Forgotten 发表于 2018-4-3 15:28:48

前排沙发 用起来好简单 {:5_130:}

rzyzzxw 发表于 2018-4-3 15:31:26

Forgotten 发表于 2018-4-3 15:28
前排沙发 用起来好简单

的确简单,df这一段软硬兼施,厉害了。{:5_185:}

青夏 发表于 2018-4-3 16:32:25

搞个心愿单

安卓机器人 发表于 2018-4-3 18:37:56

也想制作个性软件包,不过看似较高级啊

rzyzzxw 发表于 2018-4-3 19:20:44

青夏 发表于 2018-4-3 16:32
搞个心愿单

好的。{:5_148:}

rzyzzxw 发表于 2018-4-3 19:21:28

安卓机器人 发表于 2018-4-3 18:37
也想制作个性软件包,不过看似较高级啊

这要向邵老师,李工请教了。

rzyzzxw 发表于 2018-4-3 19:22:17

Forgotten 发表于 2018-4-3 15:28
前排沙发 用起来好简单

简单的不是一点点呢。:lol

gray6666 发表于 2018-4-4 10:58:08

看着眼馋,争取搞一个试试。。。。。。。。。。。。

青夏 发表于 2018-4-5 12:11:38

这个心愿单有点问题,修改一下吧。

rzyzzxw 发表于 2018-4-5 16:00:38

青夏 发表于 2018-4-5 12:11
这个心愿单有点问题,修改一下吧。

已经解决了。:victory:

maologao 发表于 2018-4-7 08:23:35

好,可以让小创客学学。

rzyzzxw 发表于 2018-4-7 08:56:21

maologao 发表于 2018-4-7 08:23
好,可以让小创客学学。

对啊,可以让小朋友学起来。df的模块和软件很棒。商场有心愿单,喜欢可以来一个。;P

智慧养老 发表于 2018-4-8 08:27:20

虽然不会,但很喜欢

lkl0305 发表于 2018-4-8 13:14:34

很不错的样子

rzyzzxw 发表于 2018-4-10 08:20:03

lkl0305 发表于 2018-4-8 13:14
很不错的样子

一起做起来,智能家居,智慧校园,智慧农业……

rzyzzxw 发表于 2018-4-10 08:20:51

智慧养老 发表于 2018-4-8 08:27
虽然不会,但很喜欢

一起做起来,智能家居,智慧校园,智慧农业……还有智慧养老:victory:

rzyzzxw 发表于 2018-4-25 21:40:51

更新了下,加上了App,土壤湿度采集,舵机单独控制。

chinazmde 发表于 2018-4-26 19:28:54

简单易学的物联网。:victory:

lilei8488 发表于 2018-5-15 12:59:46

个性软件包很厉害
页: [1] 2 3
查看完整版本: OBLOQ-IoT模块+Micro:bit玩物联网浇花