查看: 12423|回复: 25

[基础教程] OBLOQ-IoT模块+Micro:bit玩物联网浇花

[复制链接]
本帖最后由 rzyzzxw 于 2018-7-22 16:30 编辑

截图201803311745211450.png

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

而且,超级简单,简单到丧心病狂。


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

器材准备:A: Micro:bit+OBLOQ-IoT模块物联网浇花(完整版)
截图201805151904068298.png
B:Micro:bit+OBLOQ-IoT模块物联网浇花(精简版) 适用已有micro:bit主板的伙伴

截图201805151906261306.png                            
C:  Micro:bit物联网基础套装适用已有土壤湿度传感器和小舵机的伙伴
截图201805151910023845.png
配件清单如下:
未命名_meitu_0.jpg
1、Gravity: UART OBLOQ - IoT物联网模块
2、Micro:Mate—最小的micro:bit多功能I/O扩展板
3、micro:bit 编程入门开发板
4、DMS-MG90 金属9g舵机 (1.8Kg)
5、一个水瓶,一段软管,或者就是护士给你一个打点滴用的药瓶和输液管。
6、还有一个重要的,电容式土壤湿度传感器 ,有没有感觉很漂亮,象一把剑。

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

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

看来,是时候让他读读夏青老师的文章了。
截图201803311810593800.png

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

物联网浇花,走起。
2018011815475208txoa (1).png

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

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


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

截图201803312108058971.png

1、进入物联网

捕获_meitu_1.jpg

捕获.PNG

也可以直接进入 DF的物联网平台。Obloq模块配套DFRobot EASY-IoT物联网平台http://iot.dfrobot.com.cn/

捕获.PNG


2.注册与登陆(下面一部分抄陈大师的。)
       首次打开物联网平台后先进行用户注册,完成注册后,登陆平台(具体操作见)。首次登陆后界面是这样子的如下图:


3.查看并记录Iot_id和Iot_pwd
      在这里我们需要记住Iot_id和Iot_pwd的内容,点击“重新生成”后面的眼睛,就可以显示对应的字符数据。
4.添加设备记录Topic
        点击“添加新设备”按钮创建一个新设备,并记录下该设备的Topic。如下图所示。
至此,物联网平台设置工作到此结束。(抄到这里。

5、进入https://makecode.microbit.org/---高级---添加软件包---输入网址https://github.com/DFRobot/pxt-Obloq---添加OBLOQ软件包
捕获.PNG
捕获.PNG

捕获.PNG

6、接线,将microbit的串口与Obloq连接(p2 tx连rx,p1 rx连tx)。
截图201804030913553304.png
VCC接3.3和5V都行的。
用充电宝或者电源适配器供电到扩展板,我把舵机接p12,供电开关切换到5V。
捕获2.PNG
7、编程
开机时连接启动物联网,并将土壤湿度传感器的值上传物联网平台。(用于测试,时间设为一分钟,实用时可以延长。)
捕获.PNG

在平台上(可以电脑,也可用手机)发送指令,bit接收到指令后控制舵机角度。
捕获1.PNG
8、测试
查看平台数据,用pc或手机登录物联网平台DFRobot EASY-IoT物联网平台 http://iot.dfrobot.com.cn/,进入个人工作间。

捕获.PNG
查看详情。
捕获.PNG

平台向浇花系统发送指令
捕获.PNG
捕获.PNG
bit接收到指令k后控制舵机运动角度,开始浇花。

bit接收到指令g后控制舵机运动角度,开始浇花。

(以上测试是没有浇花的测试)
特别提醒:现在IOT功能DF做了点小限制,从服务器接收数据时没有时间间隔的,但是发送数据的话,最快5秒钟发送一条。
所以不要发送太快哦,太快就会接收不到并且有假死的症状了。这时就只能断电后重新给扩展板供电再次接入wifi了。

9、测试视频。
具体制作过程可以参考狄老师教程。
这里不再啰嗦了呢。
我用了从实验室拿的胶塞和玻璃管来做了,比狄老师的成本高了许多。
截图201804031437022209.png
玻璃管太重,后来换成了台萌的吸管了。
截图201804031438499540.png
装盒子里,我可不想bit让水浇了。
土壤湿度传感器也保护下。


捕获11.PNG

这盆吊兰本来不旱,不过浇一会,数据还是有了变化。
变小了。
对比干燥时的数据700+(前几天测过),变小了很多。

用手机控制下试试,也很棒哦。
这样在外出时,就可以随时查看花宝宝是否缺水。

如果缺水了,就发个命令过去吧。

妈妈再也不怕花宝宝口渴了。


在后面有一个教程,写和是用手机APP来控制micro:bit物联网硬件---用App控制Micro:bit物联网小风扇
您可以把这个浇花改成用手机APP控制。是不是可以更厉害啊。

我们的QQ群号码:484477101(中小学microbit课堂教学群)



以下为4月25日更新。

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

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


物联网浇花测试例程:p0 土壤温度传感器 对应IOT_TOPIC1,采集数据时间为10秒一次,建议使用时增长一些。p12 舵机,对应IOT_TOPIC2,发送1、0控制舵机动作,合适度数请根据实际情况调整。
[Python] 纯文本查看 复制代码
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、改成自己的信息。

  注意2、修改合适的舵机度数(不建议用两个0,180极值,例如30-150度之间,这样减少舵机抖动。)

  如果舵机不能运行,请看是不是少了第4行。
  pin12.set_analog_period(20)
  大圣老师进行了App查看数据并控制舵机运行测试(具体舵机度数以自己实测为准)。
1、物联网平台设置:
截图201804252113136065.png
2、Mqtt Buddy APP (安卓端点击下载
打开软件,默认有两个官方示例,不用管(也可长按删除),点右上角”+“ 新增设备。

3、设置参数:
3.1按照easyiot的设置填写:
NAME和ADDRESS是物联网服务器地址,填  iot.dfrobot.com.cn
PORT填: 1883
USERNAME和USERPASS是物联网分配的用户名和密码,点击easyiot网站上的小眼睛,然后对应填写即可完成
填写完毕点击软件里面的CREATE按钮确定。

3.2如下图出现一个新设备,点击进入设置

3.3如下为设备界面,右上角连接服务器显示为蓝色即表示连接到了服务器(若没有亮需检查前一步的设置)。
确定连接好之后点击右上角的”+“添加通信设备

3.4选择通信按钮的形式,我们选择先选择一个BUTTON(按钮),用来控制设备

3.5  topic从easyiot网站上填写成相同的:
截图201804252125466600.png

3.6再添加一个传感器按钮。
截图201804252124279975.png


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

[Python] 纯文本查看 复制代码
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))



