@城市ity云平台




iSys-智能系统IoT解决方案









物联网系统

目录

1。 介绍。 5

1.1支持的设备类型。 5

1.2。 支持的产品类型。 5

1.3。 支持的通讯协议5

1.4。 设备支持的通信技术6

1.5。 @城市云服务器6

1.5.1。 服务器和通信网关7

1.5.2 HTTP LoRaWAN集成7

1.5.3。 前端接口8

1.5.3。 服务器访问权限8

1.6。 智能设备9

1.6.1。 CIoT-GSM设备9

1.6.3。 BAS,BMS,IoT-以太网和WiFi设备9

1.6.2。 Lo -LoRaWAN设备9

1.7。 企业对企业(B2B)选项9

2。 @CityIoT平台功能10

3。 主页11

4, 主要表格11

4.1。 标头12

4.1.1。 主页链接-(打开实际结果表)12

4.1.2。 “ X”复选框-打开/关闭查询表单12

4.1.3。 “ V”复选框-打开/关闭字段表格12

4.1.4。 图形图标-可视化结果的链接(可编辑)12

4.2。 形式:12

4.2.1。 “ X”复选框-打开/关闭整个查询表单12

4.2.2。 CSS-选择可视化主题12

4.2.3。可见字段复选框-显示/隐藏字段过滤器列表12

4.2.4。 选项卡:选项卡名称以添加或删除12

4.2.5。 添加/删除按钮-使用“选项卡”字段12中的名称添加或删除选项卡

4.2.6。 选择核心按钮12

4.2.7。 取消选择所有按钮12

4.2.7。 全选按钮12

4.2.8。 隐藏筛选器-隐藏整个表格12

4.2.9。 执行按钮-更改参数设置13

4.2.10。 “ V”复选框-显示/高过滤字段。 13

4.3。 标签13

4.4。 表内容13

4.4.1。 运行-查看结果类型13

4.4.2。 复制(+/-链接)13

4.4.3。 表格单元格链接13

4.5。 数据顺序13

4.6。 例子13

5, 地图15

5.1。 地图初始化15

5.2。 查询的可选设置15

5.2.1。 修改MAP比例(缩放级别)16

5.2.2。 IMEI(选择设备字段)16

5.2.3。 纬度,纬度(经度,纬度坐标字段)16

5.2.4。 修改MAP样式(主题)16

5.2.5。 第16条

5.2.6。 执行(运行查询按钮)16

5.2.7。 取消全选(从查询中删除所有字段)17

5.2.8。 “ V”复选框(打开/关闭字段表格)17

5.2.9。 “ X”复选框(显示/隐藏查询表单)17

5.3。 实施例17

六 在表18中显示结果

6.1。 初始化表18

6.2。 查询的可选设置19

6.2.1。 排序-字段排序和升序/降序19

6.2.2。 DB / IMEI-选择设备19

6.2.3。 CSS-选择样式(可视化主题)20

6.2.4。 可见字段-显示/隐藏字段表格20

6.2.5。 删除空-不显示空列20

6.2.6。 “ X”复选框(显示/隐藏查询表单)20

6.2.7。 条款(用于数据限制)20

6.2.8。 选择核心按钮(启用最常见的字段)20

6.2.9。 取消选择所有按钮(从查询中删除所有字段)20

6.2.10。 执行(运行查询按钮)20

6.2.11。 “ V”复选框(打开/关闭字段表格)20

7。 条形图。 21岁

8。 历史图表。 22

8.1。 初始化历史图表22

8.2。 历史图表的可选设置23

8.2.1。 IMEI-(选择设备以显示历史数据)23

8.2.2。 最小值-第一字段的最小值23

8.2.3。 最大值-第一字段的最大值23

8.2.4。 “ V”-显示/隐藏字段表格23

8.2.5。 自:设置最小日期/时间(*)23

8.2.6。 至:设置最大日期日期/时间(*)23

8.2.7。 “ X”复选框(显示/隐藏查询表单)23

8.2.8。 "在哪里" 第23条

