0


【AIOT项目讲解-开源-省创-毕设】分布式智慧蜂箱

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、配置前提条件

设备开热点或路由器,该局域网需要能够上外网。

最好不要运行Android的手机开热点

根据单片机所需要的WIFI,保证Win Linux ESP 都在同个局域网内

Linux 与 Windows 能相互ping通

2、配置Windows端

按照显卡需求,安装CUDA、cudnn

来使用GPU版本的GUI_YoloQt,否则只能使用CPU版本

3、配置虚拟机Linux端

网卡模式配置成桥接模式

能连接外网

已经安装好了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/ 中

    修改format.h 中 MDSLAVE_ADDR_IP 这个宏

    改为运行ModbusSlave的win主机ip(已提前运行该模拟软件)
  2. 执行make,运行./gatewayApp

网页服务器

  1. cd进入 /home/hq/fxProjNew/webServerApp
  2. 执行make,然后运行 sudo ./webServerApp/thttpd.out

阿里云SDK

  1. cd进入 /home/hq/fxProjNew/aliMqttApp/build/output/bin
  2. 运行 ./device_basic_demo

查看 Readme.md

mkdir build && cd build

cmake ..

make -j

输出的可执行文件在这里
/fxProjNew/aliMqttApp/build/output/bin

3、运行ESP32

  1. 确保其中WIFI信息与所用的WIFI是同一个
  2. 确保硬件接线没问题后,上电

4、运行Winodws的应用

  1. QtPC端程序 QtPcApp

    运行可执行文件

    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

3、打开TCP服务 *多线程

 用来通信
 QtAppAndroid  

4、打开MQTT服务 *多线程

 与QtAppPC通信        定时上传
 与ESP32  通信        上报数据,数据库同时保存

5、打开ModbusTCP服务 *多线程

 Slave           上报数据,数据库同时保存

6、打开消息队列

 不管来自谁,只区分 控制 或者 广播
 只能同时处理一类任务的一个,所以同时间多个任务,需要依次入队
 处理webServer     下发的控制命令
 处理QtAppPC       下发的控制命令
 处理QtAppAndroid  下发的控制命令
 处理AliClinet     下发的控制命令

7、数据库保存数据

 每次获得数据后,即刻插入
 time name val key 

本文转载自: https://blog.csdn.net/weixin_52770821/article/details/136287280
版权归原作者 南北旅程 Hia 所有, 如有侵权,请联系我们删除。

“【AIOT项目讲解-开源-省创-毕设】分布式智慧蜂箱”的评论:

还没有评论