【车联网原型系统|一】项目介绍+需求分析+概要设计

2023-10-31


物联网原型系统导航

【车联网原型系统|一】项目介绍+需求分析+概要设计 https://blog.csdn.net/weixin_46291251/article/details/125807297

【车联网原型系统|二】数据库+应用层协议设计 https://blog.csdn.net/weixin_46291251/article/details/125808107

【车联网原型系统|三】树莓派设计+模拟基站程序 https://blog.csdn.net/weixin_46291251/article/details/125808229

【车联网原型系统|四】adhoc组网+frp内网穿透 https://blog.csdn.net/weixin_46291251/article/details/125808621

【车联网原型系统|五】前后端分离 https://blog.csdn.net/weixin_46291251/article/details/125808674

【车联网原型系统|六】效果展示 https://blog.csdn.net/weixin_46291251/article/details/125808845

【源码下载】 https://download.csdn.net/download/weixin_46291251/86227197


【车联网原型系统|一】项目介绍+需求分析

绪论

项目概述

物联网是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。

本系统通过物联网小车实验器材,实现一个基于物联网小车的环境检测系统。用户通过web页面操作小车、管理小车、查看数据;小车不断运动,每隔一定的时间通过传感器对环境进行监测,得到许多数据,并将这些数据发送给基站;而基站可以连接web页面和小车,将用户下发的命令处理后,发送给小车,并且接收小车发送的数据,将这些数据存放到数据库中,同时发送给web页面。

技术选型

场景 技术
后端框架 Django(python)
树莓派编程 python
数据库 Mysql
前端框架 vue(html+css+javascript)
组网 Adhoc

需求分析

系统功能

1、 小车采集环境数据,如温度、湿度、光照、音量等;

2、 小车记录自身轨迹数据,如前进/后退距离、转弯方向、转弯角度等;

3、 小车与小车进行数据交换;

4、 小车与基站进行数据交换(优先);

5、 基站在web端可视化展示环境数据;

6、 基站在web端还原运动轨迹;

7、 用户可以在基站(即web端)控制小车运动、传感器工作的开始和结束;

8、 web透网,用户可以在手机访问web服务;

9、 加密所有报文;

10、 设置用户访问控制策略。

子系统

前端

前端获取到的用户指令均需按照指定格式发送给后端。

1、 用户控制

(1) 用户可以在前端页面控制传感器工作的开始和结束;

(2) 用户可以在前端页面控制小车移动的开始和结束;

(3) 用户可以在前端页面控制小车移动的方向、速度、时间;

(4) 用户可以在前端页面控制小车返回出发点;

2、 数据展示

(1) 前端页面可以展示小车实际运动轨迹;

(2) 前端页面可以展示小车预计运动轨迹;

(3) 前端页面可以展示传感器监控到的所有数据;

(4) 用户可以在前端查询指定小车数据,如按时间等;

(5) 用户可以在前端查询指定传感器数据,如按时间、传感器种类等进行查询;

3、 用户管理

(1) 用户登录;

(2) 用户分为管理员用户和普通用户,管理员用户可以看到数据库中存储的所有数据,普通用户只能看到自己操作产生的数据;

后端(基站)

1、 与数据库交互

(1)连接数据库,对设计的数据表进行增、删、改、查操作;

2、 与前端交互

后端需要提供接口供前端访问,具体包括:

(1) 控制传感器工作的开始和结束的接口;

(2) 控制小车移动的开始和结束的接口;

(3) 控制小车移动的方向、速度、时间的接口;

(4) 控制小车返回出发点的接口

(5) 获取小车运动轨迹信息的接口;

(6) 获取传感器监控到的所有数据的接口;

(7) 查询小车数据的接口,;

(8) 查询传感器数据的接口;

3、 与小车交互

(1) 发送控制传感器工作的开始和结束的指令;

(2) 发送控制小车移动的开始和结束的指令;

(3) 发送小车移动的方向、速度、时间的指令;

(4) 发送小车返回出发点的指令;

(5) 获取小车运动轨迹信息;

(6) 获取传感器监控到的所有数据;

小车(树莓派)

1、 接收并执行指令

(1) 接收控制传感器工作的开始和结束的指令;