哈哈,确认过眼神!这是我想要的物联网浇花!
截图201805151917577486.png

哈哈,要不要也来个玩玩。
截图201805151914581430.png
精简版购买链接:Micro:bit+OBLOQ-IoT模块物联网浇花(精简版)

哇,让我们一起轻松玩转物联网吧。




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

截图201806202023534699.png 截图201806202024094155.png 截图201806202024216970.png


6月21日更新:
自己写个APP来浇花,参考下面的帖子:
这个不能算物联网应用,不过写个APP简单用一下,也是挺好玩的。
玩转micro:bit-手机APP+bit蓝牙通信浇花
http://mc.dfrobot.com.cn/forum.p ... 7517&fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
截图201806211537178925.png


2018,7,22,更新

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




OBLOQ_IOT.rar

256.45 KB, 下载次数: 4, 下载积分: 创造力 -1

售价: 5 创造力  [记录]

Forgotten  版主

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

前排沙发 用起来好简单
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

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

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

的确简单,df这一段软硬兼施,厉害了。
回复 支持 反对

使用道具 举报

青夏  NPC

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

搞个心愿单
回复 支持 反对

使用道具 举报

安卓机器人  初级技神

发表于 2018-4-3 18:37:56

也想制作个性软件包,不过看似较高级啊
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

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


好的。
回复 支持 反对

使用道具 举报

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
前排沙发 用起来好简单

简单的不是一点点呢。
回复 支持 反对

使用道具 举报

gray6666  中级技匠

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

看着眼馋,争取搞一个试试。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

青夏  NPC

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

这个心愿单有点问题,修改一下吧。
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

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

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

已经解决了。
回复 支持 反对

使用道具 举报

maologao  高级技师

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

好,可以让小创客学学。
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

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

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

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

使用道具 举报

智慧养老  学徒

发表于 2018-4-8 08:27:20

虽然不会,但很喜欢
回复 支持 反对

使用道具 举报

lkl0305  中级技师

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

很不错的样子
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

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


一起做起来,智能家居,智慧校园,智慧农业……
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

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

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

一起做起来,智能家居,智慧校园,智慧农业……还有智慧养老
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

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

更新了下,加上了App,土壤湿度采集,舵机单独控制。
回复 支持 反对

使用道具 举报

chinazmde  高级技师

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

简单易学的物联网。
回复 支持 反对

使用道具 举报

rzyzzxw  版主
 楼主|

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

本帖最后由 rzyzzxw 于 2018-5-19 13:20 编辑
安卓机器人 发表于 2018-4-3 18:37
也想制作个性软件包,不过看似较高级啊

https://makecode.com/packages/getting-started
这个是官方的教程
回复 支持 反对

使用道具 举报

lilei8488  初级技师

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

个性软件包很厉害
回复 支持 反对

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail