实不相瞒,这台植物萌宠有点东西!

225 阅读5分钟

进入原文可获取智能植物生长机完整软硬件开源资料包

打工人,打工魂!打工都是人上人!就是要时时刻刻昂首挺胸,目光如炬。但请答应我,当老板在会上问谁有时间出差的时候,还是不要了,说多了都是泪……精神小伙此刻背起打工人的行囊,却在转身关门的时候看到阳台的几盆植物,这没人照顾可不太行。俗话说遇事不决上某度,虽说不一定靠谱,总比得上没谱,看到有一些朋友是这样做的(图一:点滴法)这样的(图二:大棚法)甚至还有这样的(听天由命法)。

image.png

寻思着我要是养一株西红柿,养一棵大葱或许还能尝试一下,谁知道这些棉线、细棍、毛巾啥的受不受得了美好计划的控制,毕竟我的人生已经容不下任何意外了。

于是我想起隔壁的大神,和大神沟通了一下想法,咱就想要一个具有独立自主能力、配合意愿强、且不会带来任何经济负担的“花盆机器人”。说人话就是能够我想干啥就干啥,我不想敢干的时候自己能给点阳光、能浇水的这么个省心不费力的好东西——智能植物生长机。大神瞬间get,智能植物生长机就此诞生!以下是制作植物生长机的操作方案。

一.硬件设计

  • 先整来一块板子,用上涂鸦三明治的WiFi主控板,让它能满足供电、供水、又供光,大概长这个样子:

image.png 再来几颗炯炯有神的小灯泡,有白色、红色、蓝色、绿色。为什么还有绿色呢?主要是为了显的比较炫,烘托一下气氛。

image.png 电有了,灯也有了,最后整一个小水箱,长这样。当然如果你实在预算有限,也可以用家里的水壶、水杯等凡是能称作为容器的东西代替一下。

image.png

  • 整完这几步咱们的“智能植物生长机”的雏形算是搭建完了。

image.png 二.创建产品

[可以用涂鸦IoT平台创建产品](涂鸦 IoT 平台 (tuya.com)),方便后期对植物生长机进行远程控制。创建分类选择小家电>宠物>植物生长机 ,详细的步骤可按照平台上操作指导进行。


三.嵌入式开发

植物生长机的嵌入式代码基于 BK7231 平台,使用涂鸦通用 Wi-Fi SDK 进行 SoC 低代码开发。

  • 设置应用层入口

在Demo历程中打开 tuya_device.c 文件,找到 device_init 函数后,进行初始化设置、注册设备网络状态、调用应用层初始化函数。

  • 应用结构实现

应用代码主要分三层来实现:1.最底层为 PWM 和各个传感器的驱动代码,封装出传感器的初始化、采集等接口,但由于植物生长机体型不大,只使用了 ADC 采集型的土壤湿度传感器,故此层只涉及到 PWM 相关接口的调用;2.第二层为控制逻辑部分的代码,调用驱动层的传感器接口,实现各个组件的控制逻辑,封装出数据处理轮询接口;3.第一层为主要应用层,创建应用任务调用第二层的接口,同时处理 DP 数据的上报和接收解析。

  • 灯光控制

通过输出PWM波的方式来调整灯的亮度,有关PWM的初始化和输出控制函数接口都实现在 plant_pwm.c中,在plant_device_init() 中初始化PWM,并在plant_ctrl_handle()中调用实现灯光控制逻辑的接口。

  • 土壤湿度控制

这次方案使用的土壤湿度检测传感器可以根据土壤的湿度情况输出模拟量,因此代码上就需要通过ADC采集模拟量转换为数字量的方式来监测土壤湿度。在app_plant.c文件中创建的获取ADC采集任务中循环调用了plant_control.c的plant_get_adc_sensor_data(),所有有关adc采集的代码都放在该函数接口内。

  • 编译和烧录

在 Linux 终端输入命令运行 SDK 环境目录下的build_app.sh脚本来编译代码生成固件。固件生成路径为apps > APP_PATH > output。命令格式:

build_app.sh <APP_PATH> <APP_NAME> <APP_VERSION>

命令示例:

/home/share/samba/ci/ty_iot_wf_bt_sdk_bk7231t$ sudo sh build_app.sh apps/bk7231t_plant_grow_mach_demo bk7231t_plant_grow_mach_demo 1.0.0

\

  • 最后对设备进行配网,一台能够自动浇水、自动补光还可以用手机APP远程操作的智能植物生长机就完成了。

家里有养小乌龟、小鱼的稍作改动甚至可以做一台智能龟缸、鱼缸,一举多得!都说到这里了你还不行动起来,大神已经把完整的方案和资源包整理好了(可进入”三明治开发社区“)欢迎自取~

三明治开发,玩转物联网智能产品,下次有什么好东西再和你们分享等等,看了这么多,看谁还没有点赞加关注!

上期精彩回顾:【无实物尝百味】通过控制微电流刺激产生味觉——[百味勺子](【无实物尝百味】通过控制微电流刺激产生味觉—百味勺子 - 掘金 (juejin.cn))