一步步打造能手机远程管理的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
相关文章
|
2月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
3月前
|
存储 NoSQL Java
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
该博客文章展示了如何在Linux虚拟机上使用Redis和Jedis客户端实现手机验证码的验证功能,包括验证码的生成、存储、验证以及限制每天发送次数的逻辑,并提供了测试结果截图。
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
|
3月前
|
存储 数据可视化 C语言
【C语言】C语言 手机通讯录系统的设计 (源码+数据+论文)【独一无二】
【C语言】C语言 手机通讯录系统的设计 (源码+数据+论文)【独一无二】
|
5月前
|
PHP
驾校在线考试系统源码 手机+PC+平板自适应
Thinkphp在线考题源码 驾校在线考试系统 手机+PC+平板 自适应,机动车驾驶培训学校驾校类网站源码带手机端 运行环境:php+mysql
179 11
驾校在线考试系统源码 手机+PC+平板自适应
|
4月前
|
关系型数据库 MySQL 测试技术
基于SpringBoot+Vue华强北商城二手手机管理系统(源码+部署说明+演示视频+源码介绍+lw)(4)
基于SpringBoot+Vue华强北商城二手手机管理系统(源码+部署说明+演示视频+源码介绍+lw)
50 2
|
4月前
|
数据库
基于SpringBoot+Vue华强北商城二手手机管理系统(源码+部署说明+演示视频+源码介绍+lw)(3)
基于SpringBoot+Vue华强北商城二手手机管理系统(源码+部署说明+演示视频+源码介绍+lw)
69 2
|
4月前
|
存储 安全 Java
基于SpringBoot+Vue华强北商城二手手机管理系统(源码+部署说明+演示视频+源码介绍+lw)(2)
基于SpringBoot+Vue华强北商城二手手机管理系统(源码+部署说明+演示视频+源码介绍+lw)
84 1
|
4月前
|
JavaScript Java 关系型数据库
基于SpringBoot+Vue华强北商城二手手机管理系统(源码+部署说明+演示视频+源码介绍+lw)(1)
基于SpringBoot+Vue华强北商城二手手机管理系统(源码+部署说明+演示视频+源码介绍+lw)
94 1
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的网上手机销售系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的网上手机销售系统附带文章源码部署视频讲解等
46 0
|
5月前
|
Java 关系型数据库 MySQL
基于Java的二手手机回收平台系统
基于Java的二手手机回收平台系统