这位生活博主不简单,用 ThingsCloud 玩转养花自动化

2/26/2024

articles/2023/20240304200639_962b2498e8962c497b3091f92c2c0666.png

ThingsCloud 将智能终端和云计算技术无缝结合,在农业、电力、交通、制造、医疗、物流等领域,为数千家企业提供了快速落地的物联网平台解决方案,轻松实现物联网设备的智能化管理。

然而,物联网技术同样在改变着我们的家居生活方式。

这一期的客户故事,来看看生活博主 Ciline 的分享,她将亲自讲述如何利用 ThingsCloud 和其它物联网技术和产品,让家庭植物种植的过程更加智能和高效,如何让阳台变得更加美丽多彩,还有她在数字化旅程中的一些思考和感悟。

文 / Ciline(生活博主 · 深圳)

起源

因为搬家,我家书房搬进了一个小阁楼里,窗户上下左右是枯燥的外墙砖、一楼的亚克力顶、和空调外机。忍受不了这种工作学习环境的难看,搬来几盆植物点缀一下生机,一盆三角梅、两盆常春藤。

这些可怜的、被突然翻了牌子的植物瞬间面临了植生最重大的考验:

  • 空调外机不断地燥热吹风;
  • 楼上没有水源;
  • 楼上只有空调导到楼下的排水管;
  • 因为是凹进来的位置,部分季节阳光无法直射;
  • 从未把植物养活过的劣迹斑斑的我;

初探数字化

一开始,我们买了几根土壤水分计插在花盆里,然后把家里一个多余的摄像头对着它,这样来提醒自己浇水。但是因为植物带着枝叶,摄像头只能看见一盆植物的水分计,而且监控有偏色,有时候它明明是蓝色,但是在监控里显示的是白色。

但这引发了我们数字化养植物的思考,介于之前被养死的植物,都是疏于稳定的照顾,时而忘了浇水、时而过度浇水,那么数字化和自动化可能是一个解决办法

搞定土壤数据监测

要做到自动化,首先得解决环境数据的监测,比如:光照、土壤温度、湿度、PH值、EC值等。这样就可以实时监控土壤湿度、养分情况,我可以通过手机随时随地查看我的植物状态。

之前我也用过小米的智能家居传感器,但主要是智能家居类的场景,比较缺乏用于植物环境数据监测的传感器。

想到之前去朋友在新疆的果园参观,他们有一套物联网系统,是用 ThingsCloud 搭建的,比较开放,可以接入不同领域的硬件传感器和控制器。

这时我意识到,我可能也需要搭建这样的物联网系统,来实现我的这些想法,这样就可以采集环境和土壤的各种数据,真正了解植物的状态,掌握最佳的浇水时间和浇水量,也为后期进一步的自动化控制打好基础。

想到我的植物们即将茁壮成长,心情激动,在朋友的指导下,马上学习 ThingsCloud,官方教程比较详细,跟着学习网关和土壤传感器的连接和配置方法,发现比想象的要容易上手。

articles/2023/20231117153348_b4565ae16b58035b42e61fe270ded880.png

articles/2023/20231117153359_8bee1c67d3cfc482675dee132dceb706.png

articles/2023/20231117235244_ba18c4c551409dabb6bd67eabc2716ab.png

articles/2023/20231117235130_3cc0406bb342e63f0684c30c015d6d46.png

articles/2023/20231117235151_611fa346005e59051b924485891b4f2a.png

在淘宝买一个土壤传感器做数据采集。

articles/2023/20231117153411_2084affc860d4902ab244c0c06548cda.png

articles/2023/20231117153941_c98f6077def27e0c52429feea2e15b5b.png

搭建远程控制水阀

网关和传感器还在路上的时候,考虑搭一个自动监控和灌溉的系统,现在需要解决从楼下连接上下水的问题,还有水路切换的问题,开始买水管和零配件

articles/2023/20231117153421_1ff4bdc879e754eed4fda7b02690cf5c.png

上水及多组植物切换水路,需要球阀。

articles/2023/20231117153435_be3396e778adfea013dadf04b1c80b10.png

球阀用智能插座控制,可以接入家里的米家系统来管理。

articles/2023/20231117153517_253615f837006fbdfb3225dcb86d0ba7.png

排水考虑用接水盘统一接水排水。

