小白教你用java模仿大数据物联网项目系列——环保vocs监测
一、前言
本物联网系列
二、零基础用uniapp快速开发实现MQTT设备中心附后台接口
三、MQTT服务器搭建实现物联网通讯
四、springboot + rabbitmq 做智能家居以及web显示未读消息
小编最近在实战企业版物联网监测项目,模仿的是某大厂的项目,仅参考了数据库和前端业务逻辑…其他都靠猜…基本用时1个半月,一个人做查询部分,一个人做增加部分
思路 =====》 1.数采仪数据解析——2.数据处理(数据清洗)——3.后台业务处理(目前更多的是查询) ——4.页面展示 (目前还未能考虑到性能,
大数据主要涉及了mongdb,数据库分了两种:关系型数据库 mysql, 非关系型数据库redis,mongdb
mongdb:主要是放了数据采集仪接收到的实时数据、和各种报警数据
redis:主要记录在线数据(来处理实现离线数据的显示;)
mysql:主要记录了站点 与企业、设备、用户的一些普通数据
二、数据处理
数采仪(难度:基础)
接受、解析 数采仪发送的数据:
– 1.理解为操作数采仪、和我们的接收的电脑 为同一个端口
数采仪通过ip报文的形式通过这个端口(6666)发送给电脑(6666),电脑要打开这个端口,通过网络助手终端工具能获取到这个端口的数据。
解析hj212数据(难度:基础)
参考环境212标准进行解析
思路:首先我们参考了网上的一些现有的资料,其次根据hj212来,用java语言解析,方法大概是字符串一点点的解析;比如实时数据,分钟数据,小时数据都有不同的编码,其次2005,和2017协议的数据报文形式有点不同;主要我之前在网上找到的yimeiao解析工具,05协议接收不到(我同事解析的时候说是不难的,协议没啥不一样)。
核心代码
package BOOT-INF.classes.com.shbykj.utils.net;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.shbykj.pojo.RealData;
import com.shbykj.service.DivisorService;
import com.shbykj.service.PointInfoService;
import com.shbykj.utils.DateUtils;
import com.shbykj.utils.config.CollectionMapping;
import com.shbykj.utils.core.T212Parser;
import com.shbykj.utils.db.MongoDBConnection;
import com.shbykj.utils.db.RedisConnection;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelFutureListener;
import io.ne