8.2.9。 取消选择所有按钮(从查询中删除所有字段)23

8.2.10。 执行(运行查询按钮)23

8.2.11。 “ V”复选框(打开/关闭字段表格)24

8.3。 条形变化:(仅显示可用数据)24

8.4。 连续变式(具有相同数据):24

9。 Web浏览器兼容性25

10。 主题定制26

11。 算法更新27

12 数据库结构28

12.1。 “ ithings_”和“ *”表结构29

12.2。 设备命令(事件)队列“ * _c”表-结构30

12.3。 从数据库访问结果-中级(读取数据)30

12.3.1。 获取所有设备的当前状态30

12.3.2。 获取设备的历史数据31

12.3.3。 获取设备列表-当前状态为限制32的单个字段


1。 介绍。

@CityIoTCloud Platform专用 "微云" 个人客户的系统。 平台不可共享,并且只有一位客户可以访问物理或虚拟服务器(VPS或专用服务器)。 客户可以选择欧洲或全球数十个数据中心之一。

1.1支持的设备类型。

@CityIoT平台专用于以下iSys.PL产品



1.2。 支持的产品类型。

@City(eCity)CloudIoTPlatform是用于IPIoT产品的各种大小的系统(统称为 @城市五金 或者 CioT设备 ):


1.3。 支持的通讯协议

@CityIoT平台支持以下通信协议:

从控制器发送到云服务器(反之亦然)的数据将以唯一的二进制格式进行加密,以实现最小的数据大小和更高的安全性。 每个合作伙伴都有自己的唯一加密密钥,用于设备授权,数据有效性检查等。


对于非eHouse / eCity设备,我们可以提供单独的加密算法( "C" 源代码),供微处理器的每个合作伙伴在通信之前保护数据。

在这种情况下,在通过公共通信媒体(Internet,Air等)进行双向通信期间,数据是完全安全的。 )。


1.4。 设备支持的通信技术

@CityIoT平台支持:


@CityIoT平台专用于设备/节点:


1.5。 @城市云服务器

@City软件可在基于Linux的VPS(虚拟专用服务器)或Internet端的专用服务器上运行,具体取决于所请求的性能 服务器(以后称为Server):


存在以下几种VPS变体,具体取决于:


存在数十个专用服务器,具体取决于:


@CityIoT平台专用于单个客户:


因为它不是客户之间的共享服务器,所以它简化了安全访问和性能问题。 因此,只有客户才对有效的安全性,稳定性,效率,数据吞吐量等负责。 在性能不足的情况下,客户可以购买更高的计划(VPS或专用服务器),以更好地满足预期的功能和性能。

在特殊情况下 "Cloud to cloud" 可以实现通信,以实现数据的全球化和集中化,而不是使用多客户云。

1.5.1。 服务器和通信网关

@City Server的通信基于低级应用程序实现,以实现性能最大化。

@City Server应用程序的主要功能是:

@City Server软件对于每个用户都是相同的,并且不能针对不同的客户进行自定义。

1.5.2 HTTP LoRaWAN集成

LoRaWAN控制器通过LoRaWAN网络/应用程序服务器上可用的HTTP接口(webhooks)与@City云集成。

支持多种类型的网络/应用服务器:

TTN(限时 "直播中" 以及发送给驱动程序且不支持固件升级的最大命令数)

LoraWAN堆栈(需要托管在具有Internet访问权限的物理设备上)。

LoraServer.Io(需要托管在具有Internet访问权限的物理设备上-仅向服务器发送数据,不支持固件升级)



用于LoRaWAN控制器的@City Cloud与其他接口的划分方式相同。 在上一章中进行了讨论。

1.5.3。 前端界面

前端接口通过PHP脚本实现,用于从@City Cloud Database中提取自定义数据。 它使用基于原始SQL查询的非常灵活的搜索机制来限制所需的数据。 接口以JSON格式提供查询结果,以供JavaScript前端Web“应用程序”进一步解码和处理。

原始的前端界面对于每个用户都是相同的,不能针对不同的客户进行自定义。

