基于Python和Arduino的智能花盆系统

2019-12-24 01:12杨吉云徐乾淏沈莲章晓敏
价值工程 2019年35期
关键词:树莓派嵌入式

杨吉云 徐乾淏 沈莲 章晓敏

摘要:智能花盆作为智能家居的一员,本质上是花盆,但融入嵌入式技术,在一定程度上活化了普通花盆,使其拥有自动照料盆栽的能力。本文利用盆栽生长习性的知识,结合专业能力,设计并实现一套基于Python和Arduino的智能花盆系统。依靠Arduino获取传感器采集数据并发送给树莓派进行处理,树莓派通过Socket通信传输给服务器后台的数据库,基于Python的Django web框架网页获取数据库中的数据使其可视化。用户可通过网页登录账号,远程控制花盆配置各类参数。

Abstract: As a member of smart home, smart flowerpots are essentially flowerpots, but they incorporate embedded technology to activate ordinary flowerpots to a certain extent, so that they have the ability to automatically care for potted plants. In this paper, we use the knowledge of pot growth habits and professional ability to design and implement a smart flowerpot system based on Python and Arduino. It relys on the Arduino to acquire the sensor, collect the data and send it to the raspberry pie for processing. The raspberry pie transmits the data to the server back-end database through Socket communication. The Python-based Django web framework page obtains the data in the database for visualization. The user can log in to the account through the webpage and remotely control the flowerpot to configure various parameters.

关键词:嵌入式;Python;Arduino;树莓派;智能花盆

Key words: embedded;Python;Arduino;raspberry pie;smart flowerpot

中图分类号:S688                                         文獻标识码:A                                  文章编号:1006-4311(2019)35-0180-02

1  研究内容

随着社会进步,人们生活质量的提高,种植盆栽不止可以陶冶情操、丰富生活,也可吸收二氧化碳,净化空气。盆栽浇水是否适量,是成败的关键,而市面上的自动浇灌器,它实现的只是按照设定的时间毫无感知地浇水。

因此,本文主要研究制作基于Arduino的智能花盆,通过系统的智能调节,科学地照料植物,使不懂照料植物的人也能体验盆栽乐趣。为此提出智能花盆解决方案,主要有:研究现有智能花盆工作原理及优缺点,在此基础上提出系统总体设计方案,确定系统硬件开发平台。②进行目标机开发环境搭建。为便于开发和调试,目标机搭建了Linux系统并配置了Python Django环境。③基于Django框架MVT,M构造数据库模型,从数据库中获取树莓派发送的数据,V和T将数据库中的植物数据信息在网页中实现可视化。④系统应用程序设计。包括各模块功能实现及Socket通信实现。⑤完成整体系统的软硬件调试。包括自动浇灌、自动光照、Socket通信等功能调试。

2  功能规划

整体功能包括上位机网页端和下位机智能花盆端两个模块。

2.1 上位机(基于Python的web网页端)

终端(手机端或电脑端)是基于Python开发的web网页端。

用户可通过网页端界面实现连接与控制,提供盆栽数据而控制智能花盆的各种功能,当花盆连接成功后可获取盆栽生长环境的各项数据。

主界面分4个模块, 负责数据传输保存模块为我的植物”, 手动养殖中的浇水控制模块为“水分”, 养殖中的光照制键为“光照”模块,“自动”模块是自动养殖控制键,“设置”模块可设置植物名称及生长条件。

2.2 下位机

智能花盆下位机核心以树莓派主控板,使用Arduino可以读取不同传感器的各个数据,与连接水泵的电机驱动控制相相连,可以智能的根据不同传感器传回的数据做出加水、自动补光等响应的操作;用户也可通过web端使智能花盆执行相应操作。并能够将已获得的传感器数据回传到上位机存储进服务器数据库。

3  系统硬件组成

该智能花盆系统由上位机web网页端和下位机智能花盆两大部分组成,智能花盆主要由树莓派、Arduino微控模块、传感器(土壤湿度、空气温湿度、光照等传感器)、电机驱动、水泵、发光LED软灯带条等。

3.1 树莓派

树莓派是一种基于ARM的微型电脑主板,他本身具有诸多功能,选用树莓派用Python编写代码来获取Arduino传输过来的数据进行分析,将数据存储进服务器的后台数据库中,它集成WIFi、蓝牙模块、USB接口等众多元件,它相当与一台微型电脑。

3.2 Arduino微控模块

Arduino是一款采用开放源代码的软硬件平台,并且方便上手,他是基于简易输出界面板,它的使用类似Java、C语言的开发环境。

