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 部署嵌入式设备 :

  1. 购买野火指南者STM32开发板,配置好KeilMdk5开发IDE环境(为方便开发,可用Clion或其他C语言IDE进行程序开发,仅适用Keil进行程序烧写)。
  2. Air-Iot 程序烧写到开发板中,具体配置请打开查看
  3. 首先运行TCP网络调试工具,监听指定端口,查看是否收到数据包。

1.2 部署虚拟嵌入式设备 :

  1. 启动 Air-Room 数据模拟服务,运行后将通过SOCKET发送模拟的数据包到TCP-SERVER服务处,修改相关配置,确保发送端口和TCP-SERVER监听端口一致(默认)。

2 以上服务选择一种部署完成后:

  1. 启动 Air-Server TCP-SERVER服务,进行端口的监听,接收TCP数据包,并通过HTTP将数据发送到BACK服务。
  2. 启动 Air-Back BACK服务,接收HTTP请求,将数据写入到MySQL数据库中,需按照说明配置好MySQL数据库。

3 进行数据展示:

  1. 启动 Air-Webapp 配置好JDBC相关配置,可展示BACK服务存储的数据。

移动端:

  • TODO

或者可以:

  1. 建立数据库: sql文件详见 /sql/sql文件

  2. 启动数据交互服务,Air-Back,并修改其中的数据库配置文件为用户建立的数据库信息

  3. 启动TCP通信服务,Air-Server,或者通过 /网络调试工具/NetAssist.exe ,直接查看TCP接收内容

  4. 启动数据发送服务,运行模拟器 Air-Room ,或者将 Air-Iot 烧写到开发板中。

  5. 登录数据展示网站,观看数据交互结果 Air-Webapp

或者您想随便试试?

  1. 单独启动 Air-Room ,会不断产生模拟数据,并打印到控制台,若服务端未启动,会打印"TCP FAILURE",说明发送失败。

  2. 单独启动 Air-Server ,可供学习TCP_SERVER操作,基于smart-socket框架,可通过网络调试工具手动发送tcp数据包,观察运行流程。

  3. 单独启动 Air-Back ,需配置好数据库,单独启动没卵用,简单的REST接口服务。

  4. 单独启动 Air-Webapp ,配置好数据库,能查看数据,简单的网站功能。

DEMO

引脚连接

登录界面

数据展示界面(默认最近二十条)

云服务器演示网址:http://www.lifecat.club/air/

物联网-大气质量检测系统相关推荐

  1. 物联网技术西电捷通TRAIS符合性检测系统的应用研究

    引言   随着信息技术与网络的快速融合发展,以射频识别(Radio Frequency Identification,简称RFID)应用为主要内容的物联网逐渐走进人们的生活,使得无处不在的网络应用成为 ...

  2. 工业物联网中的操作技术攻击检测系统

    工业物联网中的操作技术攻击检测系统 原文 System for Operational Technology Attack Det 申明 版权归原文作者及出版单位所有,如有侵权请联系删除. 摘要 ​ ...

  3. 毕业设计 STM32单片机的畜牧养殖场管理与检测系统 - 物联网

    基于STM32单片机的畜牧养殖场管理与检测系统 由 STM32F103C8T6单片机最小系统+定时模块+DHT11温湿度感应模块+OLED显示模块+键盘模块+气味传感器模块+继电器*4. 采用STM3 ...

  4. 通信系统的monte carl仿真_深国电公司电力物联仿真检测系统建成投运

    5月25日,深国电公司电力线通信应用技术实验室(以下简称"深国电实验室")电力物联仿真检测系统建成投运,标志着深国电在电力物联网实用化方面迈出重要一步. 为了满足电力用户对电网质量 ...

  5. 物联网卡平台系统由几部分构成

    物联网时代已经来临,在物联网社会中一切物品都被赋予智能化与智慧化,物联网卡平台系统作为物联网生命管理中心,任何物联网卡平台系统的实现都必须包括5个部分. 1.物联网卡平台系统构成部分:硬件设备 从单片 ...

  6. 基于单片机的室内空气质量检测系统(甲烷甲醛)

    设计简介: 本设计是基于单片机的室内空气质量检测系统,主要实现以下功能: 可通过LCD1602显示当前甲烷和甲醛的值: 可通过按键调整甲醛甲烷的最大值: 可通过MS1100检测甲醛的值: 可通过MQ- ...

  7. 使用ESP32 + HaaS Python打造运动心率检测系统 云上实时守护运动健康

       当今社会,人们经常通过跑步等运动方式来健身.适量的运动可以提高免疫力,促进身心健康. 然而,无论是跑步,还是其他的健身运动,如果运动过量就会对身体造成损害,甚至导致休克.猝死等严重后果.    ...

  8. 基于单片机的水塔水位检测系统

    设计简介: 本设计是基于单片机的水塔水位检测系统,主要实现以下功能: 可通过LCD1602显示水位阈值.水塔高度和水位: 可通过按键调整水位阈值和水塔高度: 可通过超声波测距模块测水位: 标签:51单 ...

  9. [智慧农业]Python基于改进YOLOv5的猕猴桃叶病害检测系统(完整源码&数据集&视频教程)

    1.背景 现如今由于农作物病虫害的多样性和复杂性,在特定的条件下其很容易在大范围内发生,导致农产品产量急剧下降.因此,预防和监测农作物病虫害已成为农业生产活动中的重要环节.当前,耕地面积逐渐减少,世界 ...

最新文章

  1. Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
  2. 同一个类 cannot be cast to_2021年动漫类年历推荐
  3. 二十四种设计模式:访问者模式(Visitor Pattern)
  4. bzoj 4319 cerc2008 Suffix reconstruction——贪心构造
  5. 微信小程序 - 为何setData到页面上有的加分号
  6. 【房价地图】以城市为单位,2019
  7. 有机晶体数据库_面向Journal of Organic Chemistry作者的晶体学信息文件(CIF)工作流程将于10月6日作出调整...
  8. 如何解决未经检查的演员表警告?
  9. Cython 的学习
  10. [转载] Python 3 集合方法 remove( )
  11. springboot嘉应房地产公司质量管理系统毕业设计源码453100
  12. 腾讯php二面,【更新】腾讯实习生招聘后台开发面试一面+二面+HR面
  13. 在html中加入高德地图,javascript高德地图放到网页中的方法
  14. jmeter做秒杀活动测试
  15. office word安装mathtype报错,找不到mathpage.WLL文件
  16. webpack工具知多少(上篇)
  17. hadoop学习之路(5)
  18. 金山云VR+8K超高清直播全链路解决方案
  19. JAVA导入/导出EXCEL文件,自定义校验,错误回写excel,使用简单快捷
  20. 毫米波雷达的系统设计细节(1) - 从雷达方程到雷达威力图

热门文章

  1. 标注界址点号lisp_各位高手求助看下这个程序如何修改!!!(如何让标注的界址点号从西北角开始顺时......
  2. 2022DeepbrainChain双周报第104期(01.16-02.15)
  3. 面向对象编程和面向过程编程的区别,以及优缺点
  4. UI基础回顾-paint画笔
  5. 发布 'xx' 的并发快照不可用,因为该快照尚未完全生成,或者日志读取器代理未运行,无法激活它。如果并发快照的生成过程中断,则必须重新启动用于该发布的快照代理,直到生成完整的快照。
  6. DPL RPL CPL区别与联系
  7. truncate 与 delete 区别
  8. 在CentOS上安装nginx服务器
  9. 月亮是外星人造的?!
  10. 【数据结构与算法】递归全流程详细剖析 | 详解图的深度优先遍历