叠加界面可以由我们的员工或在合作中创建,以确保为客户量身定制。

1.5.3。 服务器访问权限

客户访问权限(对物理服务器的访问权限)受到限制。

仅限“模板”目录(本地文本文件-.txt,.js,.css和.html)的文件访问权限:

其他访问权限:


iSys-Intelligent Systems员工-可以不受限制地访问整个服务器,包括root帐户和用于维护的完全数据库访问权限。

在某些情况下,如果不影响整体系统的安全性,稳定性和性能,iSys可能会在检查源代码,运行测试后向客户授予其他有限的权限(PHP脚本,文件)。


1.6。 智能设备

1.6.1。 CIoT-GSM设备

我们的设备包含用于通信的微控制器和GSM / GPS / GNSS模块(2G..4G,NBIoT,CATM1)。 微控制器包含加密的引导加载程序,用于安全的OTA固件升级。 这样就可以基于同一系统创建许多系统变体 "CIoT智能设备".


1.6.3。 BAS,BMS,IoT-以太网和WiFi设备


以太网和WiFi控制器允许与系统进行基于IP的通信(无需为向GSM运营商的数据传输付费)。 该设备还对引导加载程序进行了加密,并且可以通过其本机界面更新设备。 对于WiFi,它具有从主服务器进行的OTA固件升级


1.6.2。 IoT-LoRaWAN设备

LoRaWAN可以实现很长距离的数据传输(最大可达 15公里)。 此范围取决于数据传输的速度,数据量,区域的城市化程度以及设备的无线路径的效率。

我们的设备包括一个微控制器和用于通信的LoRaWAN模块。 微控制器包含一个加密的引导加载程序,用于安全的OTA软件更新。 这使您可以基于同一系统创建多个系统变体 "IoT smart device". 这些设备在ISM开放频段内运行,无需支付额外的订阅费用。 必须使用LoRaWAN网关覆盖Internet的整个区域。 如果设备范围内已存在LoRaWAN网关(已为TTN服务器配置),则可以通过它们发送信息。 固件升级需要自己的网络/应用程序LoRaWAN服务器以及良好的通信范围。

1.7。 企业对企业(B2B)选项


有几种业务合作的选择:

2。 @CityIoT平台功能

@City平台支持可定制的前端模板,用于数据可视化,查询,限制和处理(当前/历史数据):


可以通过静态IP或DNS重定向域/子域/文件访问用户的前端(如果有)。


示例和演示安装(仅对潜在客户启用)。

如果您想对其进行测试,请通知我们-以便公众访问该平台。

它可能需要远程计算机的静态IP才能与@City平台进行通信。


3。 主页

出于安全原因,有意将主页留空: http://%YourIP%/ IoT /

它可能会被单独启用和编辑,并包含指向以下所有可用服务的链接: @城市ity平台 如果需要


4, 主要形式

主表单旨在创建新的预设和标签:http://%IP%/IoT/que.php

这是用于为每种配置创建结果,视图和选项卡的初始形式




说明(从上,左到右方向)

4.1。 标头

4.1.1。 主页链接- (打开实际结果表)

4.1.2。 “X” 复选框-打开/关闭查询表单

4.1.3。 “ V” 复选框-打开/关闭“字段”表单

4.1.4。 图形图标 -可视化结果链接(可编辑)


4.2。 形式:

4.2.1。 “X” 复选框-打开/关闭整个查询表单

4.2.2。 CSS- 选择可视化主题

修改可视化主题CSS文件必须存在于 "模板/ css /" 目录-自动列出。

4.2.3可见场 复选框-显示/隐藏字段过滤器列表

4.2.4。 标签: 标签名称以添加或删除

4.2.5。 添加/删除 按钮-添加或删除名称为 标签 场地

4.2.6。 选择核心 按钮

选择表上可见的主要字段。 它 已更新 自动地。

4.2.7。 全部取消选择 按钮

取消选择所有字段(必须手动选择其中一些字段)

4.2.7。 全选 按钮

