物联网-大气质量检测系统
Air - Atmospheric monitoring system. A typical iot application solutions. 大气质量检测系统. 涵盖物联网设备及相关服务器. 一整套的物联网应用场景的解决方案.
GitHub地址 : Air
在线演示地址:Web
Air - A Typical Iot Application Solutions. 大气质量检测系统. 物联网温湿度以及灰尘PM2.5采集监控.
Introduction. 主要介绍
Air - 大气质量检测系统。主要数据流程为 :物联网Stm32传感设备 -> (WIFI模块) -> TcpSocket服务器 -> Web后端服务器 -> 数据库 -> Web前端展示。以及包含Android移动端相关应用。完成了一整个物联网应用场景的流程。
Language. 开发语言
- Java :5/7
- C :1/7
- Kotlin :1/7
Projects. 子项目一览
Air-Iot :基于指南者Stm32开发板进行开发,通过传感器感知大气质量指标,通过WIFI模块进行TCP通信,完成物联网嵌入式设备的构建。
Air-Protocol :定义十六进制协议和数据实体对象,提供十六进制字符串和实体对象之间的转换工具,其他服务基于第三方Protocol服务进行协议编解码。
Air-Room :模拟物联网设备通过Socket发送TCP数据包,建立调度线程池,添加虚拟传感器对象,模拟大气环境检测系统,通过Socket推送Tcp模拟数据包到服务器。
Air-Server :TCP_SERVER服务端,监听物联网设备发送的TCP数据包,将TCP数据包编解码后通过HTTP发送到BACK端进行数据存储更新。
Air-Back :数据交互服务后端,基于SpringBoot快速开发后台数据服务,提供REST接口调用,基于Mybatis实现数据的CRUD操作。
Air-Webapp :WEB数据展示网站,基于Servlet+Jdbc搭建,进行监测数据的展示。
Air-Phone :基于Kotlin,移动端接收嵌入式设备发送的数据包,并通过HTTP发送到WEB服务器。
Technology Stack. 技术栈
服务 | 技术栈 | 其他 |
---|---|---|
Air-Iot | Stm32开发板,DHT11温湿度模块,ESP8266WIFI模块 | Keil Mdk5 进行程序烧写 |
Air-Protocol | Java十六进制编解码 | |
Air-Room | Swing可视化编程,Socket客户端 | 依赖protocol服务进行模拟协议数据的生成 |
Air-Server | Smart-Socket服务端,Http客户端 | 依赖protocol服务进行协议编解码 |
Air-Back | Springboot,Mybatis,Http服务端 | 需配置MySQL数据库 |
Air-Webapp | Jsp,Servlet,Jdbc | |
Air-Phone | Kotlin … |
提示:
依赖protocol的意思是 :需要把protocol项目打包成jar(Maven或IDEA),然后作为本机jar包添加到依赖工程中去。
Architecture. 运行流程
Deploy. 快速部署
1.1 部署嵌入式设备 :
- 购买野火指南者STM32开发板,配置好KeilMdk5开发IDE环境(为方便开发,可用Clion或其他C语言IDE进行程序开发,仅适用Keil进行程序烧写)。
- 将 Air-Iot 程序烧写到开发板中,具体配置请打开查看
- 首先运行TCP网络调试工具,监听指定端口,查看是否收到数据包。
1.2 部署虚拟嵌入式设备 :
- 启动 Air-Room 数据模拟服务,运行后将通过SOCKET发送模拟的数据包到TCP-SERVER服务处,修改相关配置,确保发送端口和TCP-SERVER监听端口一致(默认)。
2 以上服务选择一种部署完成后:
- 启动 Air-Server TCP-SERVER服务,进行端口的监听,接收TCP数据包,并通过HTTP将数据发送到BACK服务。
- 启动 Air-Back BACK服务,接收HTTP请求,将数据写入到MySQL数据库中,需按照说明配置好MySQL数据库。
3 进行数据展示:
- 启动 Air-Webapp 配置好JDBC相关配置,可展示BACK服务存储的数据。
移动端:
- TODO
或者可以:
建立数据库: sql文件详见 /sql/sql文件
启动数据交互服务,Air-Back,并修改其中的数据库配置文件为用户建立的数据库信息
启动TCP通信服务,Air-Server,或者通过 /网络调试工具/NetAssist.exe ,直接查看TCP接收内容
启动数据发送服务,运行模拟器 Air-Room ,或者将 Air-Iot 烧写到开发板中。
登录数据展示网站,观看数据交互结果 Air-Webapp
或者您想随便试试?
单独启动 Air-Room ,会不断产生模拟数据,并打印到控制台,若服务端未启动,会打印"TCP FAILURE",说明发送失败。
单独启动 Air-Server ,可供学习TCP_SERVER操作,基于smart-socket框架,可通过网络调试工具手动发送tcp数据包,观察运行流程。
单独启动 Air-Back ,需配置好数据库,单独启动没卵用,简单的REST接口服务。
单独启动 Air-Webapp ,配置好数据库,能查看数据,简单的网站功能。
DEMO
引脚连接
登录界面
数据展示界面(默认最近二十条)
云服务器演示网址:http://www.lifecat.club/air/
物联网-大气质量检测系统相关推荐
- 物联网技术西电捷通TRAIS符合性检测系统的应用研究
引言 随着信息技术与网络的快速融合发展,以射频识别(Radio Frequency Identification,简称RFID)应用为主要内容的物联网逐渐走进人们的生活,使得无处不在的网络应用成为 ...
- 工业物联网中的操作技术攻击检测系统
工业物联网中的操作技术攻击检测系统 原文 System for Operational Technology Attack Det 申明 版权归原文作者及出版单位所有,如有侵权请联系删除. 摘要 ...
- 毕业设计 STM32单片机的畜牧养殖场管理与检测系统 - 物联网
基于STM32单片机的畜牧养殖场管理与检测系统 由 STM32F103C8T6单片机最小系统+定时模块+DHT11温湿度感应模块+OLED显示模块+键盘模块+气味传感器模块+继电器*4. 采用STM3 ...
- 通信系统的monte carl仿真_深国电公司电力物联仿真检测系统建成投运
5月25日,深国电公司电力线通信应用技术实验室(以下简称"深国电实验室")电力物联仿真检测系统建成投运,标志着深国电在电力物联网实用化方面迈出重要一步. 为了满足电力用户对电网质量 ...
- 物联网卡平台系统由几部分构成
物联网时代已经来临,在物联网社会中一切物品都被赋予智能化与智慧化,物联网卡平台系统作为物联网生命管理中心,任何物联网卡平台系统的实现都必须包括5个部分. 1.物联网卡平台系统构成部分:硬件设备 从单片 ...
- 基于单片机的室内空气质量检测系统(甲烷甲醛)
设计简介: 本设计是基于单片机的室内空气质量检测系统,主要实现以下功能: 可通过LCD1602显示当前甲烷和甲醛的值: 可通过按键调整甲醛甲烷的最大值: 可通过MS1100检测甲醛的值: 可通过MQ- ...
- 使用ESP32 + HaaS Python打造运动心率检测系统 云上实时守护运动健康
当今社会,人们经常通过跑步等运动方式来健身.适量的运动可以提高免疫力,促进身心健康. 然而,无论是跑步,还是其他的健身运动,如果运动过量就会对身体造成损害,甚至导致休克.猝死等严重后果. ...
- 基于单片机的水塔水位检测系统
设计简介: 本设计是基于单片机的水塔水位检测系统,主要实现以下功能: 可通过LCD1602显示水位阈值.水塔高度和水位: 可通过按键调整水位阈值和水塔高度: 可通过超声波测距模块测水位: 标签:51单 ...
- [智慧农业]Python基于改进YOLOv5的猕猴桃叶病害检测系统(完整源码&数据集&视频教程)
1.背景 现如今由于农作物病虫害的多样性和复杂性,在特定的条件下其很容易在大范围内发生,导致农产品产量急剧下降.因此,预防和监测农作物病虫害已成为农业生产活动中的重要环节.当前,耕地面积逐渐减少,世界 ...
最新文章
- Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
- 同一个类 cannot be cast to_2021年动漫类年历推荐
- 二十四种设计模式:访问者模式(Visitor Pattern)
- bzoj 4319 cerc2008 Suffix reconstruction——贪心构造
- 微信小程序 - 为何setData到页面上有的加分号
- 【房价地图】以城市为单位,2019
- 有机晶体数据库_面向Journal of Organic Chemistry作者的晶体学信息文件(CIF)工作流程将于10月6日作出调整...
- 如何解决未经检查的演员表警告?
- Cython 的学习
- [转载] Python 3 集合方法 remove( )
- springboot嘉应房地产公司质量管理系统毕业设计源码453100
- 腾讯php二面,【更新】腾讯实习生招聘后台开发面试一面+二面+HR面
- 在html中加入高德地图,javascript高德地图放到网页中的方法
- jmeter做秒杀活动测试
- office word安装mathtype报错,找不到mathpage.WLL文件
- webpack工具知多少(上篇)
- hadoop学习之路(5)
- 金山云VR+8K超高清直播全链路解决方案
- JAVA导入/导出EXCEL文件,自定义校验,错误回写excel,使用简单快捷
- 毫米波雷达的系统设计细节(1) - 从雷达方程到雷达威力图
热门文章
- 标注界址点号lisp_各位高手求助看下这个程序如何修改!!!(如何让标注的界址点号从西北角开始顺时......
- 2022DeepbrainChain双周报第104期(01.16-02.15)
- 面向对象编程和面向过程编程的区别,以及优缺点
- UI基础回顾-paint画笔
- 发布 'xx' 的并发快照不可用,因为该快照尚未完全生成,或者日志读取器代理未运行,无法激活它。如果并发快照的生成过程中断,则必须重新启动用于该发布的快照代理,直到生成完整的快照。
- DPL RPL CPL区别与联系
- truncate 与 delete 区别
- 在CentOS上安装nginx服务器
- 月亮是外星人造的?!
- 【数据结构与算法】递归全流程详细剖析 | 详解图的深度优先遍历