articles/2023/20231117153532_9ecd6212a48f96aac1bf0e890c706ea8.png

需要解决浇水后的排水问题,设计了一个花架,完全匹配书房窗外的尺寸,花盆放在上面正好到达窗边的高度。

articles/2023/20231117153546_814fa5f5a65e369c94f2c8ef1e7b4e37.png

计算好尺寸数量后在淘宝下单DIY用的角钢。

articles/2023/20231117153636_aa06867dc665ce4b57a7f343bcbe8e5a.png

articles/2023/20231117153646_d5965ee6140ac7bf5012e6a7cb9e6371.png

还需要解决光照不足的补光问题

articles/2023/20231117153702_295ef44124ac3627cecf1dfd3d718415.png

户外摄像头

articles/2023/20231117153716_c2ce9fcf432fcc8d1b95b09ad1d3348d.png

从楼下穿过亚克力顶引电上来,需要一个户外防水盒放电源集中供电,并且不怕风吹雨淋

articles/2023/20231117153729_fc93708bab235209cfcb0184f42008c7.png

实施部署

接法是这样的: 植物生长监测系统:监测土壤温度、湿度、PH值、EC值、环境光照、环境温度、环境湿度,以及摄像头图像监控。

articles/2023/20231117153747_00cb740fc0f451d349e8c5525049d209.png

植物生长支持系统:远程灌溉、排水、补光。

articles/2023/20231117153801_bdf0f0269012c3ca34e9db2c06504249.png

生长监测系统接好后的样子

articles/2023/20231117153818_f42d6f47a5ee3dab4d5452414f6585fb.png

部署固定花架及楼上的水电

articles/2023/20231117153832_f69a3160fc3c33fe242cdaf326ba16a4.png

初接监控系统,防水盒买小了,后来换成了大的

articles/2023/20231117153846_97bf917201ea0a6fe18ba36661f45202.png

articles/2023/20231117153856_719a9fe8b46ab56b21f3f12a0aa49030.png

生成 App

在 ThingsCloud 上生成 App 非常方便,界面可以自己拖拽生成,这样随地随时都可以查看植物土壤的数据。

articles/2023/20231117235453_9da8ce86c4c0c173f4ddb82afb04350a.png

可视化大屏

ThingsCloud 里通过模块拖拽的方式排版一个自己看着爽的大屏,很方便,通过 URL 在任何地方都可以访问。

articles/2023/20231117154024_cbc0157d15dc3d5f7fd69d9dc536e7ee.png

半自动控制浇水

在使用 ThingsCloud 采集土壤数据之前,我用小米电源控制生长灯和两个上水球阀。

因为一次灌溉涉及到两个球阀前后切换,大概顺序:切换三通球阀-上水给水-持续浇水5分钟(浇水就尽量浇透)-上水关闭-三通球阀关闭。 但研究了米家的 App,没找到能完全实现这个程序的能力,好在我们全屋用了智能家居的中控 inSight 影智(过去叫如影),而 inSight 是可以配置这样一个任务的,而且因为 inSight 支持远程小程序操作、或者定时操作,所以配置好后,在小程序里点一下,即可实现浇灌。

一开始三通球阀还没切换完全,上水口的球阀开始给水,就把不想浇灌的植物给浇了,所以要留足时长给球阀切换完全。测试调试反复了几次。

这时,再设置一个湿度告警在15%,告警会发送到相关人的微信上。为什么是15?因为我们观察到土壤水分计是在15%的时候变白。

articles/2023/20231117154211_e0860d474301256e6628ffa138eca913.png

而为什么不设置一个每天定时浇灌呢?

首先,“干湿交替”是养植物的一个原则,因为植物在水量下降到快干的时候,会抓紧生长;如果土壤长时间持续湿润,根系会失去呼吸的机会而腐烂;如果土壤干透时间太久,植物会开始枯死;所以干-浇透-干-浇透,是最好的办法。

articles/2023/20231117154230_1cb9e672309b57d6cb147152c5833a84.png

而因为不同植物不同土壤量、不同土壤类型、不同天气、空调外机运转功率(环境热风风量大时,干得很快),每一次浇透后,湿度下降的速度都不同,有时候是20小时,有时候是30小时。 所以将湿度做了数字化监测起来后,即可以在最恰当的时候进行浇灌来替代每天的定时浇灌。如果这不是几盆植物而是一片葡萄园,这种方式想必是效果/水量比最佳的方式。