选择所有字段(之后必须手动取消选择其中一些字段)

4.2.8。 隐藏筛选 -隐藏整个表格

这等效于所有(X)复选框

4.2.9。 执行 按钮-更改参数设置

4.2.10。 “ V” 复选框-显示/高过滤器字段。


4.3。 制表符

分别创建的带有名称和预设的选项卡(存储在 cfg / tabs.cfg 文件 )。

该文件实际上包含名称和URL(用tab char分隔)。


4.4。 表内容

显示受“字段过滤器”限制的所有字段。


表格中的栏位:

4.4.1。 跑步 - 查看结果类型

地图-在地图上映射结果(可以选择一个或多个字段)

历史 -历史图表(可以选择一个或多个字段)

tab -显示表格(可以选择任何字段组合)

酒吧 -条形图上仅显示一个字段

按下其值之一时,它将打开具有选定字段的新结果(对于当前行)。


4.4.2。 复制(+/- 链接)

添加/删除名称设置为的选项卡 标签 场地。 它仅使用在表的同一行中选择的字段。


4.4.3。 表格单元格链接

按下任何其他字段名称将启动所选行的所选字段的数据可视化。


4.5。 数据顺序


显示字段的顺序与字段形式中的顺序相同(但是 Tm值 字段总是发送到text的末尾)。 只能通过直接编辑URL参数(字段顺序部分)来更改此顺序。


4.6。 例子

例如:使用 资产追踪 在地图上命名并包含时间和速度的地图

所有描述均指行所在的位置 "Map" 文字在 "跑步" 柱子。

  1. 输入名字 "资产追踪" 在 标签 字段(不带引号)

  2. 确保在行中未选中所有列

  3. 选择 Tm值, gps_speed_km 仅在行中

  4. + 按钮在行中的位置






5, 地图

可以通过预先配置从MainForm启动地图


5.1。 地图初始化

