基于云的服务实现数据的分析和显示

参考设计

21人已加入

描述

在园艺行业,物联网 (IoT) 可借助传感器和专用的园艺 LED 在监测和确保植物健康方面发挥关键作用。不过,使用所需的外围设备、传感器、LED 和连接选件来调整和实施恰当的物联网计算平台可能非常耗时,并在预算和时间表上面临风险。

为了降低这种风险,可搭配使用 Cypress Semiconductor、SparkFun Electronics 和 Wurth Electronics 的电路板和器件解决方案,在极大地简化设计流程的同时,快速开发复杂的温室控制系统。

本文将探索 LED 与植物健康之间的关系,并介绍和阐述这些解决方案以及如何搭配使用。

LED 和植物健康

植物健康取决于一系列外部因素,包括光照、温度、土壤水分含量和 pH 值。它们不仅在整体上受到这些因素不同组合的影响,而且还受到每个因素的特定特性的影响。例如,植物依赖于在 400 nm 至 700 nm 之间光合作用有效辐射 (PAR) 区域内接收的光。然而,它们在该区域所需的照明并不一致。相反,植物需要特定波长的光照,该波长对应于光合作用中涉及的多个感光色素的吸收光谱。

例如,叶绿素 A 的吸收率峰值位于约 435 nm 和 675 nm 处(图 1)。

PSoC

图 1:植物生长取决于特定波长的充足照明,该波长对应于整个光合有效辐射 (PAR) 区域的不同区段下不同活性感光色素的吸收光谱。(图片来源:Wurth Electronics)

其他感光色素,包括叶绿素 B、β-胡萝卜素和其他光敏色素,也在光合作用中起重要作用。因此,植物的最佳照明需要能够在 PAR 区域提供多个波长的照明。

与任何生物体一样,影响植物健康的因素不仅仅限于一组简单的波长或静态照明水平。在生长周期的每个阶段,植物需要不同水平的光照强度、不同的光/暗循环甚至不同的波长组合。同样,温度和土壤含水量也会导致根系长度的变化。

对于每种因素而言,这种最佳特征组合在不同物种之间,甚至在同一个物种内的不同生长阶段之间,均会有所不同。例如,许多开花植物需要的日照长度少于 12 个小时左右。与这些“短日照”植物相比,甜菜和土豆等“长日照”植物仅在光照时间超过 12 小时后才开花。

温室环境允许农民和园丁控制大部分因素。然而,缺乏高性价比的系统平台、外设甚至合适的光源仍然在阻碍温室控制系统的发展。若要打造一个能够监控和管理各种此类因素的系统,则需要一些类似于复杂的工业可编程逻辑控制器等复杂的系统。

现成的电路板和专用的园艺 LED 提供了一种较为简单的替代方案。开发人员可借助基于 Cypress Semiconductor PSoC 微控制器的电路板、Wurth Electronics 的专用园艺 LED 以及 SparkFun Electronics 的扩展板,轻松打造复杂的温室自动化系统。扩展板可将这些系统所需的各组传感器和致动器关联在一起。

高性能平台

Cypress PSoC 系列微控制器专为嵌入式应用而设计。它集成了 Arm® Cortex®-M0 或 Cortex-M3 内核,以及称为通用数字模块 (UDB) 的全套可编程模拟和可编程数字模块。依托 Cypress 外设驱动程序库 (PDL),设计人员可使用 UDB 实现一系列功能,包括标准串行接口和波形发生器。同样,即使内核处于节电、深度休眠模式,可编程 I/O 模块(称为“智能 I/O”)也可对来自 GPIO 引脚的信号执行逻辑运算。

该系列最新出品的 PSoC 6 为双核器件。该 PSoC 器件结合了 Cortex-M4 内核的处理性能与 Cortex-M0 +内核的低功耗性能。与 PSoC 62 器件相比,PSoC 63 器件在沿用了 1 兆字节 (MB) 的闪存、288 千字节 (KB) 的 SRAM 和 128 KB ROM 之外还增加了其他功能,例如蓝牙 5.0。