所有这一切搭建配置好后,一套自动监测和生长支持系统就完成了。但离全自动化还差最后一步,就是将湿度告警和启动浇灌连接起来。

但这一步我们没做,因为总觉得微信收到告警然后远程操作一下,有一点参与感。但没想到这为一次事故埋下了伏笔。

开始运行

整个系统运行了两个月,这期间我们出游、出差,都是在远程监控和浇灌,毫无压力。

articles/2023/20231117154318_b735ea5d255eb4aae5020bd75dc9ed6e.png

第一次长新芽。

articles/2023/20231117154332_a2cc0c4a469d7ce7d8e9bfc153650fb4.png

第一次开始开花。

articles/2023/20231117154348_09c50de100a056e05db2168537a54cb8.png

在外旅行,通过监控看三角梅第一次开花。

又搬了一盆黄色的三角梅回来,这是开始开花的样子,那盆红色的三角梅已经是不知道第几个花期刚刚开始,有很多小花还在酝酿期。

articles/2023/20231117154405_0b05316eb059fc1039ca89ebdff57b03.png

两盆三角梅在竞相开花,几乎每1-2个月都会经历一轮花期。

articles/2023/20231117154428_1bcee31872ba96c3aa6baee6f87aa768.png

人算不如天算

常春藤是那种似乎只能适应它生长环境的植物,买来是满满的一整盆,不换盆不换土,但是因为空气、光照、湿度、风都变了,一盆植物就慢慢黑杆、掉叶、死亡,然后过半个月就没剩多少了,然后剩下的1/3慢慢缓过来后,大概要过2个月,会开始萌发新芽和新叶。

articles/2023/20231117154512_c8947ad3730e612e624aaa2e2a25ffce.png

新长出来的枝叶,是为这个环境而生的,就非常适应。

articles/2023/20231117154525_a61026bffa80568eb0289cd764f177ae.png

但是秋天,我们遭遇了一次事故。

因为浇水是我收到湿度告警后用inSight的小程序手工操作,有那么几天,紧张忙碌着别的事,没注意到常春藤15%阈值的告警,错过了,而常春藤的湿度在15%以下继续下跌,但不再有新的告警,所以整整三天忘了给常春藤浇水。

articles/2023/20231117154617_2821654aedbe27c82c6dfe7d769b81c5.png

articles/2023/20231117154627_4097e42555fc160ab21c4700fedfb46d.png

新苗新叶都枯死了。

articles/2023/20231117154641_8f4d239393c16dbbaa6bc29fb7b1bc11.png

而在修剪之后几天,观察到其中有一整盆根部枯杆,可能已经全部死亡。

痛定思痛,修改告警规则,设置了3级、2级、1级告警

articles/2023/20231117155218_2573e7a6afdf17bac72b49233f07adbc.png

所以依赖人,还是不可靠的。

下一步准备实现湿度预警和自动灌溉操作的联动,那样除了定期施肥,就再也不需要人为参与。(有点遗憾,可能实施之后,我们几乎感觉不到在参与它们的成长了)

还是得“全自动化”

在我们意识中,“人”收到浇水提示 - 点击一个按钮浇水,是一件不可能再简单的事了,但“人”的神奇之处就在于——充满了多样性、充满了出其不意、充满了不可靠。所以为什么前几天有架民航客机收不了起落架,发现起飞前工作人员忘了拔安全栓,这么简单和每日必做的一件事,竟然就被忘了。

思考通过联动实现自动浇水方案拖了很久。拖延症结束在春节前突然意识到要离家一个月,家里的花和猫都没人照顾了。

我终于开始上网研究和请教有什么插座是可以编程控制的。有找到用 ESP32 做的电源支持二次开发,可以把电源直接接入到 ThingsCloud,不过固件开发听起来太复杂,没有现成的,不太适合我。突然看见有人说,Broadlink 的插座有 python 库。这太合适了。

所以再次采购了一些设备,2个Broadlink插座,一个控制开关水球阀,一个控制水路切换的球阀,还有两套并联切换器。为了防止 Boradlink 插座掉链子,决定保留之前的小米插座来实现可以自动/手动切换。

最终的架构:

articles/2023/20240304190241_6c0c0b9920d6491a3c3a1aeef51889a3.png