通过链接直接执行时,地图初始化是手动执行的: > http://%IP%/IoT/maps.php


  1. 用户应取消选择所有字段(按 取消选择 按钮 )

  2. 按下某些复选框以显示字段(例如 艾因5 (烟雾级别)和 Tm值 (用于测量日期/时间)

  3. “ V” 复选框以隐藏字段表单

  4. 执行 按钮以运行数据库查询并显示所有传感器/设备的当前信息

  5. 包含数据的地图会在30秒或更长时间后更新。


5.2。 查询的可选设置

从左到右描述的设置(在上面的屏幕截图中)。

5.2.1。 修改MAP比例(缩放级别)

  1. 可以使用(+/-)按钮缩放比例(分别为current_scale * 2或current_scale / 2)来修改缩放级别。 按此按钮之一将自动修改比例。

  2. 另一种方法是在 飞涨 组合框字段,然后按 执行 按钮。 在这种情况下,将重新加载和刷新整个View / Map(在初始化期间需要一些时间)。

5.2.2。 IMEI (选择设备字段)

IMEI字段包含设备的唯一ID或设备的唯一别名。 默认设置为 * (星号),其中显示了每个设备的最新值和地理位置。

将IMEI设置为任何其他值,将显示所选设备的历史数据。 仅对移动和移动传感器有意义,否则结果将在地图上的相同位置重叠。


5.2.3。 朗·拉特 (经度,纬度坐标字段)

设置地图的中心位置。 在地图上按下鼠标按钮时,此字段设置为光标位置。


5.2.4。 修改MAP样式(主题)

可以从以下样式中选择地图样式/主题 Map 组合框字段(例如 深色,灰色,地形()。

各种地图主题可能具有不同的最大缩放级别,因此可能会强制使用适当的主题以增加地图比例。


5.2.5。 条款

其中Clause用于MySQL / MariaDB的附加查询字符串{WHERE part}。

对于数据库结果的构造完整的QUERY字符串,将考虑此子句。 它可能会通过限制结果计数来限制数据,时间和任何其他值。 必须在此字段中使用原始表字段名称(不是alias)。 例如。

  1. gps_speed_km> 10 //速度超过10km / h

  2. ain5> 3 // ain5大于3(持有2.5um粒子数-烟雾水平)

  3. gps_speed_km> 10 and ain6> 5 //速度大于10km / h且ain6大于5(持有10um粒子数-烟雾水平)


5.2.6。 执行 (运行查询按钮)

需要按此按钮才能更改任何设置,参数(按除外)。 +/- 纽扣 )。

从新的预设开始加载地图。

当没有数据可用于当前查询时,根本不会加载地图。

5.2.7。 全部取消选择 (从查询中删除所有字段)

按下此按钮后,至少必须手动选择一个字段才能在地图上显示结果。


5.2.8。 “ V” 复选框(打开/关闭字段表格)

此复选框用于显示/隐藏要显示的字段选择器。


5.2.9。 “X” 复选框(显示/隐藏查询表单)

此复选框启用隐藏整个表单,除了( +/- 纽扣 )


地图上的结果会不断刷新并使用新值进行更新

5.3。 例子

例如,烟雾结果(传感器安装在汽车上):烟雾级别2.5um粒子(Ain5),速度(gps_speed_km),日期/时间(tm),地图(2-地形),缩放级别16,

Where子句:

"gps_fix = 3和tm>“ 2019-02-18 00:00:00”和tm <“ 2019-02-19 00:00:00”和gps_speed_km> 0".

// GPS =有效的3D结果&日期= 2019-02-18&速度> 0 km / h



六 在表格中显示结果

在表格中显示结果。

上 "主要形式" 按 "桌子" 项目,选择一些字段以显示预配置的表后




6.1。 表格初始化

从链接打开表时 http://%IP%/IoT/que.php?func = tabs 它需要事先进行设置初始化。

您可以选择可见字段(通过按 "可见场" )复选框。



  1. 按下所有必填复选框以显示字段

  2. 按下复选框 "可见场" 隐藏字段表格

  3. 按执行按钮运行数据库查询并显示表


6.2。 查询的可选设置

设置从左到右(在屏幕截图上)描述。

6.2.1。 种类 - 排序字段和顺序升序/降序

排序字段等效于按列标题。

6.2.2。 D B / IMEI - 选择设备

IMEI字段包含设备的唯一ID或设备的唯一别名。 如果值为空,则显示最新值表。

将IMEI设置为任何其他值,将显示所选设备的历史数据。


6.2.3。 CSS- 选择样式(可视化主题)

6.2.4。 可见场 -显示/隐藏字段表格

6.2.5。 删除空- 不要显示空列

6.2.6。 “X” 复选框(显示/隐藏查询表单)

6.2.7。 在哪里 条款 (用于数据限制)

这是MySQL / MariaDB附加查询字符串{WHERE部分}的sufix。

考虑此子句以构造数据库结果的完整QUERY字符串。 它可能会通过限制结果计数来限制数据,时间和任何其他值。 必须在此字段中使用原始表字段名称(不是alias)。 例如。

  1. gps_speed_km> 10 //速度超过10km / h

  2. ain5> 3 // ain5大于3(持有2.5um粒子数-烟雾水平)

  3. gps_speed_km> 10 and ain6> 5 //速度大于10km / h且ain6大于5(持有10um粒子数-烟雾水平)


6.2.8。 选择核心 按钮(启用最常见的字段)


6.2.9。 全部取消选择 按钮(从查询中删除所有字段)

按下此按钮后,至少必须手动选择一个字段才能在地图上显示结果。


6.2.10。 执行 (运行查询按钮)

需要按此按钮才能更改任何设置,参数(按除外)。 +/- 纽扣 )。

从一开始就使用新的预设重新加载表格。



6.2.11。 “ V” 复选框(打开/关闭字段表格)

此复选框用于显示/隐藏要显示的字段选择器。



表中的结果按以下顺序排序 种类 字段设置。 可以通过按行标题来更改排序顺序(对于一个方向一次,对于另一个方向两次)。

列中的某些结果链接到其他可视化屏幕(硬编码)。