PSoC 63 器件集成了一个完整的蓝牙 5.0 子系统,包括硬件物理层、硬件链路层以及协议栈,且可通过应用编程接口 (API) 访问蓝牙协议的核心——通用属性规范 (GATT) 和通用访问规范 (GAP) 服务。在每个系列中,CY8C6347FMI-BLD53 等器件都包含专用的硬件加密加速器。

依托其全面的功能,PSoC 6 微控制器能够支持新兴的复杂嵌入式应用的性能要求。同时,其出色的能效也确保它们能够满足这些应用通常所要求的低功耗需求。凭借其用户可选的 0.9 或 1.1 伏内核工作电压,PSoC 6 微控制器可实现最小的功耗,Cortex-M4 内核每兆赫兹 (MHz) 消耗 22 微安 (μA),Cortex M0+ 内核消耗 15 μA/MHz。

为了简化基于这些器件的应用开发,Cypress 为 PSoC 63 和 PSoC 62 器件提供了 Pioneer 套件系列版本。PSoC 6 BLE Pioneer 套件基于 PSoC 63,包括 512 MB NOR 闪存、Cypress KitProg2 板载编程器/调试器、USB Type-C™ 供电系统以及多个用户界面功能。PSoC 6 Wi-Fi-BT Pioneer 套件结合了 PSoC 62 微控制器和 Murata Electronics LBEE5KL1DX 模块,该模块基于 Cypress CYW4343W Wi-Fi/蓝牙组合芯片。

硬件扩展

借助 SparkFun Electronics 和 Digi-Key Electronics 合作开发的扩展板,使用 Cypress Pioneer 电路板来开发过程控制应用将变得更加容易。PSoC Pioneer 物联网扩展板是一款 Arduino R3 兼容型扩展板,配有兼容 Qwiic 和 XBee 的连接器(图 2)。插入 PSoC Pioneer 电路板后,开发人员即可在扩展板上使用传感器等器件轻松扩展电路板套件,监测温室中的空气和土壤质量。

图 2:PSoC Pioneer 物联网扩展板(红色板)借助其多个连接器选件扩展了 Cypress Pioneer 电路板(例如 PSoC 6 BLE Pioneer 套件(蓝色))的功能,可添加兼容 Qwiic 和 XBee 的现成电路板。(图片来源:SparkFun Electronics)

为了监测温室环境条件,兼容 Qwiic 的电路板(例如 SparkFun SEN-14348 环境型组合分线板)会使用板载 Bosch Sensortec BME280 和 ams CCS811 传感器为多个环境变量提供数据(请参见“给物联网增加带补偿功能的空气质量传感器”)。

Bosch BME280 集成有数字传感器,能够在提供精确的温度、压力和湿度读数的同时,确保其在 1 Hz 更新速率下的功耗低至 3.6 μA。ams CCS811 则可测量等效的 CO2 和总挥发性有机化合物 (VOC)。

CCS811 等气体传感器需要加热内部加热板才能测量气体,功耗也会随之上升,可在工作模式 1 和 1.8 伏电源下达到 26 毫瓦 (mW)。此模式提供最快 1 Hz 的更新速率。开发人员可以选择其他更新速率,例如每分钟执行一次测量并将功耗降至 1.2 mW 的模式 3。

开发人员只需使用 Qwiic 电缆将组合板连接到扩展板,即可根据 SparkFun github 存储库中提供的示例软件对组合板的 Bosch BME280 和 ams CCS811B 传感器进行编程。

土壤质量

除温室的环境条件外,适当的土壤 pH 值和含水量也对植物的健康生长至关重要。大多数植物的土壤 pH 值需要为中性或微酸性,但最佳的 pH 范围可能会有很大差异。例如,马铃薯在 pH 值约为 5.5 的酸性土壤中生长最好,但此水平会损害像菠菜这样喜欢微碱性土壤的植物。

与此同时,即使在最佳范围内,pH 值的微小变化也会直接影响到维持植物生长所需的养分的有效性(图 3)。

图 3:pH 值的微小变化可直接影响植物生理,并可间接影响土壤养分的有效性。(图片来源:Wikimedia Commons)

