一步步打造能手机远程管理的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首页

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
1月前
|
JavaScript Java 测试技术
基于Java的网上手机销售系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网上手机销售系统的设计与实现(源码+lw+部署文档+讲解等)
26 0
|
2月前
|
机器学习/深度学习 人工智能 安全
未来智能手机系统的发展趋势与挑战
移动应用与系统领域一直处于快速发展的状态,未来智能手机系统将面临更多挑战和机遇。本文探讨了在人工智能、物联网和安全性方面的新发展趋势,以及如何应对未来智能手机系统的挑战。
|
2月前
|
存储 安全 前端开发
509基于java的网上手机销售系统
509基于java的网上手机销售系统
|
2月前
|
人工智能 安全 vr&ar
未来智能手机系统的发展趋势与展望
【2月更文挑战第11天】随着科技的快速发展,智能手机已经成为人们生活中不可或缺的一部分。本文将探讨未来智能手机系统的发展趋势,以及对安卓和iOS系统的展望,旨在带领读者深入了解智能手机操作系统的未来发展方向。
32 5
|
2月前
|
移动开发 API HTML5
HTML5响应式自动采集API壁纸系统源码自适应手机端
HTML5响应式自动采集API壁纸系统源码自适应手机端
41 11
HTML5响应式自动采集API壁纸系统源码自适应手机端
|
4月前
|
Android开发 iOS开发
【教程】如何在苹果手机上查看系统文件?
苹果手机与安卓手机不同,无法直接访问系统文件夹。但是,如果我们想要查看苹果手机的系统文件,可以借助一些工具来实现。本文将介绍一款名为克魔助手的iOS设备管理软件,它能帮助我们轻松查看苹果手机的系统文件。 连接iPhone到电脑,打开克魔助手,用数据线将iPhone连接到电脑上。连接成功后,克魔助手会自动读取iPhone的信息,并显示在软件的主界面上。
【教程】如何在苹果手机上查看系统文件?
|
5月前
|
前端开发 JavaScript Java
基于SSM实现手机销售商城系统
基于SSM实现手机销售商城系统
|
5月前
|
iOS开发
【怒怼老乔】居然苹果手机IOS系统还不支持css3的transparent属性值,我去~~~~
【怒怼老乔】居然苹果手机IOS系统还不支持css3的transparent属性值,我去~~~~
|
5月前
|
存储 移动开发 JavaScript
【原生】sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
【原生】sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
|
6月前
|
Java 数据库 Android开发
0009Java安卓程序设计-ssm基于android手机设计并实现在线点单系统APP
0009Java安卓程序设计-ssm基于android手机设计并实现在线点单系统APP
31 0