然后就很简单,写一个轮询程序 AutoPlant,每隔 5 分钟向 ThingsCloud 请求一下植物数据,如果发现湿度低于阈值,就控制 Boradlink 的开关进行灌溉操作。

AutoPlant 代码放在了Github上:

https://github.com/cilinexu/autoplant

代码逻辑其实非常简单,主要包含几大块:

# 初始化插座# Initialization for Broadlink plugs with dynamic IPinit_plugs():# 获取植物数据# Function to fetch and evaluate plant dataget_plant_data(plant_group, access_token, project_key, group_number):# 灌溉程序# Function to control irrigationirrigate(group_number):

代码里加了很多失败处理比如反复重试,以防止网络连接抖动导致插座控制失败。

最后在家里找一台可以长期稳定运行的机器(我们用了家里的NAS,是接在UPS上的),将python部署运行在上面。并且设置自动启动任务(机器重启后忘了启动AutoPlant进程)。

AutoPlant开始运行后:收到ThingsCloud湿度低于阈值告警,过了几分钟后,收到湿度恢复提示:

查看日志,发现AutoPlant自动灌溉按预期执行:

articles/2023/20240304190450_f0eb6a96220ebcda9cde42b96b638f38.png

正在自动执行的浇水(本以为枯死的只剩几根光杆的常春藤,已经长回来了)

黄色的三角梅进入花季

articles/2023/20240304190638_a0d24cc9292c722138f58d9a5aeae0a5.png

结语

“感知”与“控制”是这个世界的一部分,很重要的一部分。 大语言模型带来的未来Agent化发展趋势,其实仍旧是回归 感知 - 思考(链) - 控制/干预。

而我一直相信,生命的数字化(感知),可以帮助我们更好地理解和辅助(干预)一切生命的良性发展。

人类并不是地球的中心,我们母星地球,从有机生命出现开始,已经有40亿年;而从人类祖先智人走出非洲开始,我们这个物种的历史只有短短的几万年;而文字诞生后的文明发展只有几千年;而现代科学科技文明就更是才有短短的几百年,但我们抽石油、发明核弹、大量生产难以降解的塑料污染环境、全球变暖、城市化和高速公路隔断其他物种的迁徙和繁衍,间接导致了大量其他物种的灭绝……短短几百年,不知怎么我们就把我们赖以生存的几十亿岁的母星糟蹋成这样。如果把地球看做是一个人,这个人身上“人类”的出现、发展速度和破坏力,像极了某种高度恶性的癌症。

这个星球上所有的植物、动物、人类,都是命运的共同体,我们不可能不顾其他生命的发展,就活成宇宙的主宰,就像我们从未见过哪个恶性肿瘤在导致人体衰竭死亡后,自己还能存活。如果人类文明还能短暂地再坚持几千年上万年(虽然我很怀疑),接下来我们更应该关注的是什么?就是把我们的科技智慧应用在如何理解和创造让所有微观及宏观生命(比如整个地球作为一个生命体)更加可持续地良性地发展下去。

关于 ThingsCloud

ThingsCloud 是新一代物联网设备统一接入平台,帮助企业在极短的时间内搭建个性化的物联网平台和应用,并适应不断变化的发展需求。目前广泛应用于制造、电力、能源、环境、农业、楼宇、家居、教育、交通、物流、自动化等领域。

ThingsCloud 可接入各类网关,传感器、执行器、控制器、通信模组、智能硬件等,实现数据采集、远程控制,数据分析、告警通知、智能联动。还可以零代码生成项目应用 SaaS 和用户应用 App,并开放 API 和实时消息,便于业务系统集成和扩展开发。

通过使用 ThingsCloud,企业可以大大缩短搭建物联网系统的时间,节省软件开发费用,降低定制开发的风险,快速落地数字化和智能化项目。我们的客户遍布各行业,包括中国石化、中国铁塔、中国燃气、吉林大学、北控水务、ACE、中国民航大学、西安交通大学、精量电子、大秦铁路、宁波水利局等。

立即搭建您的物联网平台?

接入设备,搭建可视化应用,仅需不到 30 分钟

进入控制台

更多博客

应用场景

全球 80% 的数据将来自物联网,不论是传统行业还是新兴行业,都将利用更多有价值的数据来驱动业务,实现降本增效。