一步步打造能手机远程管理的HaaS花卉养植系统-阿里云开发者社区

开发者社区> 阿里云 Cloud AIoT Native> 正文
登录阅读全文

一步步打造能手机远程管理的HaaS花卉养植系统

简介: 过去,许多人一听到 嵌入式..智能硬件,就有点头大,甚至会感到一丝丝的恐惧。 其实不然,现在有了HaaS积木台,真的就能让物联网智能硬件简单、好玩、普惠。 接下来,我就以HaaS打造的花卉养植系统为例,展示开发者如何自己一步步简单快速搭建起属于自己的好玩智能硬件。

从设备花卉监护端系统开发,到云平台设备模型及远程调试,再到手机端钉钉小程序开发。整个全链路打通过程,不过1小时。

1、设备端的环境搭建
万事开头难,请打开参考文档HaaS快速开始,里面会教你如何一步步拉取、编译、下载代码,整个过程非常简单哦!
image.png

2、云端配置
请先点击登陆物联网平台(未注册阿里云账户的用户,请先完成账户注册),按下面步骤一步步去打造

2.1、创建项目
注册登入后,如下图所示,前往管理控制台。

image.png

点击公共实例,进行产品创建

image.png

注意:我们为购买了HaaS板的开发者用户提供了免费一年的公共实例资源包。

如您有需要,可加入开发者支持钉钉群(见文章尾部),联系相关同学领取。

2.2、创建HaaS养花产品
点击创建产品,见下图所示,这里创建了一个名称“HaaS养花”产品。

image.png

在产品详情中增加产品的功能,比如:温度、湿度等。

image.png

2.3、设备管理
2.3.1、添加设备
在设备列表中增加对应产品的设备。

image.png

2.3.2、设备信息
查看设备信息

image.png

创建后的设备四元组信息需要同步到设备端的开发代码段中,在3.1章节会介绍。待设备端开发结束,就可以在物联网平台中参看设备在线状态。

 

3、HaaS养花系统全链路功能开发
3.1、设备端的软件配置
HaaS100设备端养花盒子参考代码的路径在:/application/example/flower_demo下。

将云端创建设备的四元组信息填写到linkkit_event.c中。

image.png

编译命令

aos make flower_demo@haas100 -c config
aos make

将生产的bin文件按照固件烧入指引方式写的设备中。

3.2、设备配网连云
Haas养花系统硬件上电启动以后,可以通过命令行进行配网,串口输入如下指令可完成配网:

netmgr -t wifi -c {ssid} {password}
例如 
ssid:xxx-test-Hass
password:88888888
netmgr -t wifi -c xxx-test-Hass 88888888

然后设备就连到阿里云物联网平台了

3.3、HaaS养花钉钉小程序开发
为了支持云端一体开发,我们推出了小程序SDK,可以帮助用户快速打通小程序到物联网平台的链路。开发者可以使用如下指令获取SDK:

git clone -b dev_3.1.0_haas https://github.com/alibaba/AliOS-Things.git

注意:如果在之前开发HaaS养花设备端的时候有下载过 AliOS-Things代码仓库,小程序SDK就在其中,无需重新下载。

在/application/miniapp目录下,就是对应的小程序开发代码,用户需要使用支付宝小程序IDE打开/application/miniapp目录,这里同时需要申请小程序的APPID。

image.png

分别在 app.js 及 HaasFlower.js 中填写您的 AccessKey 以及 设备信息,可以参考这篇README。

// app.js
  accessKey: {
    accessKeyId: '<- accessKeyId ->',   // 填入阿里云平台生成的 assessKeyId 以及 Secret
    accessKeySecret: '<- accessKeySecret ->',
  },
    
 // HaasFlower.js
  haasFlower: {
    DeviceName: '<- DeviceName ->',   // 填入目标设备 DeviceName 以及 ProductKey
    ProductKey: '<- ProductKey ->'
  },

并在小程序详情中,勾选忽略 request 域名合法性检查(仅在本地模拟、预览和远程调试时生效)。

image.png

点击真机调试,即可下拉刷新页面,即可看到更新温湿度信息(需要设备在线并连接到物联网平台)。

3.4、温湿度传感器开发
3.4.1、DHT11 温湿度传感器

image.png

3.4.2、DHT11 温湿度传感器时序
DHT11 温湿度传感器工作时序:主机发开始信号-》DHT11响应输出-》DHT11数据信号。

image.png

默认平时高电平,起始信号为低电平。

1、主机发开始以及DHT11响应的信号

主机发开始信号:低电平大于18ms,高电平20-40us;

DHT11响应的信号:低电平80us,高电平80us;

image.png

2、DHT11数据信号

DHT11数据信号规则

一次完整的数据传输为40bit,高位先出。

数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和
校验和数据=“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”所得结果的末8位。
DHT11传感器如果没有接收到主机发送开始信号,不会主动进行温湿度采集。

‘0’数信号

低电平50us,高电平26-28us

image.png

‘1’数信号

低电平50us,高电平70us

image.png

3.4.3、土壤湿度传感器
下图是土壤湿度检测的传感器

image.png

可以通过调节来设置传感器的探测灵敏度,通过DO pin脚信号即可获取当前土壤的湿度状态。

土壤湿度比较干燥,DO输出高电平,需要浇水;
土壤湿度湿润,DO输出低电平;

3.4.4 代码示例

image.png

具体的代码实现,请参考flower_app.c。

4、小结
至此,一个简单的能手机远程管理的HaaS花卉养植系统就做好了。是不是很简单?

当然,这个HaaS花卉养植系统的打造仅仅是一个抛砖引玉,还有很大的扩展空间,比如 湿度过低触发自动洒水,温度过高自动开家里的空调等设备。还有非常大的想象和发挥空间。

同理,做一个 HaaS家庭鱼缸 远程监测包括喂食 等系统,也就很简单了。

另外,也希望大家能一起携手来丰富Haas的应用案例化,打造出更多更有意思的场景,比如:HaaS+人感打造智慧办公室、HaaS+Mic/Speaker打造和谐校园、HaaS+空净打造呼吸守护系统等等。

5、开发者技术支持
如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

image.png

更多技术与解决方案介绍,请访问阿里云AIoT首页

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里云 Cloud AIoT Native
使用钉钉扫一扫加入圈子
+ 订阅

官方博客
官网链接