当显示设备的历史数据时,应该限制它以便不显示整个历史信息,因为这可能会导致性能或内存不足问题。


7。 条形图。

条形图应从“主窗体”中执行,方法是按“条形”行中的单个字段。

它显示归一化为最大值的排序条,从最高到最低顺序显示。

这对于快速检查极端结果并采取一些措施很有用。





鼠标悬停事件将显示设备的其他信息。


8。 历史图表。

当按下“历史记录”行中的选定列(对于单个字段)时,可以从MainForm中启动历史记录图表。

对于“历史记录”行中的多个字段,必须选中所需的字段,并且必须在“运行”列中按下“历史记录”链接。

如果未设置任何限制,则历史结果仅限于过去24小时+接下来的24小时(以最终刷新图表)。

8.1。 初始化历史图表


从主链接打开的历史图表在没有首选项参数的情况下从链接打开时,需要其他结果进行初始化。

可以选择多个字段以显示各种项目。 也可以在“字段过滤器表单”中设置。




  1. 按下所有必填复选框以显示字段

  2. 按下复选框 "可见场" 隐藏字段表格

  3. 按执行按钮运行数据库查询并显示表


8.2。 历史图表的可选设置

从上到下,从左到右(在屏幕截图上)描述的项目。

8.2.1。 IMEI -(选择设备以显示历史数据)

IMEI字段包含设备的唯一ID或设备的唯一别名。 使用*(asterix)值显示没有意义的最新值表。

将IMEI设置为任何其他值,将显示所选设备的历史数据。

8.2.2。 敏- 限制第一场的最小值

8.2.3。 最大限度 - 限制第一场的最大值

8.2.4。 “ V” -显示/隐藏字段表格

8.2.5。 从:设置最小日期/时间(*)

8.2.6。 至:设置最大日期日期/时间(*)

8.2.7。 “X” 复选框(显示/隐藏查询表单)

8.2.8。 "在哪里" 条款

限制数据结果的子句MySQL / MariaDB附加查询字符串{WHERE part}。

对于数据库结果的构造完整的QUERY字符串,将考虑此子句。 它可能会通过限制结果计数来限制数据,时间和任何其他值。 必须在此字段和有效的SQL语法中使用原始表字段名称(不是alias)。 例如。

  1. gps_speed_km> 10 //速度超过10km / h

  2. ain5> 3 // ain5大于3(持有2.5um粒子数-烟雾水平)

  3. gps_speed_km> 10 and ain6> 5 //速度大于10km / h且ain6大于5(持有10um粒子数-烟雾水平)


8.2.9。 全部取消选择 按钮(从查询中删除所有字段)

按下此按钮后,必须至少手动选择一个字段以显示历史结果。


8.2.10。 执行 (运行查询按钮)

需要按下此按钮才能更改任何设置和参数(显示字段或查询面板除外)。 从一开始就使用新的预设重新加载表格。

8.2.11。 “ V” 复选框(打开/关闭字段表格)

此复选框用于显示/隐藏要显示的字段选择器。


8.3。 吧台 变体:(仅显示可用数据)



8.4。 连续的 变体(具有相同数据):



鼠标指针显示测量值和日期/时间。

9。 网络浏览器兼容性


功能/ WWW浏览器

镀铬72

火狐65

边缘

歌剧58

地图

+

+

+

+

历史的

+

+(*)

+

+

吧台

+

+

+

+

制表符

+

+

+

+


*-Firefox不支持日期/时间选择器(必须使用正确的日期时间格式手动编辑文本字段)。

不支持Internet Explorer(使用 边缘 反而 )

其他Web浏览器未经测试。



10。 主题定制

网页基于位于以下位置的常规模板文件 “模板” 目录“ * .template”。

此外,每种页面类型都包含:

  1. “ * .head”文件,用于存储页面的页眉(链接,导入的CSS,JavaScript文件等)。 )

  2. “ * .foot”文件,用于存储页面的页脚(链接等) )


