CN117390128B - 基于Arduino平台的城市物理环境智能移动监测***和方法 - Google Patents
基于Arduino平台的城市物理环境智能移动监测***和方法 Download PDFInfo
- Publication number
- CN117390128B CN117390128B CN202311698983.6A CN202311698983A CN117390128B CN 117390128 B CN117390128 B CN 117390128B CN 202311698983 A CN202311698983 A CN 202311698983A CN 117390128 B CN117390128 B CN 117390128B
- Authority
- CN
- China
- Prior art keywords
- data
- environment
- points
- time
- environmental
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012544 monitoring process Methods 0.000 title claims abstract description 63
- 230000007613 environmental effect Effects 0.000 claims abstract description 90
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000008859 change Effects 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims abstract description 14
- 238000012937 correction Methods 0.000 claims description 15
- 238000007781 pre-processing Methods 0.000 claims description 11
- 230000035515 penetration Effects 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 claims description 6
- 101100153586 Caenorhabditis elegans top-1 gene Proteins 0.000 claims description 4
- 101100370075 Mus musculus Top1 gene Proteins 0.000 claims description 4
- 230000002708 enhancing effect Effects 0.000 claims description 4
- 238000013079 data visualisation Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000003825 pressing Methods 0.000 claims description 2
- 238000009877 rendering Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 8
- 238000009434 installation Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000001338 self-assembly Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D21/00—Measuring or testing not otherwise provided for
- G01D21/02—Measuring two or more variables by means not covered by a single other subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/27—Regression, e.g. linear or logistic regression
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y20/00—Information sensed or collected by the things
- G16Y20/10—Information sensed or collected by the things relating to the environment, e.g. temperature; relating to location
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/10—Detection; Monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/38—Services specially adapted for particular environments, situations or purposes for collecting sensor information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Remote Sensing (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
本发明公开了一种基于Arduino平台的城市物理环境智能移动监测***和方法,其方法包括:根据环境监测需求,基于Arduino平台构建硬件监测***,收集环境数据;将环境数据按照不同类别分组,将数据变化趋势展示在地图上;在云上创建虚拟IP地址,并绑定至移动应用程序所在的云服务器,与本地计算机建立网络连接,将移动应用程序中的数据传输到本地计算机;使用三次线性插值方法,在本地计算机侧对已采集的环境数据进行插值处理,填补环境数据间的空缺,以获得完整的环境数据集,构成完整的物理环境监测数据地图,进行多维度环境监测,同时利用云端和本地联合处理,实现数据实时传输和处理,提高了数据完整性和准确性。
Description
技术领域
本发明涉及Arduino平台数据处理技术领域,特别涉及一种基于Arduino平台的城市物理环境智能移动监测***和方法。
背景技术
为了解决传统环境监测***的固定、昂贵和难以部署的问题,以及数据缺失和数据处理的挑战,需要采用新的创新方法。在这方面,基于Arduino的开源电子原型平台具有巨大的潜力。
现有城市物理环境监测技术方法主要有两类:一是固定站点观测法,即将仪器设备部署在固定点观测;二是移动观测法,即将不同类型的传感器、数据采集仪和电池组合起来部署在电单车或汽车上。
现有城市物理环境监测技术方法存在的主要问题如下:
(1)受成本、安装场地、管理权限等因素的限制,固定点观测法通常只能设置较少数量的测点,覆盖的范围有限,无法获得城市物理环境要素的精细空间特征。此外,固定点观测法还面临成本高,包括仪器、安装、维护等、安装场地许可难、仪器安全风险高等难点。
(2)通常由研究者根据研究需要自行采购各类传感器、数据采集仪进行组装。此类移动监测平台***尺寸、重量过大,不便携带,安装难度高(通常需定制安装支架);成本高,每套自组装平台费用因采用的传感器和数采而异;传感器、数据采集仪、电池等集成度和适配度低,通常需要复杂的设置和调参才能使用,组装难度高,使用过程中故障率高;软硬件集成度不高,通常需分别导出时间、轨迹、环境参数等数据,然后再导入第三方软件进行后处理,处理步骤繁杂、难度高;自动化和智能化程度不高,无法实现数据无线远程传输,无法自动进行数据时间校正和空间插值处理。
综上,开发低成本便携智能的移动监测***,并提供更全面、准确和实时的环境数据,具有着重要的实际使用意义。
发明内容
本发明所要解决的问题是:提供一种基于Arduino平台的城市物理环境智能移动监测***和方法,用于多维度环境监测,实现环境数据实时传输和处理,提高环境数据完整性和准确性。
本发明采用如下技术方案:一种基于Arduino平台的城市物理环境智能移动监测方法,包括如下步骤:
S1、构建硬件监测***:根据环境监测的需求,选择Arduino板及若干个传感器,基于Arduino平台,与传感器分别建立硬件连接后进行编程和测试,通过传感器获取实时环境数据并发送到输出设备或存储介质;
S2、构建移动应用程序:将上述环境数据按照不同类别进行分组,使用地图来展示环境数据的地理分布,将环境数据的变化趋势展示在地图上;
S3、数据传输:在云上创建虚拟IP地址,绑定到移动应用程序所在的云服务器,移动应用程序通过该虚拟IP地址与本地计算机建立网络连接,将移动应用程序中的数据传输到本地计算机;
S4、数据扩充:在本地计算机侧对已采集的环境数据进行数据预处理及校正,使用KNN方法对低密度区域环境数据进行扩充,用于环境数据的增强;
S5、数据插值处理:使用三次线性插值方法对扩充后的环境数据进行插值预测,填补环境数据间的空缺;
S6、数据边缘绘制:使用凸包方法对插值处理后的环境数据集进行可视化的边缘绘制,以获得完整的环境数据集;
S7、将得到的完整数据集传回移动应用程序,构建完整的物理环境监测数据地图,用于表示环境数据的变化趋势和特征。
进一步地,步骤S1中,所述Arduino板包括:Arduino Uno、Arduino Mega;所述传感器包括:温度传感器、湿度传感器、气压传感器;所述输出设备包括:LCD显示屏、串口监视器。
进一步地,步骤S2中移动应用程序,基于Hbuilder平台编写,包括如下子步骤,
S2.1、分组和分类:将环境数据按照不同类别进行分组,保存环境数据,提供历史环境数据记录查阅;所述类别包括温度、湿度和气压;
S2.2、地图显示:使用地图来展示环境数据的地理分布,在地图上标注地理位置及经纬度信息,并提供点击标点以查看详细环境数据;
S2.3、数据可视化:通过图表、图形方式将环境数据的变化趋势进行可视化展示,显示环境数据的变化趋势;
S2.4、用户个性化设置:提供用户个性化设置,用于用户自定义路线、时间段、环境数据参数和地图显示样式。
进一步地,步骤S3中所述虚拟IP地址创建在在腾讯云上,并将其绑定到移动应用程序所在的云服务器上,使用腾讯云提供的内网穿透技术,通过配置内网穿透规则,将移动应用程序中的环境数据传输到本地计算机的指定端口。
步骤S3还包括利用物联网,将多个Arduino节点连接在一起,形成分布式的监测网络,获取分布式监测网络内环境数据。
进一步地,步骤S4中在本地计算机侧对已采集的环境数据进行数据预处理及校正,包括如下子步骤:
S4.1、环境数据预处理,检测和去除异常值:读取MySQL数据库中的环境数据,将时间列转换为datetime格式,筛选指定时间范围内的环境数据:
S4.2、进行时间校正:基于环境数据时间差和温度变化计算温度变化,对每个温度值进行时间校正;
S4.3、划分网格:将地理区域划分为网格;
S4.4、计算每个网格内的数据点数量;
S4.5、设置阈值,确定低密度区域。
将KNN回归算法应用于环境数据增强,使用KNN方法对步骤S4.5中确定的低密度区域环境数据进行扩充。
进一步地,步骤S5中使用三次线性插值方法对扩充后的环境数据进行插值预测,三次线性插值涉及构建一个平滑的多项式函数,用于在给定的数据点上拟合已知的温度值,对于每个网格点,计算其插值温度。
本发明技术方案还包括:一种基于Arduino平台的城市物理环境智能移动监测***,用于实施上述任一项所述的城市物理环境智能移动监测方法,包括:
Arduino数据采集模块:根据环境监测的需求,与传感器分别建立硬件连接后进行编程和测试,通过传感器获取实时环境数据并发送到输出设备或存储介质;
移动应用程序模块:用于将上述环境数据按照不同类别进行分组,使用地图来展示环境数据的地理分布,同时利用物联网,将多个Arduino数据采集模块连接在一起,形成分布式的监测网络,将环境数据的变化趋势展示在应用程序地图上;
数据传输模块:用于在云上创建虚拟IP地址,绑定到移动应用程序所在的云服务器,通过该虚拟IP地址将移动应用程序与本地计算机建立网络连接,将移动应用程序中的数据传输到本地计算机;
本地计算机数据处理模块:用于对已采集的环境数据进行插值处理,填补环境数据间的空缺,以获得完整的环境数据集,构成完整的物理环境监测数据地图。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明环境智能移动监测******集成了多种传感器,可根据需求添加对于的传感器,实现了多维度的环境监测,设备成本低,易于部署和使用,占用空间小,便携,操作简便,且提供了一套完整的环境数据收集、处理和可视化解决方案。
2、本发明环境智能移动监测方法基于Hbuilder平台编写移动应用app,使得数据获取和查看更为直观和便捷,用户可以直观了解当前环境。
3、本发明环境智能移动监测方法使用高斯回归插值算法拟合未知数据点,提高了数据完整性和准确性,利于数据分析和总结,且通过利用云端和本地联合处理,实现了环境数据的实时传输和处理。
附图说明
图1为本发明环境智能移动监测方法步骤流程图;
图2为本发明环境智能移动监测方法软件流程图;
图3为不加入加强数据点进行三次线性插值得到的温度插值预测图;
图4为加入5%加强生成点进行三次线性插值得到的温度插值预测图;
图5为加入10%加强生成点进行三次线性插值得到的温度插值预测图;
图6为增强数据集和阈值点数同时增长100%后得到的温度插值预测图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对申请的技术方案做进一步地详尽阐述,所描述的实施例,也只是本发明所涉及实施例的一部分。本领域其他研究人员在该实施例上的所有非创新型实施例,都属于本发明的保护范围。同时对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
本发明一种基于Arduino平台的城市物理环境智能移动监测方法,如图1所示,包括如下步骤:
S1、构建硬件监测***:根据环境监测的需求,选择Arduino板及若干个传感器,基于Arduino平台,与传感器分别建立硬件连接后进行编程和测试,通过传感器获取实时环境数据并发送到输出设备或存储介质;
S2、构建移动应用程序:将上述环境数据按照不同类别进行分组,使用地图来展示环境数据的地理分布,将环境数据的变化趋势展示在地图上;
S3、数据传输:在云上创建虚拟IP地址,绑定到移动应用程序所在的云服务器,移动应用程序通过该虚拟IP地址与本地计算机建立网络连接,将移动应用程序中的数据传输到本地计算机;
S4、数据扩充:在本地计算机侧对已采集的环境数据进行数据预处理及校正,使用KNN方法对低密度区域环境数据进行扩充,用于环境数据的增强;
S5、数据插值处理:使用三次线性插值方法对扩充后的环境数据进行插值预测,填补环境数据间的空缺;
S6、数据边缘绘制:使用凸包方法对插值处理后的环境数据集进行可视化的边缘绘制,以获得完整的环境数据集;
S7、将得到的完整数据集传回移动应用程序,构建完整的物理环境监测数据地图,用于表示环境数据的变化趋势和特征。
在本发明的一个实施例中,选择某学校周围的地段,进行温度、气压、湿度的环境数据监测,如图2所示,具体如下:
S1、硬件部署,通过Arduino集成传感器,连接多种传感器,实时地采集环境数据,并将其通过蓝牙传输到监测***中,通过其中内置模块进行处理,
首先,选择合适的Arduino板,根据监测***的需求,选择具有足够的输入输出引脚和处理能力的Arduino板。
常用的Arduino板包括Arduino Uno、Arduino Mega等,它们都具有丰富的引脚和强大的处理能力,适合用于环境数据监测***。
其次,选择合适的传感器,根据监测的环境数据类型,选择相应的传感器进行数据采集,确保传感器与Arduino板兼容,并能够准确地测量环境数据。
本实施例中,优选选择DHT11或DHT22传感器监测温度和湿度,优选选择BMP180或BMP280传感器监测气压。
然后,连接传感器,将传感器连接到Arduino板的适当引脚上,并根据传感器的规格和文档进行正确的接线。通常,传感器会有三个引脚,分别是VCC(供电)、GND(接地)和数据引脚。通过将传感器的VCC引脚连接到Arduino的5V引脚,GND引脚连接到Arduino的GND引脚,数据引脚连接到Arduino的数字引脚,就可以实现传感器与Arduino的连接。
最后,进行编程和测试。使用Arduino开发环境编写程序,通过读取传感器的数据,并将其发送到指定的输出设备或存储介质,如LCD显示屏、串口监视器或SD卡。在编程和测试过程中,确保传感器的数据读取准确,并能够稳定地运行。
本实施例中,服务器端选择使用Flask+ Apache +MySQL的方式构建。
Flask框架是一个微型的 Web 框架,能快速开始并实现Web应用。同时因为需要使用使用插值算法和机器学习,所以使用由python编写的Flask框架。
Apache是常用的Web服务器之一,其稳定性和性能都得到了时间的验证,Apache提供了一系列安全性增强功能,如 SSL/TLS 加密、访问控制等,保证软件的安全性。Mysql是使用SQL语言的应用广泛的关系数据库,具有体积小、速度快等优点,并且可以支持Python语言。本实施例结合实际,使用 Flask + Apache + MySQL的架构,结合了这三个组件轻量级、灵活、稳定、安全且性能出色的优点。
S2、移动应用设计:
构建简洁明了的界面:保持界面简洁,使用清晰的字体和适当的图标来传达信息,确保用户能够快速理解和导航。
环境数据分组和分类:将相关的环境数据按照不同的类别进行分组和分类,以便用户可以快速找到所需的信息。例如,将温度、湿度和气压等数据分组显示,方便用户浏览和比较不同的环境指标。
地图显示:使用地图来展示环境数据的地理分布情况,在地图上标注位置,提供点击标点以查看详细数据的功能,确保地图的交互性和易用性,用户可以自由浏览和缩放地图。
数据可视化:通过图表、图形等方式将环境数据的变化趋势进行可视化展示,更直观地向用户展示环境数据的变化趋势,例如,使用折线图来显示温度的变化,使用柱状图来显示湿度的变化。
进行用户个性化设置:提供用户个性化设置的功能,允许用户自定义显示的环境数据和地图样式,满足不同用户需求,并提升用户体验。
本实施例中,软件的显示窗口界面调用了地图api,将个人位置与现实环境做了统一。由于地图的刷新存在延迟,而数据存储一旦延时移位会造成数据获取的点不对点现象,因此选择获取手机定位标点,保证每个点定位点都是准的经纬度。
用户还可以在地图上标记位置,记录相关的数据,通过定位按钮定位当前位置进行打点操作,标点完成后,选择将记录的数据通过云端传输到后台进行处理。
在监测***的界面上,用户可以看到当前位置的地理经纬度信息,以及该位置下的气温、湿度和气压数据,了解当前的天气情况和环境变化,然后根据历史数据和趋势分析结果,做出相应的决策和调整,以优化环境状况和提升生活质量。
用户还可以实时观测所记录的位置和数据,界面上会显示标点的位置和相关的数据,例如气温、湿度、气压等,并通过界面的刷新按钮或自动刷新功能来获取最新的数据,随时了解所记录位置的环境情况,做出相应的决策和调整。
除了观测数据,用户还可以进行一些其他操作。例如,清除已保存的数据,重新记录新的数据;将记录的数据导出到本地文件,进行离线分析和保存,这些功能可以提供更多的灵活性和便利性,使用户能够更好地管理和利用所记录的数据。
S3、数据传输:
首先,需要在腾讯云上创建一个虚拟IP地址,并将其绑定到移动应用程序所在的云服务器上,移动应用程序就通过该虚拟IP地址与本地计算机建立网络连接。
然后,使用腾讯云提供的内网穿透技术,将移动应用程序中的数据传输到本地计算机。内网穿透技术可以将本地计算机的服务暴露给外网访问,实现与移动应用程序的数据交互。通过配置内网穿透规则,可以将移动应用程序中的数据传输到本地计算机的指定端口。
在数据传输过程中,需要确保数据传输的稳定性和安全性。腾讯云提供了丰富的网络安全功能,如防火墙、访问控制等,可以保护数据的安全。同时,腾讯云的网络基础设施稳定可靠,可以确保数据传输的稳定性。
S4、数据扩充:
本实施例中,首先,进行数据预处理:读取MySQL数据库中的数据,将时间列转换为datetime格式,从而筛选指定时间范围内的数据:
;
其中,df是原始环境数据集,d time 是数据点d的时间,choose_started time 是选择的起始时间,choose_end time 是选择的结束时间。
然后,进行时间校正:基于时间差和温度变化计算温度变化情况(变化率),进而对每个温度值进行时间校正,具体公式如下:
;
其中,是第i个数据校正后的温度,/>是第i个数据的原始温度,T end 和T started 分别是结束时间和开始时间数据点所对应的温度,time diff =choose_started time -choose_end time 是结束时间减去开始时间的时间差,time i 是每个环境数据点的对应时间。
接着,进行网格划分与数据密度计算:
划分网格:将地理区域划分为网格,每个网格点表示为
;
其中,grid表示划分后的网格点集合,long i 、lat j 表示第i个经度值和第j个纬度值,long_min和long_max表示数据集中经度的最小值和最大值,lat_min和lat_max表示数据集中纬度的最小值和最大值。
计算每个网格内的数据点数量:
;
其中,grid_density ij 表示网格点 (long i ,lat j )内的数据点数量,I是指示函数,如果数据点d在网格grid ij 内则返回1,否则返回0,d long 和d lat 为数据点d的经度和纬度,choose为数据预处理中提及的经过时间筛选后的数据子集;
设置阈值,确定低密度区域:
;
其中,low_density_areas表示低密度区域的网格点集合,threshold用于定义低密度区域的数据点数量阈值。
最后,将KNN回归应用于数据增强:对于每个对于每个grid ij ∈low_density_ areas,生成新数据点(long new ,lat new ),并计算其温度tem new ,公式如下:
;
其中,KNN k (choose,long new ,lat new )表示从choose中选取距离(long new ,lat new )最近的k个数据点,d tem 是choose中数据点的温度值。
S5、数据插值处理:
空间插值是一种依据有限的样本数据点来预测未知点的方法。
在大多数自然情况中,距离相近的点的温湿度比距离远的点的温湿度具有更强的相似性,然而,最容易实现的反距离插值很大程度上依赖于局部数据点,导致远离已知数据点的区域可能出现较大偏差,尤其是当数据分布不均时。
本实施例中,使用三次线性插值方法对扩充后的环境数据进行插值预测,填补环境数据间的空缺;三次线性插值在整个插值区域可以提供更均衡和一致的估计,此外,三次线性插值产生的结果是非常平滑的,对于地理信息***(GIS)和气象数据分析中,平滑的插值曲线有助于更好地表示地形变化或气候渐变,因此采用三次线性插值方法进行预测,对于实际情况中数据采集的稀疏区域提出使用KNN方法对识别到的稀疏区域进行一定程度的合理扩充,以使得插值结果更加可靠。
三次线性插值涉及构建平滑的多项式函数,该函数在给定的数据点上拟合已知的温度值。对于每个网格点(long i ,lat j ),其插值温度grid_z ij 可通过以下步骤计算得到:
1.选择最接近的五个数据点(这其中包含数据增强后新生成的数据点):从所有已知的数据点中选择五个最接近网格点(long i ,lat j )的点,记为datas near ;
2.构建每个方向上的三次多项式:为每个方向(经度和纬度)构建一个三次多项式:
对于经度方向(假定为x方向),构建一个三次多项式:
;
对于纬度方向(假定为y方向),构建一个三次多项式:
;
其中,a 0 、a 1 、a 2 、a 3 和b 0 、b 1 、b 2 、b 3 是多项式系数,通过求解线性方程组获得,该方程组由datas near 上的温度值和位置信息构成;
3.计算插值温度:网格点(long i ,lat j )上的插值温度是两个多项式在该点的值的乘积:
;
S6、数据边缘绘制:
本实施例中,使用凸包方法对插值处理后的环境数据集进行可视化的边缘绘制,以获得完整的环境数据集;数据增强是为了使三次线性插值在实测区域更加精准,但新生成的数据点难免有在实测区域外的,这些数据点虽然对插值结果有积极作用,但他们自身又成为了新的边界点,为了呈现出最精准预测的区域。
引入凸包基于初始实测区域边缘点在基于加强数据集插值得到的结果上对实测数据进行了可视化的边缘绘制,基本过程如下:
1、找到环境数据的最低点:从所有环境数据点中选择纬度最低的点,记为p 0 ;
2、按照相对于p 0 的角度排序:将其余点按照它们相对于p 0 的极角排序;
3、构建凸包:遍历排序后的点集,依次判断是否应该将点包括在凸包中,对于每个点p i 按以下步骤操作:
a. 将p i 与凸包中最后两个点p top-1,p top 进行比较;
b. 如果p i 在p top-1和p top 连线的右侧,即形成一个凸角,将p i 添加到凸包中;
c. 否则,移除p top 并重复步骤S6.3.1至S6.3.3;
4、得到凸包:重复上述步骤直到所有点都被检查过,得到的环境数据点集就构成了凸包。
使用本实施例所述方法,基于原始环境数据集,不加入加强数据点,进行三次线性插值后,得到的温度插值预测图像,如图3所示。其中,标识为“温度+段图”的横坐标轴为温度对应的显示段图,标识为“过远无效预测范围”的纵坐标轴区域为环境数据集最***数据点边界(即凸包)以外的区域,视为不能精准预测范围,不进行插值操作。
在原始环境数据集上,分别加入5%加强生成点、加入10%加强生成点、将增强数据集和阈值点数同时增长100%后,使用步骤S4中的低密度区域环境数据扩充方法进行扩充后,得到的温度插值预测图像如图4、图5和图6所示。其中,超出图3凸包外,新出现的温度图像区域即为增强数据对原稀疏区域的数据量辅助。
S7、构建完整的物理环境监测数据地图:
将得到的完整数据集传回移动应用程序,构建完整的物理环境监测数据地图,用于表示环境数据的变化趋势和特征。
需要特别说明的是,本实施例基于MySQL数据库,在Python程序进行了数据库表设计,适用于处理和管理大规模地理位置的温度数据,具体包括:
双维度数据分区机制:该表采用的数据分区策略,根据地理位置(经度和纬度)及时间戳对数据进行分区,允许对两个关键维度进行优化,提高了查询和存储效率;
动态分区调整能力:根据数据访问模式和数据增长动态调整分区策略,确保持续的高性能和数据均衡;
优化的查询性能:通过对数据进行地理和时间分区,提高了基于地理位置或时间范围的数据查询效率,尤其是在处理复杂的数据分析和大数据量查询时。
通过使用该数据库表设计,减少了对大数据集的查询时间,提高了整体的数据处理效率;简化了数据备份、恢复和迁移过程,降低了数据维护的复杂性;同时能够适应不断增长的数据量和变化的业务需求,提供灵活的扩展方案;满足不同地区的数据存储合规性要求,增强了数据的安全性和可靠性。
综上,本发明根据环境监测需求,基于Arduino平台构建硬件监测***,通过Arduino板收集传感器环境数据;将环境数据按照不同类别进行分组,将数据变化趋势展示在地图上;在云上创建虚拟IP地址,并绑定至移动应用程序所在的云服务器,与本地计算机建立网络连接,将移动应用程序中的数据传输到本地计算机;最后根据已有路线的数据,基于在本地计算机侧对已采集的环境数据进行数据预处理及校正,使用KNN方法对低密度区域环境数据进行扩充,用于环境数据的增强;使用三次线性插值方法对扩充后的环境数据进行插值预测,填补环境数据间的空缺;使用凸包方法对插值处理后的环境数据集进行可视化的边缘绘制,以获得完整的环境数据集,构成完整的物理环境监测数据地图,进行多维度环境监测,同时利用云端和本地联合处理,实现了数据实时传输和处理,提高了数据完整性和准确性。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于Arduino平台的城市物理环境智能移动监测方法,其特征在于,包括如下步骤:
S1、构建硬件监测***:根据环境监测的需求,选择Arduino板及若干个传感器,基于Arduino平台,与传感器分别建立硬件连接后进行编程和测试,通过传感器获取实时环境数据并发送到输出设备或存储介质;
S2、构建移动应用程序:将上述环境数据按照不同类别进行分组,使用地图展示环境数据的地理分布,将环境数据的变化趋势展示在地图上;所述移动应用程序,基于Hbuilder平台编写,包括如下子步骤:
S2.1、分组和分类:将环境数据按照不同类别分组,保存环境数据,提供历史环境数据记录查阅;所述类别包括温度、湿度和气压;
S2.2、地图显示:使用地图展示环境数据的地理分布,在地图上标注地理位置及经纬度信息,提供点击标点以查看详细环境数据;
S2.3、数据可视化:通过图表、图形方式将环境数据的变化趋势可视化展示,显示环境数据的变化趋势;
S2.4、用户个性化设置:提供用户个性化设置,用于用户自定义路线、时间段、环境数据参数和地图显示样式;
S3、数据传输:在云上创建虚拟IP地址,绑定到移动应用程序所在的云服务器,移动应用程序通过该虚拟IP地址与本地计算机建立网络连接,将移动应用程序中的数据传输到本地计算机;
所述虚拟IP地址创建在云上,并绑定至移动应用程序所在的云服务器,使用云提供的内网穿透方法,通过配置内网穿透规则,将移动应用程序中的环境数据传输到本地计算机的指定端口;
S4、数据扩充:在本地计算机侧对已采集的环境数据进行数据预处理及校正,使用KNN方法对低密度区域环境数据进行扩充,用于环境数据的增强;
S5、数据插值处理:使用三次线性插值方法对扩充后的环境数据进行插值预测,填补环境数据间的空缺;
S6、数据边缘绘制:使用凸包方法对插值处理后的环境数据进行可视化的边缘绘制,获得完整的环境数据集;
S7、将得到的完整数据集传回移动应用程序,构建完整的物理环境监测数据地图,用于表示环境数据的变化趋势和特征。
2.根据权利要求1所述的城市物理环境智能移动监测方法,其特征在于,步骤S1中,
所述Arduino板包括:Arduino Uno、Arduino Mega;
所述传感器包括:温度传感器、湿度传感器、气压传感器;
所述输出设备包括:LCD显示屏、串口监视器。
3.根据权利要求1所述的城市物理环境智能移动监测方法,其特征在于,步骤S3还包括利用物联网,将多个Arduino节点连接在一起,形成分布式的监测网络,获取分布式监测网络内环境数据。
4.根据权利要求1所述的城市物理环境智能移动监测方法,其特征在于,步骤S4,在本地计算机侧对已采集的环境数据进行数据预处理及校正,包括如下子步骤:
S4.1、环境数据预处理,检测和去除异常值:读取MySQL数据库中的环境数据,将时间列转换为datetime格式,筛选指定时间范围内的环境数据:
;
其中,df是原始环境数据集,d time 是数据点d的时间,choose_started time 是选择的起始时间,choose_end time 是选择的结束时间;
S4.2、进行时间校正:基于环境数据时间差和温度变化计算温度变化,对每个温度值进行时间校正,公式如下:
;
其中,是第i个数据校正后的温度,/>是第i个数据的原始温度,T end 和T started 分别是结束时间和开始时间数据点所对应的温度,time diff = choose_started time -choose_end time 是结束时间减去开始时间的时间差,time i 是每个环境数据点的对应时间;
S4.3、划分网格:将地理区域划分为网格,每个网格点表示为:
;
其中,grid表示划分后的网格点集合,long i 、lat j 表示第i个经度值和第j个纬度值,long_min和long_max表示数据集中经度的最小值和最大值,lat_min和lat_max表示数据集中纬度的最小值和最大值;
S4.4、计算每个网格内的数据点数量:
;
其中,grid_density ij 表示网格点 (long i ,lat j )内的数据点数量,I是指示函数,如果数据点d在网格grid ij 内则返回1,否则返回0,d long 和d lat 为数据点d的经度和纬度,choose为步骤S4.1数据预处理中经过时间筛选后的数据子集;
S4.5、设置阈值,确定低密度区域:
;
其中,low_density_areas表示低密度区域的网格点集合,threshold用于定义低密度区域的数据点数量阈值。
5.根据权利要求4所述的城市物理环境智能移动监测方法,其特征在于,步骤S4中将KNN回归算法应用于环境数据增强,使用KNN方法对步骤S4.5中确定的低密度区域环境数据进行扩充,对于每个grid ij ∈low_density_areas,生成新数据点(long new ,lat new ),并计算其温度tem new ,公式如下:
;
其中,KNN k (choose,long new ,lat new )表示从choose中选取距离(long new ,lat new )最近的k个数据点,d tem 是choose中数据点的温度值。
6.根据权利要求5所述的城市物理环境智能移动监测方法,其特征在于,步骤S5中使用三次线性插值方法对扩充后的环境数据进行插值预测,三次线性插值涉及构建一个平滑的多项式函数,在给定的数据点上拟合已知的温度值,对于每个网格点(long i ,lat j ),其插值温度grid_z ij 计算方法如下:
S5.1、选择最接近的五个数据点:
从所有已知的数据点中选择五个最接近网格点(long i ,lat j )的点,包含数据增强后新生成的数据点datas near ;
S5.2、构建每个方向上的三次多项式,为每个经度和纬度方向构建一个三次多项式:
对于经度方向x构建三次多项式:
;
对于纬度方向y,构建三次多项式:
;
其中,a 0 、a 1 、a 2 、a 3 和b 0 、b 1 、b 2 、b 3 是多项式系数,通过求解线性方程组获得,该方程组由datas near 上的温度值和位置信息构成;
S5.3、计算插值温度grid_z ij :
;
其中,网格点(long i ,lat j )上的插值温度是两个三次多项式在该点的值的乘积。
7.根据权利要求6所述的城市物理环境智能移动监测方法,其特征在于,步骤S6中使用凸包方法对插值处理后的环境数据集进行可视化的边缘绘制,方法如下:
S6.1、找到环境数据的最低点:从所有环境数据点中选择纬度最低的点,记为p 0 ;
S6.2、按照相对于p 0 的角度排序:将其余点按照它们相对于p 0 的极角排序;
S6.3、构建凸包:遍历排序后的点集,依次判断是否应该将点包括在凸包中,对于每个点p i 按以下子步骤操作:
S6.3.1、将p i 与凸包中最后两个点p top-1、p top 进行比较;
S6.3.2、如果p i 在p top-1和p top 连线的右侧,即形成一个凸角,将p i 添加到凸包中;
S6.3.3、否则,移除p top 并重复步骤S6.3.1至S6.3.3;
S6.4、得到凸包:重复上述步骤S6.1至S6.3,直到所有点都被检查过,得到的环境数据点集就构成了凸包。
8.一种基于Arduino平台的城市物理环境智能移动监测***,用于实施权利要求1至7任一项所述的城市物理环境智能移动监测方法,其特征在于,包括:
Arduino数据采集模块:根据环境监测的需求,与传感器分别建立硬件连接后进行编程和测试,通过传感器获取实时环境数据并发送到输出设备或存储介质;
移动应用程序模块:用于将上述环境数据按照不同类别进行分组,使用地图来展示环境数据的地理分布,同时利用物联网,将多个Arduino数据采集模块连接在一起,形成分布式的监测网络,将环境数据的变化趋势展示在应用程序地图上;
数据传输模块:用于在云上创建虚拟IP地址,绑定到移动应用程序所在的云服务器,通过该虚拟IP地址将移动应用程序与本地计算机建立网络连接,将移动应用程序中的数据传输到本地计算机;
本地计算机数据处理模块:用于对已采集的环境数据进行插值处理,填补环境数据间的空缺,以获得完整的环境数据集,构成完整的物理环境监测数据地图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311698983.6A CN117390128B (zh) | 2023-12-12 | 2023-12-12 | 基于Arduino平台的城市物理环境智能移动监测***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311698983.6A CN117390128B (zh) | 2023-12-12 | 2023-12-12 | 基于Arduino平台的城市物理环境智能移动监测***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117390128A CN117390128A (zh) | 2024-01-12 |
CN117390128B true CN117390128B (zh) | 2024-02-23 |
Family
ID=89468812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311698983.6A Active CN117390128B (zh) | 2023-12-12 | 2023-12-12 | 基于Arduino平台的城市物理环境智能移动监测***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117390128B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104061962A (zh) * | 2014-05-29 | 2014-09-24 | 江南大学 | 城市环境数据动态监测实时标识电子地图***及使用方法 |
CN109842638A (zh) * | 2017-11-24 | 2019-06-04 | 卓望数码技术(深圳)有限公司 | 一种实现移动通信基站监测环境的方法和*** |
CN110580552A (zh) * | 2019-09-12 | 2019-12-17 | 南京邮电大学 | 一种普适的区域环境信息移动感知及预测方法 |
CN112508056A (zh) * | 2020-11-13 | 2021-03-16 | 东南大学 | 基于移动多源感知的城市空气质量监测方法 |
CN116047950A (zh) * | 2022-12-15 | 2023-05-02 | 武汉大学 | 一种土壤场地污染移动监测机器人的模块化*** |
-
2023
- 2023-12-12 CN CN202311698983.6A patent/CN117390128B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104061962A (zh) * | 2014-05-29 | 2014-09-24 | 江南大学 | 城市环境数据动态监测实时标识电子地图***及使用方法 |
CN109842638A (zh) * | 2017-11-24 | 2019-06-04 | 卓望数码技术(深圳)有限公司 | 一种实现移动通信基站监测环境的方法和*** |
CN110580552A (zh) * | 2019-09-12 | 2019-12-17 | 南京邮电大学 | 一种普适的区域环境信息移动感知及预测方法 |
CN112508056A (zh) * | 2020-11-13 | 2021-03-16 | 东南大学 | 基于移动多源感知的城市空气质量监测方法 |
CN116047950A (zh) * | 2022-12-15 | 2023-05-02 | 武汉大学 | 一种土壤场地污染移动监测机器人的模块化*** |
Also Published As
Publication number | Publication date |
---|---|
CN117390128A (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10427535B2 (en) | Method and apparatus for battery management | |
CN110795148A (zh) | 编排文件的生成方法、装置及电子设备 | |
CN112102432B (zh) | 空气质量垂直分布图绘制方法、装置及存储介质 | |
KR101828682B1 (ko) | 3차원 대기환경 자료 생성 시스템 및 가시화 방법 | |
CN105706105A (zh) | 静态地球模型网格单元缩放和性质重新取样方法及*** | |
CN113779261B (zh) | 知识图谱的质量评价方法、装置、计算机设备及存储介质 | |
CN117390128B (zh) | 基于Arduino平台的城市物理环境智能移动监测***和方法 | |
JP2020091171A (ja) | 気象予測システム、気象予測方法、および気象予測プログラム | |
CN103957539B (zh) | 移动通信网络信息采集方法及*** | |
Kim et al. | Real time building data collecting using IoT and BIM | |
Dutta et al. | Performance evaluation of south Esk hydrological sensor web: unsupervised machine learning and semantic linked data approach | |
Preve et al. | An integrated sensor web grid cyberimplementation for environmental protection | |
Van de Vyver | On the estimation of continuous 24-h precipitation maxima | |
CN113222276B (zh) | 覆冰情况预测方法、装置、计算机设备和存储介质 | |
CN113345095B (zh) | 一种基于数字孪生的革命文物残损监测与预警方法的*** | |
CN115375867A (zh) | 利用网格模型计算地热资源量方法、***、设备及介质 | |
Zander et al. | Environmental data management with the river basin information system | |
Lenart et al. | Real-time monitoring and analyses of sensory data integrated into the BIM platform | |
de Almeida et al. | Integration and management of sensor data for rainfall monitoring | |
CN114046771B (zh) | 一种测绘用位置定位*** | |
TWI579528B (zh) | 導航方法、導航系統以及記錄媒體 | |
CN118096558B (zh) | 沿布图生成方法、装置、电子设备和计算机可读介质 | |
KR20150057847A (ko) | 해양환경 정보 수집 장치 및 수집 방법 | |
Krommyda et al. | Integrated monitoring system for environmental and river data measurements | |
CN117876642B (zh) | 数字模型的构建方法、计算机程序产品及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |