基于STM32设计的农作物生长管理系统

(1)实时检测土壤含水量,并根据预设的阈值自动判断是否需要补水,进而实现自动化的灌溉控制。

(2)除了自动补水功能外,系统还提供了本地按钮控制补水选项,同时支持通过远程控制手段进行手动补水操作,增加了补水控制的灵活性。

(3)系统支持植物补光灯亮度的PWM自动调节,可以根据环境亮度的变化动态调整灯光亮度,以确保植物获得最佳光照条件。

(6)为了及时响应异常情况,系统配备了蜂鸣器报警功能。一旦发现温度、湿度或土壤含水量不符合预设的健康范围,系统会通过蜂鸣器发出声音报警。这些阈值可以通过手机应用程序进行设定。

(9)采用Qt框架开发Android手机应用程序

(2)环境光照强度检测模块:使用BH1750传感器来测量环境光照强度,为补光灯的亮度调节提供数据支持。

(3)环境温湿度检测模块:采用DHT11传感器,用于监测环境中的温度和湿度,确保农作物处于适宜的生长环境中。

(6)声音报警模块:采用蜂鸣器作为报警装置,当环境参数超出预设阈值时,通过蜂鸣器发出声音警报。

在联网功能上,系统采用了NBIOT-BC26模块,通过窄带物联网技术实现设备与华为云IoT物联网平台的连接。借助MQTT协议,系统能够将采集到的数据上传至云端,用户可以通过Android手机APP实时查看数据,并远程控制设备。为了进一步增强用户体验,项目还计划使用Qt框架开发Android版的应用程序,以便于用户更方便地进行远程监控和管理。

在供电方面,系统选择了简单且可靠的USB线5V供电方式,不仅便于安装和维护,也确保了系统的稳定性。通过这一系列的设计思路,本项目打造一个高效、可靠且易于使用的农作物生长管理系统,助力现代农业的智能化转型。

**打开官网,搜索物联网,就能快速找到**设备接入IoTDA。

使用物联网平台构建一个完整的物联网解决方案主要包括3部分:物联网平台、业务应用和设备。

物联网平台作为连接业务应用和设备的中间层,屏蔽了各种复杂的设备接口,实现设备的快速接入;同时提供强大的开放能力,支撑行业用户构建各种物联网解决方案。

业务应用通过调用物联网平台提供的API,实现设备数据采集、命令下发、设备管理等业务场景。

点击立即创建。

正在创建标准版实例,需要等待片刻。

在上面也能看到免费单元的限制。

开通之后,点击总览,也能查看接入信息。我们当前设备准备采用MQTT协议接入华为云平台,这里可以看到MQTT协议的地址和端口号等信息。

总结:

根据自己产品名字填写,下面的设备类型选择自定义类型。

创建完成之后点击查看详情。

产品创建完成之后,点击进入产品详情页面,翻到最下面可以看到模型定义。

模型简单来说:就是存放设备上传到云平台的数据。

你可以根据自己的产品进行创建。

比如:

再创建一个服务ID。

接着点击新增属性。

产品是属于上层的抽象模型,接下来在产品模型下添加实际的设备。添加的设备最终需要与真实的设备关联在一起,完成数据交互。

创建完毕之后,点击保存并关闭,得到创建的设备密匙信息。该信息在后续生成MQTT三元组的时候需要使用。

MQTT是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQTT是专门针对物联网开发的轻量级传输协议。MQTT协议针对低带宽网络,低计算能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景。目前MQTT拥有各种平台和设备上的客户端,已经形成了初步的生态系统。

业务流程:

对于设备而言,一般会订阅平台下发消息给设备这个主题。

设备想接收平台下发的消息,就需要订阅平台下发消息给设备的主题,订阅后,平台下发消息给设备,设备就会收到消息。

如果设备想要知道平台下发的消息,需要订阅上面图片里标注的主题。

这个操作称为:属性上报。

根据帮助文档的介绍,当前设备发布主题,上报属性的格式总结如下:

接下来介绍,华为云平台的MQTT三元组参数如何得到。

MQTT协议的端口支持1883和8883,它们的区别是:8883是加密端口更加安全。但是单片机上使用比较困难,所以当前的设备是采用1883端口进连接的。

根据上面的域名和端口号,得到下面的IP地址和端口号信息:如果设备支持填写域名可以直接填域名,不支持就直接填写IP地址。(IP地址就是域名解析得到的)

华为云的MQTT服务器地址:117.78.5.125华为云的MQTT端口号:1883如何得到IP地址?如何域名转IP?打开Windows的命令行输入以下命令。

pingad635970a1.st1.iotda-device.cn-north-4.myhuaweicloud.com

下面是打开的页面:

填入设备的信息:(上面两行就是设备创建完成之后保存得到的)

直接得到三元组信息。

完成上面的操作之后,打开华为云网页后台,可以看到设备已经在线了。

点击详情页面,可以看到上传的数据:

到此,云平台的部署已经完成,设备已经可以正常上传数据了。

**【1】获取项目凭证**点击左上角用户名,选择下拉菜单里的我的凭证

项目凭证:

28add376c01e4a61ac8b621c714bf459【2】创建IAM用户

鼠标放在左上角头像上,在下拉菜单里选择统一身份认证。

点击左上角创建用户。

创建成功:

【3】创建完成

用户信息如下:

设备影子介绍:

设备影子是一个用于存储和检索设备当前状态信息的JSON文档。每个设备有且只有一个设备影子,由设备ID唯一标识设备影子仅保存最近一次设备的上报数据和预期数据无论该设备是否在线,都可以通过该影子获取和设置设备的属性简单来说:设备影子就是保存,设备最新上传的一次数据。

我们设计的软件里,如果想要获取设备的最新状态信息,就采用设备影子接口。

在线调试接口,可以请求影子接口,了解请求,与返回的数据格式。

调试完成看右下角的响应体,就是返回的影子数据。

设备影子接口返回的数据如下:

{"device_id":"663cb18871d845632a0912e7_dev1","shadow":[{"service_id":"stm32","desired":{"properties":null,"event_time":null},"reported":{"properties":{"DHT11_T":18,"DHT11_H":90,"BH1750":38,"MQ135":70},"event_time":"20240509T113448Z"},"version":3}]}调试成功之后,可以得到访问影子数据的真实链接,接下来的代码开发中,就采用Qt写代码访问此链接,获取影子数据,完成上位机开发。

链接如下:

使用华为云平台提供的API接口获取设备上传的数据,进行可视化显示,以及远程控制设备。

打开下载链接后选择下面的版本进行下载:

qt-opensource-windows-x86-5.12.6.exe13-Nov-201907:283.7GDetails

软件安装时断网安装,否则会提示输入账户。

安装的时候,第一个复选框里勾选一个mingw32编译器即可,其他的不管默认就行,直接点击下一步继续安装。

选择MinGW32-bit编译器:(一定要看清楚了)

说明:我这里只是介绍PC端,也就是Windows系统下的Qt环境搭建。Android的开发环境比较麻烦,如果想学习Android开发,想编译Android程序的APP,需要自己去搭建Android环境。

前面2讲解了需要用的API接口,接下来就使用Qt设计上位机,设计界面,完成整体上位机的逻辑设计。

【1】新建工程

【2】设置项目的名称。

【3】选择编译系统

【4】选择默认继承的类

【5】选择编译器

【6】点击完成

【7】工程创建完成

打开默认的界面如下:

根据自己需求设计界面。

点击软件左下角的绿色三角形按钮进行编译运行。

编译之后的效果:

如果想编译Android手机APP,必须要先自己配置好自己的Android环境。(搭建环境的过程可以自行百度搜索学习)

然后才可以进行下面的步骤。

创建完成。

Qt本身是跨平台的,直接选择Android的编译器,就可以将程序编译到Android平台。

然后点击构建。

生成的apk的目录在哪里呢?编译完成之后,在控制台会输出APK文件的路径。