开发人员可以使用 SparkFun Electronics SEN-10972 pH 传感器套件轻松地将 pH 感测功能添加到温室系统中。该套件配有 pH 探头、接口板以及用于校准的缓冲溶液。为了实现与 PSoC 微控制器的通信,开发人员可以使用该 pH 板的默认 UART 输出。

开发人员也可以在 I2C 模式下使用该 pH 传感器板,并通过 SparkFun DEV-14495 I2C Qwiic 适配器进行连接。SparkFun Qwiic 适配器从 Qwiic 连接器中分离 I2C 引脚,并提供焊点,使开发人员可以轻松地将现有 I2C 器件与 Qwiic 连接器系统配合使用。

测量土壤含水量同样容易。SparkFun SEN-13322 土壤湿敏传感器提供两个裸焊盘,可直接放置于土壤中,用作所提供电压源和接地之间的可变电阻。高含水量可增加焊盘之间的导电性,继而导致电阻降低和电压输出升高。

对于此类传感器,PSoC 微控制器的集成数模转换器 (DAC) 可用作电压源,而其逐次逼近寄存器 (SAR) 模数转换器 (ADC) 可用于数字化土壤水分含量所对应的电压。此外,微控制器的内部运算放大器可用于缓冲 DAC 输出和 ADC 输入。

开发人员可以用同样的方法进一步扩展其土壤管理能力。例如,PSoC 6 微控制器在 DAC 输出和 ADC 输入上支持多个通道,因此可添加多个 pH 传感器。此外,某些应用可能需要更高分辨率的测量值,这就需要电压范围超出微控制器的 3.6 伏(最大值)VDDA 模拟电源电压。在这些情况下,解决的办法就是添加多个外部缓冲运算放大器和一个稳压器。

除了测量土壤含水量外,雄心勃勃的开发人员还可以使用相同的方法实现自动灌溉,即使用 PSoC 的 GPIO 和脉冲宽度调制 (PWM) 功能来控制配备 DFRobot FIT0563 驱动板的 DFRobot DRI0044-A 水泵。

对于额外的元器件,例如上述或其他元器件,可使用 SparkFun DEV-14352 Qwiic 适配器。下图显示了多个 Qwiic 连接器和一个大型原型开发区域(图 4)。

图 4:使用 SparkFun Qwiic 适配器,开发人员可以通过 Qwiic 连接和 Pioneer 扩展板轻松添加定制电路,或使用所提供的针座将适配器与 Pioneer 电路板上的扩展板堆叠起来。(图片来源:SparkFun)

由于 Qwiic 适配器符合 Arduino R3 扩展板布局,因此开发人员可以使用 Qwiic 适配器套件中包含的针座在 Pioneer 套件板和 SparkFun IoT Pioneer 扩展板之间堆叠自己的电路。

使用 LED 打造园艺照明系统

如前所述,植物健康取决于在特定波长下提供的光照。尽管 LED 照明技术已经为工业照明、车辆前灯等提供了解决方案,但传统 LED 缺乏光合作用所需的光谱特性。Wurth Electronics 的 WL-SMDC 系列单色陶瓷 LED 产品满足了从深蓝色到超红色波长范围的照明需求(图 5)。

PSoC

图 5:Wurth Electronics 的 WL-SMDC 系列单色陶瓷 LED 产品可提供植物生长和发育所需的特定波长照明。(图片来源:Wurth Electronics)

以组合形式使用 SL-SMDC 系列可提供促进植物生长诸多方面所需的波长:

  • 150353DS74500 深蓝色 LED(450 nm 峰值波长)和 150353BS74500 蓝色 LED(460 nm 主波长)提供与调节叶绿素浓度、侧芽生长和叶片厚度相关的波长范围内的照明。
  • 150353GS74500 绿色 LED(520 nm 峰值波长)和 150353YS74500 黄色 LED(590 nm 主波长)提供一度被认为不重要、但现在已知在植物避荫性反应中起作用的波长范围内的照明。
  • 150353RS74500 红色 LED(625 nm 主波长)和 150353HS74500 超红色 LED(660 nm 峰值波长)提供主要涉及光合作用,但也涉及开花、休眠和种子萌发等不同植物生长阶段的波长的照明。
  • 150353FS74500 远红色 LED(730 nm 峰值)提供与植物发芽、开花时间、茎长和避荫相关的波长的照明。
  • 最后,158353040 日光白 LED 不仅增强了蓝色波长覆盖范围,还有助于增强整体植物生长所需的整体日累积光量 (DLI) 水平。