可视化主题可以根据用户的喜好通过修改和修改CSS文件进行更改。 CSS文件位于 “模板/ css” 目录。 可能会使用不同的Web页面主题来进行优化,例如。 印刷,智能手机,PAD模板。


标签le 视图-具有用于选择CSS文件以完整修改主题的可选字段(存储在 “模板/ css /标签” 目录 )。




Map 意见 - 一般主题由 “地图” 键入组合框。 此外,还有默认的CSS文件 “模板/css/map.css” 其中包含一些其他功能,例如根据其值隐藏/着色结果。 该CSS文件的其余部分实际上仅限于查询和字段形式。


大多数 @城市平台 用于可视化的PHP文件接受 的CSS参数,带主题文件名的值(不带扩展名)。 文件必须位于“ templates / css”目录中,并且名称区分大小写。


主题显示的某些元素直接位于in文件中,该文件位于 “模板/ js” 目录。

主要的 @城市 脚本“ @ City.js” 位于上层目录中。 在此没有修改的可能性 位置,但是脚本可以复制到 “模板/ js” 目录并在那里进行修改。 使用单个脚本需要更新所有头文件。

11。 算法更新


一些独特的传感器可能需要专用的计算功能。

无法更新和维护以下版本的多个变体 @City Server软件, 前端PHP界面,这会导致很多问题,版本,错误。

最好的和最简单的方法是更新JavaScript“覆盖”文件,以正确显示值/说明。

原始JS脚本是开放文本文件,可以根据客户需要采用。 如上一章所述,必须将它们复制到 “模板/ js” 客户具有修改权限的目录。


编程技术方面 @城市 系统不是本文档的主题,但是具有HTML和JS基本知识的Web开发人员可以根据个人客户需求定制前端Web应用程序。


12 数据库结构


@City数据库的名称 “物联网” 或者 “ * IoT” 分为表格(其中asterix是前缀,具体取决于托管服务器-如果需要)。 在PHPAdmin(Web应用程序)的链接上可能会观察到数据库 http://%IP%/ phpmyadmin




为每个设备设置的表 ( 在哪里 * {asterix}是IMEI地址-唯一ID):

其他表:



12.1。 “ ithings_”和“ *”表结构

12.2。 设备命令(事件)队列“ * _c”表-结构


该表是每个设备的事件/命令队列,并具有以下结构:



12.3。 从数据库访问结果-中级(读取数据)


无需前端Web应用程序就可以访问数据。 @City系统包含具有中级功能的脚本。 结果以JSON格式返回。


12.3.1。 获取所有设备的当前状态

http://%IP%/IoT/que.php?func = devsjson


查询整体返回 “ _ithings” JSON格式的表格(所有设备的当前状态):

[{ "国家":"", "城市":"", "大陆":"", "国家":"", "地区":"", "次区域":"", "次分区":"", "城市":"", "区":"", "街道":"", "street_nr":"", "item_nr":"", “ gps_lat”:"0000.0000N", “ gps_long”:"00000.0000E", “Tm值”:"2019-02-10 12:56:23", “创建”:"2019-02-09 18:12:38", “最后的”:"0000-00-00 00:00:00", “事件”:"", "用户":"", "经过":"", “ imei”:"351580051067110", "锡":"", “地位”:"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb305320000", "hash_code":"", "地址":"", "fwnr":"", "残障人士":"", "gsm_nr":"", "小贩":"", "时区":"", "dst":"", “ rssi”:"91", “ rsrp”:"99", “ gps_lat”:"0000.0000N", “ gps_long”:"00000.0000E", “ gps_hdop”:"", “ gps_alt”:"", “ gps_fix”:"4", “ gps_cog”:"", “ gps_speed_km”:"", “ gps_sat”:"", “事件”:"", “ out1”:"0", "出2":"0", "出3":"0", "出4":"0", "出5":"0", "出6":"0", "出7":"0", "出8":"0", "出9":"0", "出10":"1", "出11":"0", "出12":"0", "出13":"0", "出14":"0", "出15":"0", “ out16”:"0", “ in1”:"0", "in2":"0", "in3":"0", "in4":"0", "in5":"0", "in6":"0", "in7":"0", "in8":"0", "in9":"0", "in10":"0", "in11":"0", "in12":"0", "in13":"0", "in14":"0", "in15":"0", “ in16”:"0", “ ain1”:"3894", "ain2":"51", "ain3":"616", "ain4":"36", "ain5":"0", "ain6":"44", "ain7":"44", “ ain8”:"45", “ sens1”:"0", "感觉2":"0", "感觉3":"0", "感觉4":"0", "感觉5":"0", "感觉6":"0", "感觉7":"0", “ sens8”:"0", “ dimm1”:"255", "dimm2":"255", "dimm3":"255", "dimm4":"255", "dimm5":"255", "dimm6":"255", "dimm7":"255", “ dimm8”:"255", “ int1”:"-16776767", "int2":"450", "int3":"", "int4":"", "int5":"", “ int6”:"0", “文本1”:"", "文字2":"", "文字3":"", "文字4":"", "文字5":"", “ text6”:"" }]