知道目录在哪里之后,在Windows的文件资源管理器里,找到路径,具体看下图,找到生成的apk文件。

为了保障作物生长环境的安全性,系统配置了环境温湿度传感器(DHT11),并在检测到温度或湿度超出预设范围时触发蜂鸣器报警。这些阈值可以通过手机应用程序进行设定,使得系统更加灵活易用。系统还配备了一块0.96寸的OLED显示屏,用于实时显示环境温度、湿度、土壤含水量以及光照强度等重要参数,使用户能够直观地了解当前的环境状况。

项目利用Qt框架开发了一个Android版的应用程序,进一步增强了系统的远程监控与控制能力。该应用程序不仅可以显示远程监测数据,还可以让用户随时随地控制设备的各项功能。供电方面,系统选择了简便且易于获取的USB线5V供电方案,方便用户安装与使用。

该项目通过集成先进的传感器技术和物联网应用,为现代化农业生产提供了一套高效、便捷且智能化的解决方案。

审核编辑黄宇

长沙市望城经济技术开发区航空路6号手机智能终端产业园2号厂房3层(0731-88081133)

THE END
1.特殊网名制作软件大全网名app下载网名生成器特殊网名制作软件大全能生成带有特殊符号昵称的软件,比如竖立网名、稀有漂亮符号、麒麟符号、昵称中间一横等特殊符号,非常独特好看,一键即可生成你想要的特殊符号昵称,网名生成器、特殊网名制作、网名大全等软件让你在众多不同的社交网络平台上都是非常适用的,大家可以生成自己专属的网名,结合创意和符号等等,可以让你的文字http://www.downyi.com/key/wangmingzhizuoruanjian/
2.名字随机生成器——让你快速取名在生活中,取名是一项非常重要的任务,名字的好坏将会对你的生活产生很大的影响。但是取好名字并不是一件容易的事情,有的人会花费很长时间才能想出一个满意的名字。为了解决这一问题,今天我们就来介绍一种名字生成器——名字随机生成器。 名字随机生成器是一款非常实用的工具,可以帮助你快速生成适合你的名字。该工具https://www.bamuwu.com/details/2064
3.在线八字易经宝宝取名源码带源码数据(网页+APP+小程序)自然语言处理技术:如分词、词性标注、命名实体识别等,这些技术可以用于名字寓意的解析和生成。 开发工具 开发工具用于辅助开发过程,提高开发效率。在起名源码中,常用的开发工具包括: 版本控制系统:如Git等,用于代码的版本管理和协作开发。 IDE(集成开发环境):如Visual Studio Code、PyCharm等,这些IDE提供了代码编辑、调https://blog.csdn.net/rongtinghua/article/details/144259476
4.在线签名生成器免费,rpa,机器人,自动化艺术签名设计免费版在线生成艺术签名在线生成器2024年9月9日?·?艺术签名在线生成器使用非常方便,只需输入你的名字并选择款式就可以一键生成了,完全免费,不限制次数,你可以完全自由发挥. 最高支持四个字的中文名字设计,如果是 更多内容请查看http://www.kachayv.cn/https://www.wdlinux.cn/html/email/20241211/23845.html
5.[社区]制作一个简单的随机姓名(内附一键粘贴)·GameCreatorGame.player.variable.setString(14002,生成.first() ); 复制 显示全部 复制 之后我们设置一下字符串,让全名=姓+名 点击事件就做完了,你的随机姓名也会存进去 什么你问我确认是干嘛的,那个是关闭界面 咱来运行一下 成功了 如果你想姓和名字分开roll,那就做两个按钮,然后把上面的内容复制对应部分,其实很好分https://www.gamecreator.com.cn/forum/det/3850
6.创作猫全国重名查询,详细教程,简单制作,日入多张创作猫的基础功能:去水印、智能配音、老照片修复等,想必大家都有耳闻。 但是却很少有人知道创作猫还有强大的变现板块:涵盖了小说推文、短剧推广、小程序测试等多种内容。 我之前给侄女取名在网上找灵感,刷视频的时候发现一个全国重名查询的小程序,今天就拆解这个项目的玩法 http://www.hmly8.com/?p=59819
7.创作猫全国重名查询,详细教程,简单制作,日入多张创富道场【vip1188.cn】项目课程资源网:创作猫全国重名查询,详细教程,简单制作,日入多张【揭秘】 创作猫的基础功能:去水印、智能配音、老照片修复等,想必大家都有耳闻。 但是却很少有人知道创作猫还有强大的变现板块:涵盖了小说推文、短剧推广、小程序测试等多种内容。 我之前给侄女取名在网上找灵感,刷视频的时候发https://vip1188.cn/35347.html
8.创作猫全国重名查询,详细教程,简单制作,日入多张创作猫的基础功能:去水印、智能配音、老照片修复等,想必大家都有耳闻。 但是却很少有人知道创作猫还有强大的变现板块:涵盖了小说推文、短剧推广、小程序测试等多种内容。 我之前给侄女取名在网上找灵感,刷视频的时候发现一个全国重名查询的小程序,今天就拆解这个项目的玩法 https://www.midou55.com/79767.html
9.花草名称生成器生成字体分类发现字体简介: 花草名称生成器 Shitzu&Porko_PersonalUseOnly 语言:英文 下载 Novelin Black Italic 语言:英文 下载 SherilynSANS 语言:英文 下载 Liber Grotesque Family Thin 语言:英文 下载 Vicanza 语言:英文 下载 PrincessCards 语言:英文 下载 HumbleNostalgia-Italic 语言:英文 下载 FSP DEMO - Octin Prisonhttp://www.qiuziti.com/fontlist2?id=1041628
10.英文名字在线生成在线生成SDK代码华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:英文名字在线生成。https://support.huaweicloud.com/topic/212170-1-Y
11.姓名代码在线转换器理想股票技术论坛姓名代码在线转换器是一款方便快捷的工具,能够将中文姓名转换成对应的名称代码或代码转换为中文姓名。使用该转换器可以帮助用户快速查询和查找相应的姓名代码,方便实现个人信息录入、数据处理等操作。无论是需要进行批量转换还是单个转换,该转换器都能够满足用户的需求,https://www.55188.com/tag-3650810.html
12.芋道框架万字详解(前后端分离)若依框架yudao可以看出来芋道开发框架是非常全能的,我也用这个框架开发了三个项目所使用的技术栈后端为SpringCloud,前端使用的是Vue3,数据库主要用的两个,MySQL和postgre,主要使用的是他的代码生成功能,在此需要注意的是芋道开发框架目前只支持MySQL的建表插入语句,其余数据库需要另做更改,我一会会去介绍postgre的使用方式。 https://developer.aliyun.com/article/1576332
13.全网首发,4万字Instagram从0到1流量变现实操手册Instagram名字源自于Instamatic,是柯达从1963年开始销售的一个相机的系列名。 公司位于旧金山,由Kevin Systrom动态会展示你在Instagram上登录过的网址链接和你的在线时长。 2.4 成效分析 Insights Aa该功能以文字形式展现,系统为你生成一张贺卡、动图,以用户互动为目的。 系统会给你推荐背景模板,点击https://www.360doc.cn/article/74163855_1125552299.html
14.微信透明昵称设置,空白名字代码生成教程手机堂1、在公众号手机堂后台回复数字5或者“空白昵称”,会得到一个空白的代码符号 。 2、长按复制空白昵称代码。 3、打开微信进入-我-点击自己头像,进入资料设置页面,把空白符号粘贴到名字一栏,然后点击保存就可以了。 返回对话框打开自己头像刷新一下资料,看看是不是变成空白了,这样就搞定了。 https://www.163.com/dy/article/HD0BIE310511K7NK.html
15.抖音空白昵称()(抖音空白昵称代码复制)只需要输入关键词,就能返回你想要的内容,有小程序、在线网页版、PC客户端和批量生成器 官网:https://ai.de1919.com。 本文目录: 抖音名叫空白昵称什么意思 抖音个人简介怎么空白 抖音空白昵称代码复制 抖音名叫空白昵称什么意思 抖音昵称为空说明这个人是用手机登陆上的抖音,上去之后一直没有给自己在抖音上起https://www.de1919.com/article/580456.html
16.微信昵称怎么设置空白微信空白名字代码接亲网微信昵称怎么设置空白 微信空白名字代码 微信,一款即时跨平台通讯工具,可支持单人,多人在线,给大家提供了不少的便利。里面的功能繁多,可供大家选择也是经常要使用到的东西。但是想必大家也晓得,在每一个社交平台上都会有像现实世界中的名片一样的东西—网名或昵称,有了它,相当于有个代号,最起码别人晓得你是谁,那么https://www.jieqinwang.com/baike/52282.html
17.空白代码复制微信名字游戏3、点击“安卓转换”,之后点击“复制”,返回微信“发现”界面,点击右下角“我”,点击“个人头像”,点击“昵称”,删除原来的昵称,长按复制后,点击右上角“保存”即可。 二、微信空白名字代码 之一步、复制特殊符号,不是一般的空白格式 ,直接打空格是没有用的必须用下面的符号,大家可以直接复制:() https://www.taofang114.com/post/17806.html
18.id单字生成器(单字id转换器)游戏问答一个字的ID其实不值钱id单字生成器,因为可以添加【空白代码】这种字符id单字生成器,比如id单字生成器你打算取“帅”这一个字的名字,取名格式就是【空白字符+帅+空白字符】这样,只要不和别人取过的空白字符格式重复,就能成功修改。 第一种为利用游戏BUG;如之前的改名卡BUG,可以输入空格字符。第二种为利用系统识别https://www.fkw8.com/ask/4990.html
19.空白符号,空白名字制作,空白代码复制,王者荣耀CF吃鸡空白名字生成器王者荣耀空白符号,空白代码,空白网名,王者荣耀空白名字,王者空白名,王者空白名怎么打,空白名字复制,王者荣耀CF吃鸡空白名字生成器http://kongbai.teshufuhao.cn/
20.考生姓名代码在线查询昌1893 猖1894 场1901 尝1902 常1903 长1904 偿1905 肠1906 厂1907 敞1908 畅1909 唱1910 倡1911查询员工表显示员工名字、编号、工资,查询结果以名字为序升序排列 2.查询员工表显示员工名字、编号、CAD图案代码查询 免费文档中心 免费文档中心可免积分在线阅读和下载文档 ?免费文档 ?高等教育 ?高中教育https://m.360docs.net/doc/a113248378.html
21.WordPress引用阿里巴巴矢量图标库添加彩色图标第三步:跳转到我的项目页面(没有跳转的点击–>资源管理–>我的项目)//我的项目自己创建名字 第四步:在我的项目页面有一下按钮—>一般选Symbol 第五步:点击 –>查看在线链接(没有的的话可以点击生成链接) —>点此复制代码(代码例如下面) 代码语言:javascript https://cloud.tencent.com/developer/article/2335425
22.cf空白名字制作生成软件下载散人CF空白名代码生成器v1.0免费绿色版由恋伤制作的cf散人空白名称生成器可以随机生成15000千种不同空白呢称,如生成空白名已被使用,您可以点击重新生成空白名按钮或选择自动生成空白名,知道更改名字成功为止,在自动模式下,将每隔10秒钟自动更换一次空白名并复制至剪切板。 代码生成器空白名CF散人 https://www.jb51.net/game/704145.html
23.在线姓名自动生成器注:长宽可以调整。 在自定义姓氏里输入你的姓氏,N多名字任你选~ 代码:<EMBED height=430 type=application/x-shockwave-flash pluginspage=http://www.macromedia.com/go/getflashplayer width=700 src=http://sm./fl/qiming.swf wmode="transparent" invokeurls="false" quality="high" allowScriptAccess="nevehttp://www.360doc.com/content/12/1007/15/6085160_240040489.shtml