开发人员可以找到许多 LED 驱动器,如 Wurth MagI3C 171032401 或 Allegro MicroSystems ALT80800,来驱动 LED 灯串。这些器件大多支持使用 PWM 和/或模拟电压调节光线,因此可将 LED 驱动器仅减少到几个额外的元器件(图 6)。

PSoC

图 6:Allegro MicroSystems ALT80800 等高级 LED 驱动器仅需要一些额外的元器件来驱动 LED 灯串,其中调光由 PWM 或模拟输入控制。(图片来源:Allegro MicroSystems)

不过,在设计调光功能时,开发人员应该警惕瞬时照明水平的快速变化。在高 PWM 速率下,人类瞳孔可能仅响应平均光照强度,从而允许有害强度水平的光脉冲到达视网膜。使用恒流 LED 驱动器(例如 Allegro ALT80800)有助于缓解这种影响。

软件设计

借助 PSoC Pioneer 电路板、扩展板以及前面提到的其他电路板,开发人员能够在很大程度上通过插接硬件板打造实体的温室控制系统。开发管理传感器或驱动 LED 所用的软件十分简单,只需调用 Cypress 外设驱动程序库 (PDL) 中的组件。

PDL 组件提取了 PSoC 特性的功能,例如可编程模拟功能、UDB 和智能 I/O 外设等。开发人员可以快速实现一种软件功能,能在传感器输出达到特定电平时唤醒微控制器。例如,当土壤湿敏传感器的输出电压表明土壤较干燥时,开发人员可使用 Cypress PSoC Creator 配置 PSoC 微控制器的其中一个集成低功耗比较器,在特定模拟引脚上的电平低于(或高于)参考电压时生成中断。

Cypress 通过示例代码演示了此功能,该示例代码说明了使用低功耗比较器 (LPComp) 模块的基本设计模式(列表 1)。在本示例中,当中断将处理器从休眠模式唤醒时,代码会检查 LPComp 值。如果比较结果为高,则此示例代码会每隔 500 毫秒使用 GPIO 切换 LED。当结果最终变低时,代码会将处理器状态重新置于休眠模式。

