1、项目说明与介绍
这是个人的毕设项目,也是省创、校创的项目
包含物联网部分、图像处理部分的讲解和演示
衷心感谢三年来,帮助过我的师长们、兄弟姐妹们,文字表达不完心意,祝你们生活顺利、福生无量!
2、项目开源
欢迎HR、技术朋友、学弟学妹们,参与交流,若有需要,知无不言!
开源如下,最新代码在百度网盘
【说明书也在Gitee,视频开头忘记讲了】
【Gitee】
https://gitee.com/Sanyangmate/fx
【百度网盘】
链接:https://pan.baidu.com/s/1iFg-i9X-i5qM_v-KuvpZCA?pwd=0000 提取码:0000
【B站在这里】
等等
【其他开源项目】
【海陆空环境监测系统】https://gitee.com/Sanyangmate/sensorSystem
【基于Linux的多组态边缘网关】https://gitee.com/Sanyangmate/gateway-linux-c
3、说明书
项目的用法。这里凑凑字数,都在Gitee和B站视频
# 一、说明书首页
> 该文档包括 整体的蜂箱综合项目的描述
> 包含:项目工程介绍、环境配置说明、具体用法
# 二、项目工程介绍
本项目参考物联网三层体系结构,每层都进行实现
## 1、应用层:
Qt桌面端程序 QtPcApp
Qt安卓端程序 QtAndorid
网页客户端 Web
阿里云公网平台 AliIOT
## 2、中间层
网页服务器 Lighttpd/CGI
网关服务器 并发综合服务器
阿里云SDK Ali_MQTT客户端
## 3、硬件层
模拟Slave ModbusTcp
ESP32 FreeRTOS
# 三、环境配置说明
## 1、配置前提条件
> 设备开热点或路由器,该局域网需要能够上外网。<br>
> 最好不要运行Android的手机开热点<br>
> 根据单片机所需要的WIFI,保证Win Linux ESP 都在同个局域网内<br>
> Linux 与 Windows 能相互ping通<br>
## 2、配置Windows端
> 按照显卡需求,安装CUDA、cudnn<br>
> 来使用GPU版本的GUI_YoloQt,否则只能使用CPU版本<br>
## 3、配置虚拟机Linux端
> 网卡模式配置成桥接模式<br>
> 能连接外网<br>
> 已经安装好了mosquito、lighttpd等(用提供的虚拟机即可)
# 四、具体用法
## 1、先运行Windows端的Slave模拟器
1. 安装好Modbus Slave软件
2. 运行fx_All\code_All\code_Hardware\fxModbusSlave 的两个文件
3. 建立连接
## 2、再运行Linux服务器端的所有任务
### 配置部分
1. 第一次运行,先运行/home/hq/fxProjNew/init_start.sh
2. 再执行
ipcs -q # 显示所有的消息队列
ipcrm -q 0 # 删除id为0的消息队列
3. 新终端运行 mosquito
### 网关服务器
1. cd进入 /home/hq/fxProjNew/gatewayApp/ 中<br>
修改format.h 中 MDSLAVE_ADDR_IP 这个宏<br>
改为运行ModbusSlave的win主机ip(已提前运行该模拟软件)
2. 执行make,运行./gatewayApp
### 网页服务器
1. cd进入 /home/hq/fxProjNew/webServerApp<br>
2. 执行make,然后运行 sudo ./webServerApp/thttpd.out<br>
### 阿里云SDK
1. cd进入 /home/hq/fxProjNew/aliMqttApp/build/output/bin
2. 运行 ./device_basic_demo
> 查看 Readme.md<br>
> mkdir build && cd build<br>
> cmake ..<br>
> make -j<br>
> 输出的可执行文件在这里 <br>/fxProjNew/aliMqttApp/build/output/bin
## 3、运行ESP32
1. 确保其中WIFI信息与所用的WIFI是同一个
2. 确保硬件接线没问题后,上电
## 4、运行Winodws的应用
1. QtPC端程序 QtPcApp
> 运行可执行文件<br>
> code_All\code_Application\Qt_PcApp\mult_PcApp\fxQtPcApp.exe
2. 网页客户端 Web
> 浏览器输入 虚拟机ip即可
3. 阿里云公网平台 AliIOT
> 登录 https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fiot.console.aliyun.com%2Flk%2Fsummary%2Fnew&lang=zh
## 5、运行Andorid的应用
1. Qt安卓端程序 QtAndorid
> 手机运行软件即可
## 6、图像处理方面
1. 根据个人电脑,选择运行CPU GPU两个版本程序
# 五、网关程序 设计思路
## 1、打开共享内存
所有数据 用一个结构体 存放在共享内存
给webServer使用
给AliClinet使用
## 2、打开UDP服务 *多线程
用来搜索服务器
QtAppPC
QtAppAndroid
ESP32文章来源:https://www.toymoban.com/news/detail-840232.html
## 3、打开TCP服务 *多线程
用来通信
QtAppAndroid
## 4、打开MQTT服务 *多线程
与QtAppPC通信 定时上传
与ESP32 通信 上报数据,数据库同时保存
## 5、打开ModbusTCP服务 *多线程
Slave 上报数据,数据库同时保存
## 6、打开消息队列
不管来自谁,只区分 控制 或者 广播
只能同时处理一类任务的一个,所以同时间多个任务,需要依次入队
处理webServer 下发的控制命令
处理QtAppPC 下发的控制命令
处理QtAppAndroid 下发的控制命令
处理AliClinet 下发的控制命令
## 7、数据库保存数据
每次获得数据后,即刻插入
time name val key
文章来源地址https://www.toymoban.com/news/detail-840232.html
到了这里,关于【AIOT项目讲解-开源-省创-毕设】分布式智慧蜂箱的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!