过去,许多人一听到 嵌入式..智能硬件,就有点头大,甚至会感到一丝丝的恐惧。
其实不然,现在有了HaaS积木台,真的就能让物联网智能硬件简单、好玩、普惠。
接下来,我就以HaaS打造的花卉养植系统为例,展示开发者如何自己一步步简单快速搭建起属于自己的好玩智能硬件。
从设备花卉监护端系统开发,到云平台设备模型及远程调试,再到手机端钉钉小程序开发。整个全链路打通过程,不过1小时。
万事开头难,请打开参考文档HaaS快速开始,里面会教你如何一步步拉取、编译、下载代码,整个过程非常简单哦!
请先点击登陆物联网平台(未注册阿里云账户的用户,请先完成账户注册),按下面步骤一步步去打造
注册登入后,如下图所示,前往管理控制台。
点击公共实例,进行产品创建
注意:我们为购买了HaaS板的开发者用户提供了免费一年的公共实例资源包。
如您有需要,可加入开发者支持钉钉群(见文章尾部),联系相关同学领取。
点击创建产品,见下图所示,这里创建了一个名称“HaaS养花”产品。
在产品详情中增加产品的功能,比如:温度、湿度等。
在设备列表中增加对应产品的设备。
查看设备信息
创建后的设备四元组信息需要同步到设备端的开发代码段中,在3.1章节会介绍。待设备端开发结束,就可以在物联网平台中参看设备在线状态。
HaaS100设备端养花盒子参考代码的路径在:/application/example/flower_demo下。
将云端创建设备的四元组信息填写到linkkit_event.c中。
编译命令
aos make flower_demo@haas100 -c config
aos make
将生产的bin文件按照固件烧入指引方式写的设备中。
Haas养花系统硬件上电启动以后,可以通过命令行进行配网,串口输入如下指令可完成配网:
netmgr -t wifi -c {ssid} {password}
例如
ssid:xxx-test-Hass
password:88888888
netmgr -t wifi -c xxx-test-Hass 88888888
然后设备就连到阿里云物联网平台了
为了支持云端一体开发,我们推出了小程序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。
分别在 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 域名合法性检查(仅在本地模拟、预览和远程调试时生效)。
点击真机调试,即可下拉刷新页面,即可看到更新温湿度信息(需要设备在线并连接到物联网平台)。
DHT11 温湿度传感器工作时序:主机发开始信号-》DHT11响应输出-》DHT11数据信号。
默认平时高电平,起始信号为低电平。
1、主机发开始以及DHT11响应的信号
主机发开始信号:低电平大于18ms,高电平20-40us;
DHT11响应的信号:低电平80us,高电平80us;
2、DHT11数据信号
DHT11数据信号规则
一次完整的数据传输为40bit,高位先出。
数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和
校验和数据=“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”所得结果的末8位。
DHT11传感器如果没有接收到主机发送开始信号,不会主动进行温湿度采集。
‘0’数信号
低电平50us,高电平26-28us
‘1’数信号
低电平50us,高电平70us
下图是土壤湿度检测的传感器
可以通过调节来设置传感器的探测灵敏度,通过DO pin脚信号即可获取当前土壤的湿度状态。
具体的代码实现,请参考flower_app.c。
至此,一个简单的能手机远程管理的HaaS花卉养植系统就做好了。是不是很简单?
当然,这个HaaS花卉养植系统的打造仅仅是一个抛砖引玉,还有很大的扩展空间,比如 湿度过低触发自动洒水,温度过高自动开家里的空调等设备。还有非常大的想象和发挥空间。
同理,做一个 HaaS家庭鱼缸 远程监测包括喂食 等系统,也就很简单了。
另外,也希望大家能一起携手来丰富Haas的应用案例化,打造出更多更有意思的场景,比如:HaaS+人感打造智慧办公室、HaaS+Mic/Speaker打造和谐校园、HaaS+空净打造呼吸守护系统等等。
如需更多技术支持,可加入钉钉开发者群
更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/