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/7C :1/7Kotlin :1/7Projects. 子项目一览
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. 技术栈
提示:
依赖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-ServerTCP-SERVER服务,进行端口的监听,接收TCP数据包,并通过HTTP将数据发送到BACK服务。启动Air-BackBACK服务,接收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/
如果觉得《物联网-大气质量检测系统》对你有帮助,请点赞、收藏,并留下你的观点哦!