没有合适的资源?快使用搜索试试~ 我知道了~
物联网Python项目开发实战-智能物联网种植系统-编程案例解析实例详解课程教程.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 65 浏览量
2023-04-27
15:06:09
上传
评论 3
收藏 3.93MB PDF 举报
温馨提示
试读
62页
实战项目名为智能物联网种植系统,面向农场、大棚等农作物种植领域。本章将从整体架构到每个小部分详细介绍该项目的开发细节,该项目的编程语言几乎全部为Python,由终端设备、网关和后台服务器三部分组成。 从功能上来讲,架构分为以下几个模块: 1、环境监测通过温湿度、光照强度、雨滴、水位、土壤湿度等多种传感器采集数据,统计得出当前的环境信息,根据环境信息采取措施,达到科学种植的目的,同时将数据生成直观的图表,以便统计和阅读。 2、滴灌系统提供多种滴灌模式,包括手动控制滴灌、定时滴灌、自动滴灌,可通过Web页面控制和配置........... 3、安防报警通过人体红外传感器检测生产场地的多个地点........... 4、灯光控制提供多种灯光控制方法,包括手动控制、定时控制、自动控制,可以通过Web页面手动控制灯光状态........... 5、设备管理所有设备通过向服务器发送心跳以反映自身的在线情况,同时发送自身的剩余电量...........
资源推荐
资源详情
资源评论
物联网 Python项目实战
实战项目名为智能物联网种植系统,面向农场、大棚等农作物种植领域。本章将
从整体架构到每个小 部分详 细介绍 该项目 的开发 细节。该项目的编程语言几乎全部为
Python,因此想要完成该项目的开发,需要本书前面章节的知识作为基础,希望读者仔细阅
读前面的内容。
该项目在 GitHub上开源,读者可以从 GitHub上获取该项目的所有源代码。
该项目的
GitHub地址为 https://githubcom/Python
-
IoT/Smart
-
IoT
-
Planting
-
System。
141 项目简介
项目名称为智能物联网种植系统,由终端设备、网关和后台服务器三部分组成。智能物
联网种植系统的整体架构如图
141所示。
从功能上来讲,架构分为以下几个模块:
●
环境监测通过温湿度、光照强度、雨滴、水位、土壤湿度等多种传感器采集数据,统
计得出当前的环境信息,根据环境信息采取措施,达到科学种植的目的,同时将数据
生成直观的图表,以便统计和阅读。
●
滴灌系统提供多种滴灌模式,包括手动控制滴灌、定时滴灌、自动滴灌,可通过 Web
页面控制和配置。滴灌系统由程序远程控制,手动单击 Web按钮可开启和停止滴灌
系统;配置定时滴灌后,系统自动按时启动滴灌系统;设置土壤湿度值之后,当土壤
传感器检测到湿度低于设定值时自动开启滴灌系统。
●
安防报警通过人体红外传感器检测生产场地的多个地点,当检测到入侵信息时,Web
端生成报警信息,同时通过 2G模块拨打安保人员的电话并发送短信。另外,在空旷
农场可以检测动物的入侵,一旦发现,可以播放报警声进行驱赶,防止野生动物对作
物的破坏。
●
灯光控制提供多种灯光控制方法,包括手动控制、定时控制、自动控制,可以通过
Web页面手动控制灯光状态,可批量控制和单个控制;可以配置定时开灯、关灯,灯
光系统将按时自动执行;也可配置光照强度的参数,根据环境光的强度自动打开还是
智能物联网种植系统
279
关闭灯光,以达到节能的效果。
●
设备管理所有设备通过向服务器发送心跳以反映自身的在线情况,同时发送自身的剩
余电量。服务器端统计设备在线或离线状态和剩余电量,以便提前更换电池,避免设
备停止工作。另外,终端设备的运行状态和设备信息的相关数据存放在网关数据库,
网关自身状态也存放在数据库中,网关定期将数据库同步到服务器端。当任何设备发
生故障时,只需将新设备的
ID写成与故障设备一致即可从服务器备份的数据库中获
取故障前设备的所有运行状态与设备信息,做到完整修复和无缝替换。
图 141 智能物联网种植系统的整体架构
了解了项目的整体架构和功能后,接下来将一步步详细地介绍每个部分的开发过程。
142 终端设备程序开发
终端设备是与真实世界相结合的第一层,通过传感器采集各种数据,驱动舵机、水泵、
灯光等外设。终端设备搭建了计算机虚拟世界与现实世界的桥梁。
第 14章 物联网 Python项目实战
280
终端设备包含众多硬件,以 STM32MCU为核心,搭载了多种传感器、舵机、水泵、
LED灯、液晶显示屏等外设,使用 LoRa和网关通信。
终端设备框图如图 142所示。图 143为终端设备包含的硬件清单。
图 142 终端设备框图
图 143 终端设备包含的硬件清单
终端设备包含的功能有:
●
数据采集:通过空气温湿度传感器、光照强度传感器、雨滴传感器、水位传感器、土
物联网 Python开发实战
281
壤湿度传感器等多种传感器采集当前的环境数据。
●
电量检测:终端设备采用电池供电,通过 ADC接口采集当前电池的剩余电量。
●
水泵控制:使用继电器控制水泵的开关,使用舵机控制水泵的角度及旋转速率。
●
LoRa通信:通过串口控制 LoRa模块,实现终端与网关的互相通信。
●
灯光控制:通过继电器控制灯光。
●
入侵检测:通过人体红外传感器检测入侵信号。
●
数据显示:通过 SPI接口驱动液晶屏,显示终端设备的关键数据与运行状态。
1421 采集空气温湿度
项目通过 DHT11传感器采集空气温湿度值。DHT11是一款含有已校准数字信号输出的
温湿度复合型传感器,应用专用的数字模块采集技术,具有较高的可靠性与卓越的长期稳
定性。
DHT11具有单总线和标准 I
2
C两种通信方式。单总线接口使系统集成变得简易快捷,具
有超小体积、较低功耗,适合多种多样的应用场景。I
2
C通信方式采用标准的通信时序,用
户可直接挂在 I
2
C通信总 线上,无须 额外布 线,使用 简单。两种 通信方 式可自 由切换。
DHT11温湿度传感器模块实物图如图 144所示。
图 144 DHT11温湿度传感器模块实物图
DHT11驱动程序
项目使用 DHT11单总线通信方式。单总线只有一根数据线,系统中的数据交换、控制
均由单总线通信完成。核心板 (TPYBoard) 和 DHT11之间是主从关系,只有当主机呼叫传
感器时,传感器才应答。因此,在主机访问期间都必须严格遵守单总线时序,如果出现时序
第 14章 物联网 Python项目实战
282
混乱,将不能正确读取到温湿度数据。
DHT11单总线通信时序图如图 145所示。
图 145 DHT11单总线通信时序图
DHT11单总线通信时序及数据说明:
名 称 单总线格式定义
起始信号 主机把数据总线拉低一段时间 (18毫秒),通知传感器准备数据
响应信号 传感器把数据总线拉低 80微秒,再拉高 80微秒以响应主机的起始信号
数据格式 收到主机起始信号后,传感器一次性从数据总线读出 40位数据,高位先出
湿度 湿度高位为湿度整数部分数据,湿度低位为湿度小数部分数据
温度
温度高位为温度整数部分数据,温度低位为温度小数部分数据,且温度低位 Bit8为 1表示负温
度,否则为正温度
校验位 校验位
=
湿度高位
+
湿度低位
+
温度高位
+
温度低位
当主机接收到传感器回复的 40位数据时,需要进行解析得到温湿度值,接下来将举例
说明解析方法。
示例一 当温度值为正,接收到的 40位数据为
00111000 00001000 00011010 00000110 01100000
湿度整数 湿度小数 温度整数 温度小数 校验位
00111000
+
000010000
+
00011010
+
00000110
=
01100000 (校 验 位),说 明 接 收 的 数 据
正确。
湿度:00111000(二进制)
=
>56(十进制)000010000(二进制)
=
>8(十进制)
=
>568% RH
温度:00011010(二进制)
=
>26(十进制)00000110(二进制)
=
>6(十进制)
=
>266℃
示例二 当温度值为负时,接收到的 40位数据为
00111000 00001000 00011010 10000110 11100000
湿度整数 湿度小数 温度整数 温度小数 校验位
物联网 Python开发实战
剩余61页未读,继续阅读
资源评论
- lodestarm2024-03-29感谢资源主的分享,很值得参考学习,资源价值较高,支持!
好知识传播者
- 粉丝: 550
- 资源: 4204
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功