12.3.2。 获取设备的历史数据

通过IMEI nr查询单个设备的历史数据:

http://%IP%/IoT/que.php?func = imeijson&imei = 356345080018095


由于整个表可能包含数百万行,因此应使用WHERE子句进行限制,以免挂断服务器。

附加参数url参数:

功能 -imeijson

imei -设备的IMEI

场地 -要显示在结果中的字段(以逗号分隔的列表)

-列表中第一个字段的最小值

最大限度 -列表中第一个字段的最大值

s或者t - 排序字段

Tm值 -字段会自动添加到结果中。

where -限制数据的where子句


例子:

我们想要得到以下结果

用于具有 imei=356345080018095

显示字段: ain5,ain6,gps_lat,gps_long

和限制 ain5 在范围内 ( 1,10000 )-必须是列表中的第一个字段

全球定位系统 有有效数据 (gps_fix = 3)

和日期/时间 ( Tm值 ) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


构造的URL字符串:

http://%IP%/IoT/que.php?func =imeijson&imei =356345080018095&field =ain5,ain6,gps_lat,gps_long&min =1&max =1000&where =gps_fix = 3和tm>“ 2019-02-14 23:00:19”和tm <“ 2019-02-15 00:00:00”


查询结果:

[{ "ain5":"66","ain6":"68",“ gps_lat”:"5202.7326N",“ gps_long”:"02115.8073E",“Tm值”:"2019-02-14 23:04:31" },{ "ain5":"67","ain6":"76",“ gps_lat”:"5202.7328N",“ gps_long”:"02115.8075E",“Tm值”:"2019-02-14 23:05:42" },{ "ain5":"63","ain6":"77",“ gps_lat”:"5202.7328N",“ gps_long”:"02115.8074E",“Tm值”:"2019-02-14 23:06:05" },{ "ain5":"58","ain6":"77",“ gps_lat”:"5202.7328N",“ gps_long”:"02115.8075E",“Tm值”:"2019-02-14 23:06:32" },{ "ain5":"58","ain6":"68",“ gps_lat”:"5202.7328N",“ gps_long”:"02115.8076E",“Tm值”:"2019-02-14 23:06:55" }]

12.3.3。 获取设备列表-当前状态中的单个字段有限制

此函数从“ _ithings”表返回有限的数据


http://%IP%/IoT/que.php?func = fieldjson&field = ain5&min = 13&max = 5000



参数:

功能 -fieldjson

场地 -要在结果中显示的字段- imei Tm值 自动添加

-字段的最小值

最大限度 -字段的最大值


对于上述查询字符串,它返回 结果 ain5,imei,tm 领域:

如果 ain5 在范围内 (13,5000)


查询结果:

[{“ imei”:"353080090069142", “Tm值”:"2019-03-14 11:51:01", "ain5":"14" },

{“ imei”:"356345080018095", “Tm值”:"2019-02-20 09:13:04", "ain5":"115" },

{“ imei”:"卡切夫", “Tm值”:"2019-03-07 13:08:22", "ain5":"103" }]