程序员黑科技 | 用13块钱DIY微信小程序浇花神器

作为“祖国的花朵”队的替补射手,我心如刀割。

“为什么这样对祖国的花朵们平常不种花的吗 

“没办法啊,你知道深圳湾一 这种房子很大的,每天浇花得走好久。” 

“哼!总有一天我会让你们明白!”

小能手当时就下了决心,必须要让“深圳湾一 业主”明白,要让他们明白,房子再大也是可以轻松浇花的!

没过几天,小能手就基于腾讯云物联 开发平台做出来一个浇花器,随时随地打开微信小程序就可以查看盆栽的土壤情况,并且进行远程浇花。这样,长期出差的朋友,以及阳台路程达10分钟的业主们,都得以轻松呵护自己的花花草草。

这篇文章梳理了当时的方案设计和实现,给朋友们做个参考。

1 方案简介

1.1 总体方案

端侧通过 TencentOS tiny 定制 EVB_MX 开发板外挂一个湿度传感器和水泵,通过 LoRaWAN 模组及 关与腾讯云物联 开发平台进行通信,应用层使用微信小程序来查看湿度和控制水泵浇水。

所以小能手希望做一个能远程浇花的设备,不如就叫它“花花草草守护仪”。

另外结合 上热心 友的反馈,我决定砍掉光照、酸碱度、温度这几个非刚需的传感器,采用湿度传感器长期监控土壤的情况。

1.3 关于联 方式的考虑

深圳湾一 的套均建筑面积得有三四百平了吧,这要是用普通的 WiFi,业主们肯定还是会受到覆盖不足的困扰。贴心的小能手使用了目前物联 领域最火的技术 LoRa,低功耗远距离,真是别墅物联 应用的不二之选。

2 详细设计方案及实现

有了上面的构思之后,接下来描述详细设计方案及相应的实现。

2.1 浇花器硬件设计

硬件直接采用腾讯云物联 TencentOS tiny EVB_MX 开发板,自带瑞兴恒方的 LoRa 模组。外设部分,从 上花了 13 块钱购买了水泵和土壤湿度采集器。其中水泵只需要一个IO操作即可,湿度采集器可使用AD采集。

2.2 浇花器软件设计

浇花器业务上采用 LoRaWAN Class C 模式,这样可以实时获取到开关水泵的指令。同时周期性地上 相对湿度。

软件协议设计比较简单,且LoRa应用也建议使用精简的应用数据,我在发送时使用一个字节,采集土壤湿度的百分比;接收时也使用一个字节,0表示关泵,1表示开泵。

外设部分,ADC / GPIO 操作也不难,具体代码见下方:

对函数中的 AD 换算公式做个简单的说明,本能手在 上买了十来块钱的土壤湿度传感器。这玩意不能探测绝对湿度,于是本能手做了一些实测,根据干燥空气以及浸没水中的 AD 数值情况,得到了一个简易的公式,来测量土壤的含水量 0% ~ 100%。

烧写固件后,“花花草草守护仪”就开始周期性上 土壤湿度数据。

2.3 腾讯云 IoT Explorer 产品及设备处理

端侧处理完毕后,接下来在云平台上创建产品和设备。

云平台服务采用 腾讯云物联 开发平台(IoT Explorer) ,创建了一个 LoRaWAN 通信方式的产品,在设备参数部分选择 Class C 模式。

同时给“花花草草守护仪”定义了自己的数据模板,包含两个属性,一个水泵开关 pump_switch,一个土壤相对湿度 soil_moisture。

TencentOS tiny 的仓库中已经帮助大家做好了几个现成的小程序 DEMO,目录为 TencentOStiny/tools/MiniProgram/,因此我就偷个懒在上面修改下,主要功能是实现开泵浇水以及土壤湿度的查看。

再添加一个动图。

腾讯技术课直播预告:

4月30日(今天)晚上8点-9点

文章知识点与官方知识档案匹配,可进一步学习相关知识小程序技能树首页概览3741 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月26日
下一篇 2020年3月26日

相关推荐

/www.iruanshi.com/news2/author/jinwe2022"} }