复制 int main(void) {     #if PDL_CONFIGURATION         /* Enable the whole LPComp block */         Cy_LPComp_GlobalEnable(LPCOMP);                 /* Configure LPComp output mode and hysteresis for channel 0 */         Cy_LPComp_Init(LPCOMP, CY_LPCOMP_CHANNEL_0, &myLPCompConfig);                 /* Enable the local reference voltage */         Cy_LPComp_UlpReferenceEnable(LPCOMP);         /* Set the local reference voltage to the negative terminal and set a GPIO input on the            positive terminal for the wake up signal */         Cy_LPComp_SetInputs(LPCOMP, CY_LPCOMP_CHANNEL_0, CY_LPCOMP_SW_GPIO, CY_LPCOMP_SW_LOCAL_VREF);           /* Set channel 0 power mode - Ultra Low Power mode */         Cy_LPComp_SetPower(LPCOMP, CY_LPCOMP_CHANNEL_0, CY_LPCOMP_MODE_ULP);                 /* It needs 50us start-up time to settle in ULP mode after the block is enabled */         Cy_SysLib_DelayUs(MY_LPCOMP_ULP_SETTLE);     #else         /* Start the LPComp Component */         LPComp_1_Start();     #endif         /* Check the IO status.If current status is frozen, unfreeze the system.*/     if(Cy_SysPm_GetIoFreezeStatus())     {   /* Unfreeze the system */         Cy_SysPm_IoUnfreeze();     }     else     {         /* Do nothing */        }         for(;;)     {         /* If the comparison result is high, toggles LED every 500ms */         if(Cy_LPComp_GetCompare(LPCOMP, CY_LPCOMP_CHANNEL_0) == MY_LPCOMP_OUTPUT_HIGH)         {             /* Toggle LED every 500ms */             Cy_GPIO_Inv(LED_0_PORT, LED_0_NUM);             Cy_SysLib_Delay(TOGGLE_LED_PERIOD);         }         /* If the comparison result is low, goes to the hibernate mode */         else            {               /* System wakes up when LPComp channel 0 output is high */             MyLPComp_SetHibernateMode(CY_SYSPM_LPCOMP0_HIGH);                 }     } } 

列表 1:Cypress 的示例代码展示了关键设计模式,例如使用 PSoC 6 低功耗比较器从低功耗工作模式唤醒微控制器。(代码来源:Cypress Semiconductor)

对于温室控制系统,开发人员可以使用相同的设计模式来实现诸多的功能,例如在土壤湿度较低时打开水泵,在环境温度较高时打开风扇,在 pH 值超出所需范围时提醒温室所有者,或者做出其他将温室环境恢复到植物生长最佳条件所需的响应。

同样,开发人员可以使用其他 PDL 组件,通过开发最少的代码,实现对其他接口和控制需求的支持。例如,要使用 PWM 组件控制 LED 强度,只需将 PWM 组件拖到 PSoC Creator 设计工作区,然后使用相关配置弹出窗口设置特定的 PWM 参数,如运行模式、周期和分辨率等(图 7)。

PSoC

图 7:开发人员可使用 PSoC Creator 借助 Cypress 外设驱动程序库 (PDL) 以框架形式构建功能,也可使用 PDL 应用程序接口仅在代码级别工作。(图片来源:Cypress Semiconductor)

在配置组件并完成设计后,即可使用 PSoC Creator 生成基本代码框架,然后根据需要添加自定义代码。如果开发人员喜欢跳过框架输入阶段,亦可使用 Cypress PLD API 直接访问底层功能。此外,开发人员也可以混合使用这些方法,先借助 PSoC Creator 生成的代码更深入地了解 PDL,然后再使用 PDL API 开发自己的生产代码。

使用这种方法,可以快速实现支持本文所述每项功能所需的代码。在小型温室部署所设计的控制系统时,可以想见开发人员可使用一个 Pioneer 电路板和 PSoC Pioneer 物联网扩展板来支持必要的传感器、致动器和 LED。

若在更大的温室环境中部署,高性价比的方法则是将测量土壤 pH 值以及测量环境温度等功能分配在接地级别的板组中,并使用单独的板组来控制园艺 LED 灯串。开发人员可借助 PSoC 4 BLE Pioneer 电路板来支持外围传感和控制功能,从而进一步降低成本。

由于 PSoC Pioneer 物联网扩展板也与该电路板兼容,因此很容易补充适当的器件来重新配置每个板组。在这种情况下,基于 PSoC 4 的板组可通过蓝牙链接到一个或多个 PSoC 6 电路板,或利用 PSoC 6 Wi-Fi-BT Pioneer 套件的 Wi-Fi 连接功能连接到基于云的服务(例如 ThingSpeak)实现数据的分析和显示(图 8)。

图 8:开发人员可以组合使用多个基于 PSoC 的系统(包括 PSoC 4 BLE Pioneer 套件和 PSoC 6 Pioneer 套件),以支持与 ThingSpeak 云服务相连的复杂应用。(图片来源:Cypress Semiconductor)

在本例中,开发人员可以利用 Cypress 蓝牙支持功能获得全套的安全连接能力(请参见构建安全、低功耗的蓝牙集线器和传感器网络)。

总结

在过去,自动温室控制系统需要工业级控制器以及复杂的照明系统、传感器和致动器。而现在,开发人员已如文中所述,可利用低成本的微控制器板和扩展板打造高性价比的平台,继而利用各种可用的传感器和致动器。

结合物联网和专用的园艺 LED,开发人员可以获得实施复杂应用所需的全套元器件,能够远程监测和控制与植物健康生长和发育相关的诸多因素。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分