(2) 接收控制小车移动的开始和结束的指令;

(3) 接收控制小车移动的方向、速度、时间的指令;

(4) 接收控制小车返回出发点的指令;

2、 发送信息

(1) 发送小车运动轨迹信息;

(2) 发送传感器监控到的所有数据;

概要设计

DFD图

常规数据流

首先是常规的数据流图,有以下数据的流动:

  • web前端页面读取用户的操作,并将操作通过调用API 的形式传给后端
  • 后端收取用户操作后,对具体的操作进行处理。然后获得可执行的指令,并通过socket以报文的形式将指令下发给小车(树莓派)。
  • 后端发送报文的同时,将操作记录写入数据库。
  • 树莓派收到报文后,从中解析出需要的指令。然后根据指令对小车进行控制(移动/开关传感器)小车上的大量传感器可以对环境进行感知,由于路面可能有障碍物,小车对行径路程可能与移动指令有所不同(自动避障)。小车在移动的过程中不断的记录下传感器数据和路径数据,并通过socket将数据反馈给基站(后端)

image-20220714150059825

转发数据流

然后是小车不在基站范围内,但是在其他(基站范围内)小车的通信范围内的数据流图:

  • web前端页面读取用户的操作,并将操作通过调用API 的形式传给后端
  • 后端收取用户操作后,对具体的操作进行处理。然后获得可执行的指令,并通过socket以报文的形式将指令下发给小车(树莓派)。后端发送报文的同时,将操作记录写入数据库。
  • 由于小车不在范围内,所以要对这个报文进行广播(发送给所有基站范围内小车)
  • 收到报文的小车B,在判断这是条转发报文之后,直接将报文转发给小车A。
  • 树莓派A收到报文后,从中解析出需要的指令。然后根据指令对小车进行控制(移动/开关传感)
  • 小车A获取到的数据,通过socket经由树莓派B进行转发,发送给后端服务器。

image-20220714150130408

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【车联网原型系统|一】项目介绍+需求分析+概要设计 的相关文章