本文选用基于Arduino主控板,它本身具有各种芯片,采用方便编写的编程方式。主控板可通过连接不同传感器以及驱动等设备,并通过编写对应程序来实现不同部件的相关功能。

3.3 传感器

3.3.1 土壤湿度传感器

土壤湿度传感器可检测土壤的温湿度,导电性能高,使用寿命长,检测范围广,通过电位器调节控制数值,简单方便,工作稳定,设固定螺栓孔,便于安装。

3.3.2 光照传感器

光照传感器采用3-5V直流电源对模块进行供电,低电平的数字输出信号。对环境光线适应力强,数字输出,测量精度高,模块内部包括通信电平转换,能够与5V单片机IO直接连接。

3.4 电机驱动

电机驱动模块使用L298N作为主驱芯片,具有驱动能力强,发热低,抗干扰能力强的特点;稳定性高,价格便宜,能够接收Arduino主控模块的信息,从而驱动电机的运行。

3.5 水泵

微型水泵的密封性好,自带12V变压器电源,简单方便,将水泵连接电机驱动模块后,可以直接通过接收的信号进行自动的补水,实现了自动给植物浇水。

3.6 发光LED软灯带条

发光LED软灯带条,价格实惠,电光转化率高,散热合理,使用寿命长,可根据自己需求剪裁长度,也可根据传输数据进行自身亮灭,从而达到给植物的自动补光。

4  socket通信实现

Socket 用于在基于TCP/IP 协议的应用程序间互相通讯;客户端和服务器端是两个基本的概念。当两端之间需进行通讯时,需在两个应用间建立socket 连接,访问端:即发起连接请求的是客户端,被访问端:即接受连接请求的是服务器端。同一应用可是客户端,也可是服务器端,两者相对,可以通过服务器端与客户端建立Socket 通信。

由于采用 TCP 稳定连接,连接由客户端发起只有正确的地址和端口号才可以连接上服务器端,发送数据请求建立连接。

5  系统实现

基于Django框架MVT,M构造数据库模型,从数据库中获取树莓派发送过来的数据,V和T将数据库中的植物數据信息在网页中实现可视化,树莓派将从Arduino中获取的数据发送到Python服务器端,Python服务器端将数据自动写入数据库,用户登录账号后,V视图获取数据库中对应的数据,显示在网页中,用户可以在网页中发送浇水等请求,通过V视图发送给Python服务器,服务器将请求返回给Python花盆端即树莓派,树莓派再将请求发送给Arduino执行相关操作。(图1)

6  结语

通过对该智能花盆的设计以及相关智能化功能的实现,使本设计面向早出晚归的上班族,尤其是热爱生活而又工作繁忙以及经常出差或者远出旅行的人群,具有一定实用性。它能换够代替人们完成生活中对室内盆栽的照料。

该智能花盆系统通过对结构框架的设计,模型以及实体的制作,对单个传感器的功能实现,到将多个传感器与树莓派、Arduino微控模块交汇互通,通过不同传感器对盆栽信息的采集,智能花盆采用单独的供电,保证了花盆各模块能够持续工作,用户通过登录Python开发的web网页端实时查看植物实时信息,从而达到更好的人机交互。

通过对改智能花盆的设计,使居家花卉培育更加简便、精确和智能,节省因繁忙而照顾花卉所需的时间,推动了科技智能化给人们带来的乐趣。

参考文献:

[1]张娜,吴文福,杜吉山.智能花盆的研究现状与发展前景[J].农业与技术,2016,36(1):174-176.

[2]王振宇,俊浩,于玲,毕春光.基于ARDUINO的智能花盆设计[J].信息技术,2016,02:34-37.

[3]孟萌.基于Arduino的物联网数据采集器设计与实现[D].北京工业大学,2016.

[4]黄传禄.基于Python的MYSQL数据库访问技术[J].现代信息科技,2017,1(04):73-75.

[5]李新伟.智能家居监测与控制终端的研究与设计[D].济南:山东大学,2009.

[6]杨柳,庞和明,姜琳颖,岳坤.嵌入式Linux及SQLite数据库在智能监控中的应用研究[J].微计算机信息,2010,26(35):65-67,133.

[7]周洋.智能灌溉监控系统的设计与应用研究[D].武汉:武汉理工大学,2004.

[8]KYRREWK,NILSAN,FEDERICOM,etal.An internal/insider threat score for data loss prevention and detection[J]. Norwegian Defence Research Establishment(FFI),2017,3(24):11-16.

猜你喜欢
树莓派嵌入式
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
智能安全防盗探测小车
基于嵌入式技术的农村医疗系统设计
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器