> 技术文档 > 基于ESP32-S3的远程交通事故数据采集系统(数据采集,远程视频传输,物联网平台,微信小程序)_esp32cam wⅰfⅰ局域网手机微信小程序显示视频

基于ESP32-S3的远程交通事故数据采集系统(数据采集,远程视频传输,物联网平台,微信小程序)_esp32cam wⅰfⅰ局域网手机微信小程序显示视频

一、功能描述与介绍

        本设计主要包括数据采集模块采集多个数据并存储到主控中,通过4G通信,物联网平台获取主控上报的数据,采集的为环境数据,例如温度、湿度、城市天气,实时时间等,以及采集交通事故车辆数据,用于分析与判定交通事故。微信小程序获取物联网的数据,可人工进行报警,人工报警后,本地的LED报警指示灯点亮。远程视频模块是通过阿里云服务器建立内网穿透,实现访问本地端视频,可保存视频流中的图片,便于事故判定。

功能图展示

        本设计采用VSCode中的PlatformIO,本设计还包含前期研究的一些成果例如(1)通过摄像头摄像头拍摄,并实时显示在TFT屏幕中,并通过按键保存在SD中;(2)在屏幕中显示图片;(3)通过WIFI将数据传输至物联网平台(本设计采用4G通信传输,与WIFI不太相同)等,上述未在设计中采用,就不过多赘述。

二、硬件选择

        硬件主要包括ESP32-S3核心开发板、TFT-2.4电阻屏、4G通信模块、碰撞开关模块、温湿度模块、三维角度传感器模块、LED模块、电源等。

数据采集系统开发硬件环境表

序号

硬件模块

型号

数量

1

ESP32-S3核心开发板

ESP32-S3-devkitc-1-N16R8

1

2

ESP32-S3-CAM核心开发板

ESP32-S3-devkitc-1-N16R8

1

3

TFT-2.4电阻屏

TFT-2.4

1

4

4G通信模块

Y100E

1

5

Q89碰撞开关模块

Q89

1

6

DHT11温湿度模块

DHT11

1

7

三维角度传感器模块

MPU6050

1

8

LED模块

LED

1

9

迷你降压模块

DC-DC-3A

1

10

滑动开关

SS-12D10L2.5

1

11

电源插座

DC-005

1

ESP32-S3核心开发板:系统的核心,完成数据收集、处理、上传以及远程视频传输等功能,本设计直接采用的ESP32-S3-CAM核心开发板视频传输,也可采用OpenMV。

TFT-2.4电阻屏:显示系统采集的数据与状态,以及实现触摸按键。

4G通信模块:系统通过串口与4G模块通信,实现数据传输至物联网平台。

LED模块:显示报警状态

温湿度传感器:采集环境温湿度

三维角度传感器:采集车辆的三维加速度与姿态角

碰撞开关模块:模拟车辆碰撞

三、软件设计

(1)数据采集:

        本系统需要采集当时环境温湿度、碰撞状态、车辆三维的加速度与旋转角度,然后TFT显示屏会实时更新所收集的数据,并实时监测碰撞状态,控制LED模块的状态,保证及时报警。此外,本系统连接WIFI,设备可上网通过知心天气获取本地的天气与气温以及获取网络时间,并实时显示。

知心天气返回的JSON信息

(2)4G通信(银尔达 Y100E):

        直接使用银尔达的DTU平台,与物联网进行连接,本地通过串口进行通信。本设计物联网使用的为OneNet物联网平台。

        其中,本设计学习采用串口一实现,主控ESP32-S3与4G通信模块通信,在DTU平台设置参数,并订阅OneNet物联网平台的topic,实现数据传输。

主要的topic

(3)远程视频传输

a.局域网视频传输

        Blinker物联网平台和单片机相互配合,成功打造出一个拥有远程控制、视频监控以及状态反馈功能的IoT系统,此系统借助WiFi与互联网相连,用户可借助Blinker App随时查看摄像头画面、进行远程交互,还可以获取设备运行状态信息,适用于智能安防、环境监测、远程观察等多种场景。

        其中,加入了Take a screenshort,可通过该按钮将视频流中的图片保存在本地,便于处理交通事故。

视频流界面

b.内网穿透技术

        内网穿透技术作为一种网络通信手段,可使处于局域网或者私有网络里的设备被外部公网访问,在多数家庭以及企业网络当中,设备一般是借助无线路由器来上网,所获取的是内网IP地址,比如192.168.x.x,没办法直接从公网进行访问,而内网穿透恰好是为了解决“从外网访问内网”这一需求,在远程控制、视频监控、智能家居等物联网场景里有着广泛的应用。

        内网穿透的基本原理是这样的:内网设备主动向一个拥有公网地址的中转服务器发起连接并且维持该连接,中转服务器为其分配一个可公网访问的端口或者域名,当外部用户访问这个端口的时候,数据经由服务器转发给内网设备,如此一来,就算设备处于NAT或者防火墙之后,也可达成远程访问。常见的内网穿透方式包含FRP、Ngrok、花生壳、ZeroTier等,其中FRP是一种较为流行的开源穿透工具,支持多种协议,适合开发者来使用,本系统采用的便是这种方式。

        上述的远程视频传输在局域网内查看,但本系统需要远程查看,并且在公网查看本地端的视频,为了解决只限局域网才能查看远程视频,本系统引入内网穿透技术。

FPR后台界面

(4)微信小程序软件开发

        微信小程序是腾讯推出的一个无需下载安装就可以使用的轻量级的应用,用户可以通过微信扫码、搜索或分享就可以访问,具有“触手可及、用完即走”的特点。小程序依托微信生态,用户覆盖面较为广泛,可支持网络请求以及数据存储等功能,还包括媒体控制、地图定位以及蓝牙或WiFi通信等,其开发语言主要为JavaScript、WXML、WXSS,同时配套微信开发者工具来开展调试与发布工作。

        本系统采用的开发采用的是WXML、WXSS、JavaScript的组合语言结构。它是微信小程序的标准开发语言体系,用于编写前端页面与后端逻辑交互部分。

        本系统需要远端查看本地主控数据,因此本系统采用微信小程序访问OneNet物联网的数据并设置物联网属性的方式,实现相关功能。

微信小程序界面

四、EDA

        在搭建硬件电路之前先对各个硬件模块进行测试以确保硬件功能正常,在搭建整体硬件系统时一旦出现了问题方便进行逐个排查。在各个硬件功能测试完毕后,按照原理图对硬件设备进行正确连接进而对系统整体进行调试。

  

完整硬件系统连接图

五、小结

        本文章为个人的设计记录,存在部分问题,可进一步完善。

        在设计的过程中,参考了一些哔站博主视频以及CSDN博主文章,以下为部分网址。

        代码有偿,需要的私信!!!

六、参考链接

ESP32超详细教程-使用VSCode(基于Arduino框架)

ESP32入门教程之通过API获取天气数据与视频传输

ESP32连接新版OneNET完整教程-WIFI

ESP32移植TFT.eSPI库显示汉字教程(超详细)

微信小程序连接新版Onenet,API。_微信小程序连接onenet-CSDN博客

ESP32-CAM内网穿透教程_esp32 内网穿透-CSDN博客