随机推荐

  • 书剑宠物疫苗接种管理软件操作教程

    软件简介 书剑宠物疫苗接种管理软件是一款宠物疫苗接种管理的工具 适合宠物诊所使用 具有动物主人建档 宠物疫苗接种登记管理 每日提醒 打印疫苗接种通知卡 自定义短信提醒模板等完善的功能 另外本软件的特色是同时具有手机网页版功能 手机扫一扫即能
  • 神经网络:多层感知机-MLP

    参考别人的 别看了 我自己做笔记玩的 最基本的神经网络 MLP 相应的变种的神经网络 误差反向传播 Back Propagation BP 神经网路 概率神经网络 卷积神经网络 Convolutional Neural Network CN
  • 有一行电文,已按以下规律译成密码: A-Z a-z B-Y b-y C-X c-x,即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求编程将密码译回原文,并

    有一行电文 已按以下规律译成密码 A Z a z B Y b y C X c x 即第一个字母变成第26个字母 第i个字母变成第 26 i 1 个字母 非字母字符不变 要求编程将密码译回原文 并输出密码和原文 include
  • requests中header的介绍及使用

    文章目录 在我们的学习工作中 写代码做一个简单的接口测试的时候 就会发现 即使是发送了一个post或get请求 但是系统提示我非法参数 无效请求 为什么呢 因为有一些系统或者网站对于请求做出一系列的反爬虫机制 他会效验你的header 是不
  • 多线程伪共享(false sharing)问题分析

    include
  • JUC AQS ReentrantLock源码分析(一)

    Java的内置锁一直都是备受争议的 在JDK 1 6之前 synchronized这个重量级锁其性能一直都是较为低下 虽然在1 6后 进行大量的锁优化策略 但是与Lock相比synchronized还是存在一些缺陷的 虽然synchroni
  • 区块链技术是未来的必选项?

    现如今 区块链技术为人类提供了一个可能的应对方案 我们不能禁止谁去创造什么样的人工智能 但是我们可以通过区块链技术对发展的进度进行追踪与评估 它们可能是全心全意要做造福人类的事情 但问题是很多的过程会出错 如果能够要求大家把制造AI的方法和
  • Linux(三):系统启动、目录结构与文件属性

    目录 系统启动 内核引导 运行 init 运行级别 系统初始化 建立终端 图形模式与文字模式 系统目录结构 运行 指令集合 外部文件管理 系统启动 扩展 临时文件 账户 文件基本属性 更改属性 chgrp 更改属组 chown 更改属主 属
  • 【软件工程基础复习整理】第四章需求分析(4)IDEF1X数据建模

    IDEF1X数据建模 实体时具有相同属性或特征的显示或抽象事实的结合 这个集合的一个元素便称为实体的一个实例 在一张IDEF1X图中 一个实体只能在图中出现一次 可标定联系 子实体的存在依赖于父实体的存在 不完全分类联系 可能存在一个实例属
  • 字典的使用

    文章目录 字典 新建 方法一 方法二 dict 增 方法一 dict key value 方法二 setdefault key value 删 方法一 pop 方法二 popitem 方法三 clear 改 方法一 dict key val
  • 5个可以网上赚钱的副业,聪明人早就开始做了,现在了解也不迟!

    大家好 我是项目小编 每天给大家分享网上赚钱项目和互联网干货 随着互联网发展越来越快 很多的人都想在网络上赚钱 那么网络上有哪些靠谱的赚钱方法呢 下面小编就给大家分享几个网络上常见的正规靠谱的赚钱方法 一 玩游戏赚钱 很多人听到玩游戏都会说
  • 【Matlab代码】图像的小波分解和重构实现

    一 原理 MATLAB中实现图像分解和重构的命令主要有dwt2 idwt2 和 wavedec2 waverec2 其中 进行一层小波分解的命令为dwt2 对应的小波重构命令为idwt2 进行多层分解的命令为wavedec2 对应的重构命令
  • git checkout XXX error: Your local changes to the following files would be overwritten by 解决方案

    0 问题现象描述 当我们在使用git checkout 命令时 如果本地有修改的代码没有提交 则无法切换分支 git会提示你本地有未提交的代码 本地修改会被覆盖 git checkout review0329 error Your loca
  • 阿里榜单&常见标识

    上星期有很多小伙伴们也发现了阿里的Most Popular on Alibaba的变化 但是还是有部份的小伙伴不太了解 今天柒哥带领伙伴们去深入了解一些阿里常见的榜单以及普及下阿里常见一些标志代表的含义 首先让我们先了解下这个Popular
  • spark使用实现

    为什么80 的码农都做不了架构师 gt gt gt spark启动 spark shell master local 2 spark实现wc val file sc textFile file home hadoop data hello
  • ESP32S3学习——SPI

    芯片 esp32 开发环境 espidfv4 4 一 官网相关资料 又是英文 1 简介 SPI 没啥信息 跳过 2 esp32s3 SPI外设介绍 ESP32 S3集成了4个SPI外围设备 emm 实际能用的是两个 SPI0和SPI1在内部
  • Kettle循环获取结果集

    文章目录 1 Kettle循环获取结果集 1 1 效果图 1 2 转换介绍 1 3 job介绍 1 4 运行job结果 2 关于Kettle中JavaScrpit的使用 1 Kettle循环获取结果集 1 1 效果图 job j1 kjb
  • 黑马jvm课程笔记d1

    目录 一 堆内存相关 1 1 定义 1 2堆内存溢出 1 2 1 堆内存内存诊断工具 二 方法区相关 2 1 方法区组成 2 2 方法区内存溢出 2 3 方法区内常量池 2 4 运行时常量池 三 StringTable相关 3 1 Stri
  • [1136]Linux中date时间和hwclock时间不一致

    文章目录 1 在同步时间前需要先检查时区是否是china的CTS时区 2 操作系统有两个时间 软件时间和硬件时间 1 在同步时间前需要先检查时区是否是china的CTS时区 必须确保时区准确 否则时间同步后显示不正常 2 如果时区不正确 如
  • 【车联网原型系统|一】项目介绍+需求分析+概要设计

    物联网原型系统导航 车联网原型系统 一 项目介绍 需求分析 概要设计 https blog csdn net weixin 46291251 article details 125807297 车联网原型系统 二 数据库 应用层协议设计 h