64610| 46
|
[入门教程] OBLOQ-IoT模块+Micro:bit玩物联网浇花 |
micro:bit从来到这个世界上,就是个古灵精怪的小创客,千变万化,这次要和DFRobot OBLOQ-IOT模块合作,变身物联网浇花神器了。 而且,超级简单,简单到丧心病狂。 项目提示: 本教程提供了从硬件准备,物联网平台设置,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也要玩物联网浇花,不用水泵,不用继电器,方便小创客学习。 看来,是时候让他读读夏青老师的文章了。 自动浇花略过(此处省略200字及若干张图,还可再写个帖子凑数)。 物联网浇花,走起。 物联网是将嵌入式系统技术、移动技术、网页技术全都融合在一起的,其发展的灵魂是以用户体验为核心,特点是与硬件、网络、平台、服务等完全不同的产业领域的相关者直接合作或者融合。 目前国内外已有多个成熟物联网平台,但绝大部分物联网平台都是面向专业开发人员,操作复杂,上手困难。DF推出了OBLOQ物联网模块,搭配DFRobot自有的物联网平台,大大降低了物联网的使用门槛。无需复杂的基础知识,就能迅速搭建出一套物联网应用。 OBLOQ串口转WIFI物联网模块,用以接收和发送物联网信息。模块尺寸紧凑,价格低,接口简单,即插即用,适用于3.3V~5V的控制系统。Obloq模块配套DFRobot EASY-IoT物联网平台 1、进入物联网 也可以直接进入 DF的物联网平台。Obloq模块配套DFRobot EASY-IoT物联网平台https://iot.dfrobot.com.cn/
3.查看并记录Iot_id和Iot_pwd 在这里我们需要记住Iot_id和Iot_pwd的内容,点击“重新生成”后面的眼睛,就可以显示对应的字符数据。 4.添加设备记录Topic 点击“添加新设备”按钮创建一个新设备,并记录下该设备的Topic。如下图所示。 至此,物联网平台设置工作到此结束。(抄到这里。;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让水浇了。 土壤湿度传感器也保护下。 这盆吊兰本来不旱,不过浇一会,数据还是有了变化。 变小了。 对比干燥时的数据700+(前几天测过),变小了很多。 用手机控制下试试,也很棒哦。 这样在外出时,就可以随时查看花宝宝是否缺水。 如果缺水了,就发个命令过去吧。 妈妈再也不怕花宝宝口渴了。 在后面有一个教程,写和是用手机APP来控制micro:bit物联网硬件---用App控制Micro:bit物联网小风扇。 您可以把这个浇花改成用手机APP控制。是不是可以更厉害啊。 以下为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控制舵机动作,合适度数请根据实际情况调整。 [mw_shl_code=python,true]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))[/mw_shl_code] 注意1、改成自己的信息。 注意2、修改合适的舵机度数(不建议用两个0,180极值,例如30-150度之间,这样减少舵机抖动。) 如果舵机不能运行,请看是不是少了第4行。 pin12.set_analog_period(20) 大圣老师进行了App查看数据并控制舵机运行测试(具体舵机度数以自己实测为准)。 1、物联网平台设置: 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网站上填写成相同的: 3.6再添加一个传感器按钮。 5月14日更新:程序更新一下哈。DF的BXY其实出的有自己的伺服机构模块的。所以改一下,更好理解。如果要详细了解,可以参考下面帖子。 玩转micro:bit-用BXY控制小舵机、360舵机和带驱动N20电机 [mw_shl_code=python,true]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))[/mw_shl_code] 哈哈,确认过眼神!这是我想要的物联网浇花! 哈哈,要不要也来个玩玩。 精简版购买链接:Micro:bit+OBLOQ-IoT模块物联网浇花(精简版) 哇,让我们一起轻松玩转物联网吧。 6月20日更新:Mind+也能玩物联网浇花。 内容参考另一个帖子: 用Mind+做物联网浇花,小朋友也可以玩 6月21日更新: 自己写个APP来浇花,参考下面的帖子: 这个不能算物联网应用,不过写个APP简单用一下,也是挺好玩的。 玩转micro:bit-手机APP+bit蓝牙通信浇花 https://mc.dfrobot.com.cn/thread-37517-1-1.html (出处: DF创客社区 - 分享创造的喜悦) 2018,7,22,更新 1、前面的数据处理方式还有需要优化的地方,DF现在第个设备只给了1000条数据量,不节约使用,很快就会用完的。 这次参加了物联网比赛,学到了新的方法,在需要采集土壤湿度数据时发送指令时才采集,这样可以节约宝贵的数据资源。 2、3D外壳也做了一个,有喜欢的拿去。附件中有。 |
256.45 KB, 下载次数: 35
售价: 5 创造力 [记录]
本帖最后由 rzyzzxw 于 2018-5-19 13:20 编辑 安卓机器人 发表于 2018-4-3 18:37 https://makecode.com/packages/getting-started 这个是官方的教程 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed