文档

数据包传输

前面的小节提供了通用的信息载荷大小,和如何以及何时段数据到不同的包。本节提供特定的信息更新逻辑和负载内容最大化传输有用的信息使用最少的传输带宽。当你考虑传输数据时,问自己这些问题:

  • 频率数据应该发送吗?
  • 数据格式是什么?
  • 有多少位精度的足够了吗?
  • 什么样的载荷应发送吗?

以下部分将提供一些建议对这些问题的回答。虽然有足够的创造力和空间深度思考,这些指南是用来防止错误在创建有效载荷。

最小更新的信息

数据计划的一个关键方面是确保你捕捉必要的系统的动态观察。许多研究已经进行了关于如何做一个最小数量的样品在系统。Nyquist-Shannon采样定理提供了一种最优采样模拟信号的完全重构信号的样本。香农的版本的定理:

如果一个函数x (t)不包含频率高于B赫兹,它完全是由给纵坐标的一系列点间距为1 / (2 B)秒1

因此任何采样率高于2 b足以捕获原始信号。对高周期性物理测量,如果原理测量的高度潮流,平均时间12.42小时,6.21小时的采样率将导致高和低潮汐的准确表示。如果你有一个模型的测定量之间的变化更新(6.21小时之间的潮位示例在这种情况下)你可以形成一个“现在”的估计和样品之间的任何时间点。没有这个模型,你会需要更多的样本来建立被测量的当前值。当被测量的重复性和模型存在,有一个定义的最小采样限制(2 b)。当没有周期性,也没有建立模型测量量,Nyquist-Shannon不提供足够的洞察力。

应用程序将影响如何以及何时你做测量。物理系统会影响应用程序的设计。如果您正在执行测量系统中当你没有(或不能)有一个模型的测量量会有所不同,应用程序的需求将推动抽样率。例如,温度读数与手动控制在一个房间里。你可能不知道加热或冷却时发生,所以你不会知道事先可能有重大变化时的温度。因此,你需要样品,对您的应用程序来说是足够的。如果你想对一个/ /条件下事件在不到五分钟,样本至少每五分钟。为了解决这个问题,您可以使用准时制(JIT)和事件驱动的抽样。采用事件驱动的采样,数据传输不丢失数据的情况下可以大大减少变异。这种方法可以帮助你避免传输大量的重复数据有一个详细的历史事件。

实时测量

许多应用程序和传感器可以使用事件驱动的测量或警报。这些传感器应用的例子包括,但不限于:

  • 门或窗打开/关闭
  • 泄漏检测
  • 书桌或占领/空房间
  • 坦克水平低警告
  • 吸烟或火灾报警
  • 光明/黑暗检测
  • 按钮按下

在每个传感器应用程序示例中,有一些事件或状态变化,传感器正试图捕获。重要的信息是关于状态的变化,不更新之间的一个值。例如,当检测如果打开或关闭一个窗口,重要的信息是,当门或窗口从opened-to-closed closed-to-open。我们可以假设中间事件的时候,门或窗口前面一样的状态更新。注意:重要的是监控传感器状态;废弃的电池,可以不再发送其状态变化信息。有关更多信息,请参见心跳消息

然而,还有另一个使用JIT更新;当一个发送新的数据应用程序重要的改变发生在任何类型的传感器。甚至使连续测量的传感器,如压力,温度,可以使用坦克水平等按固定或相对水平至关重要。举个例子,如果一个应用程序监控压力系统中,最重要的因素是超过临界压力水平,是否发送的压力水平,当这一水平将是一个更好的解决方案比等到下一个更新。扩展这一概念,一个设备只能发送数据交叉限制时,将连续传感器转化为离散的门打开/关闭传感器等传感器。这是有益的,如果能力测量的量明显小于传输测量的力量。通过这种方式,一个传感器可以使许多测量和传输数据只有在重要的新信息是可用的,但允许连续监测的一个至关重要的环境质量。这种监测量的方法也可以用于delta-updating;如果一个值改变一些固定值,您可以发送一个更新。例如,如果你监控温度可以设定一个三角洲温度(例如,2摄氏度)。当温度变化超过三角洲设置自上次更新新的发送更新,更新的参考温度设置(参见图4)。

图4:增量更新

这表明,即使测量是一种连续式的函数,它可以像一个离散更新,基于函数,基于规则的远程设备。例如,温度、压力、流体流量,等等。这些规则必须由应用程序和设备的功能,但使用JIT更新任何设备会导致戏剧性的传输时间进而导致更少的时间为每个设备和无线广播的潜在戏剧性的减少电力消耗。当你评估应用程序需求;检查是否有需要测量每一个报告 分钟,或者潜在的需求来衡量每一个 分钟报告,如果有些事情已经改变了。

一些包装

有些包装是最大化的另一个关键方面数据传输的比特数最小。有些包装利用二进制数据传输的有效载荷(即。位的有效负载发送一次)提供一个紧凑的流的信息。有效位包装的一个关键因素是确保你提供正确的比例和精度。例如,您可能希望提供当前的电池电压的装置。可用的精度可能100 mV,但应用程序需要0.1 v的精度。你知道电池将在2.6 v(以下设备关闭了)和4.1 v(当电池充足)。2.6 v和4.1 v之间有15 0.1 v的步骤,这样你就可以代表电压通过使用以下计算:

V = 2.6 + 0.1 *ν{ν:0-15}

这意味着与精密电压0.1 v和2.6 v至4.1 v可以传播只有四位(十六进制0 xf或0-15)。比较这“3.1”的字符数组包含三个单个字符,在三个独立的字节发送:“3”,然后““然后”1”。这将是传播为ascii码值的51岁,46岁,492。正如你所看到的,传输三个单个字符需要三个字节,或24位(ASCII),与四位(十六进制)。的字符表示的优点是能够代表通过9.9 v 0.0 v。中间字节并不真的需要被发送,它总是”。”= 46 ASCII小数。有关更多信息,请参见冗余信息文本。有效的惩罚是12位。如果最低必要数据可以发送在4位;派遣更多的比特比绝对相同的数据所需wasteful-both数目和功耗。您可以修改公式,碎片的数量和精度,以满足不同的范围和精度要求。许多物理测量,似乎他们可以采取很多数据可以压缩成较小的表征。除了这些例子,表4显示了常见的各种bit-packing例子物理和其他测量。

数量 期望的数量 有些包装公式 位要求 范围 精度
时间3 任意日期和时间 从1970年1月1日T =秒就是 32 1970年1月1日2038年1月19日03:14:07就是 1秒
温度 温度范围广泛

-80 T = 0.5 * (T)
{t: 0 - 255}

8 -40 C + 87.5 C 0.5摄氏度
温度 狭窄的温度范围

T = 0.25 * (t-40)
{t: 0 - 255}

8 -10 C + 53.75 C 0.25摄氏度
温度 温度当然

T = 4 * (T - 1.25)
{t: 0-15}

4 5 C + 55 C 4摄氏度
电压 宽电压范围

V = 0.1 * V
{v: 0 - 255}

8 0到25.5 V 0.1 v
电压 电压范围狭窄

V = 0.1 * (V + 26)
{v: 0-15}

4 2.6 v至4.1 v 0.1 v
电池级 电池百分比精确

P = 100% * P / 15
{p: 0-15}

4 0 - 100% 6.67%
电池级 电池%课程 P = 100% * P / 3
{p: 0 - 3}
2 0 - 100% 33.33%

表4。有些包装的例子

另一个典型的传感器发送的值对是纬度和经度。这些值通常表示十进制度。

注意:一定要匹配的精度测量的精度要传输的数据。例如,如果您的位置估计设备(GPS或GNSS)精度为1米,提供任何额外精度超出一米不添加额外的价值;它只是增加了一些数据包。另外,如果系统的准确性在某些方面是有限的(从系统误差估计过程中),也将限制必要的精度,需要传输的数据包。对于标准GPS或GNSS应用程序,精度是大约两米的最好的情况。然而,这将取决于应用程序和位置测定技术。188bet金博宝滚球同时,考虑到通用标准GPS或GNSS接收机的准确度和精密度,两米是一个很好的目标在经度和纬度传输数据的精确性4。记住这一点,当在不同的尺度上寻找十进制度如表5所示,五位小数精度可以达到近1米的中纬度地区(0.787 m 45 n / S),非常近一米赤道(1.1132米)。通过6位小数,传动精度一米的一小部分。这符合容易在签署一个32位的值。看下面的例子:

  • 纬度、经度= (37.385909,-121.925453)
  • 整数纬度e6 =(37.385909 + 90.0) * 1.0 = 127385909(12月)= 0797 c135(十六进制)
  • 整数经度e6 =(-121.925453 + 180.0) * 1.0 = 58074547(12月)= 58074547 b3(十六进制)

请注意:经度和纬度是0到180之间的映射从0 - 360。当转换回来,需要支持的值:

  • 整数纬度= 127385909(12月)= 1.0 (127385909)/ e6 = 127.385909 - -90.0 = 37.385909
  • 整数经度= 58074547(12月)= 1.0 (58074547)/ e6 = 58.074547 - -180.0 = -121.925453

小数点后

十进制度

DMS

的对象很明显承认在这个规模

N / S、E / W赤道

E / W 23 n / S

在45 n / S E / W

在67 n / S E / W

0

1

1°00′0”

国家或大地区

111.32公里

102.47公里

78.71公里

43.496公里

1

0.1

0°06′0”

大型城市或地区

11.132公里

10.247公里

7.871公里

4.3496公里

2

0.01

0°00′36”

镇、村

1.1132公里

1.0247公里

787.1米

434.96米

3

0.001

0°00′3.6”

社区、街道

111.32米

102.47米

78.71米

43.496米

4

0.0001

0°00′0.36”

个人街,地块

11.132米

10.247米

7.871米

4.3496米

5

0.00001

0°00′0.036”

个别树木,大门入口

1.1132米

1.0247米

787.1毫米

434.96毫米

6

0.000001

0°00′0.0036”

个体人类

111.32毫米

102.47毫米

78.71毫米

43.496毫米

7

0.0000001

0°00′0.00036”

商业调查的实际限制

11.132毫米

10.247毫米

7.871毫米

4.3496毫米

8

0.00000001

0°00′0.000036”

专业测量(例如板块映射)

1.1132毫米

1.0247毫米

787.1µm

434.96µm

5。十进制度精度5

编码

编码是指将原始数据并将它转换为另一种形式的代表。例如,该计划被称为“Base64编码,二进制数据并将其转换为可打印的ASCII文本传输系统,可以只支持文本。一般编码不是必要的很可能是禁用于系统能够支持二进制数据传输,例如LoRaWAN。然而,有类似的,可以帮助最大化数据内容:查找表。某些数据交换使用查找表,如发送时间表信息(例如,10秒,1分钟,3小时,等等)。举个例子,如果你想要一个用户能够选择更新率10秒之间,有一天,你可以用10秒的基本量和索引从1到8640(每天十秒块的数量)。数量8640 14位传输。然而,如果你只是想提供某些选项,10秒,一分钟,一小时,一天,你可以传递信息,两位(四个二进制状态):(0 0)= 10秒,一分钟(0 - 1)=,(1 0)=一个小时,一天(1 - 1)=。这个跨度相同的范围内减少了12位;的成本不能代表任意数量的十秒的时间。 Adding an additional bit provides eight states and another gives you 16. If only certain fixed values in a continuous range of interest need to be sent, an interface design can save many bits for effectively the same amount of information being transferred.

冗余信息

冗余信息的一个例子是每五秒发送相同的温度测量。即使有一个动态数据更新,要求有更好的方式比用相同的信息重复填充的数据流。有关更多信息,请参见实时测量。冗余信息的另一个例子是不断重复的配置信息。发送状态信息是很有用的关于设备的状态。但是,发送配置字节每两分钟,设备将发送一个更新每两分钟是毫无意义的。最大化数据交付的一个关键方面用最少的数据位是知道何时确认设置和何时允许用户承担的设置是一样的最后确认。如果设置只能改变通过无线命令,发送一个确认的设置改变时。在那之后,发送确认不超过每24小时。

文本

罗拉或LoRaWAN传输发送二进制数据。可打印文本不是非常高效的传输数据。例如,查看打印的ASCII文本在表6所示2“打印”字符从32个十进制到126年或94年价值256的二进制字节值。这是一个使用可用的值的36.7%。如果你限制的值加上空格字符,字母数字值剩余的字符的数量降至63,减少可用的值降至24.6%。通过限制数据类型文本,是一个潜在的数据丢失效率介于63.3%和75.4 percent-before考虑其他因素。说我们知道第一个字段在一个给定的包电压。如果字段格式为:“电压= 3.1 V”然后字符串“电压”和“V”是多余的,因为我们已经知道这个领域是电压从包的立场。此外,这个字符串占用12字节(96位)传输。我们知道从一些包装之间的电压精度为0.1 v 2.6 v和4.1 v可以发送4位;或half-byte-a储蓄的96%。同时,发送文本数据字段通常会导致高冗余数据和文本短语“电压”,“V”或“温度”在每一个数据包重复了一遍。有关更多信息,审查冗余信息部分。唯一应该发送的应用程序包类型为文本是一个短信的应用程序。适当的,应该使用压缩文本6

表6所示。ASCII表

心跳消息

心跳消息允许普通但罕见的间隔的消息证实设备仍然可以报告。原因有很多设备可能不再报告LoRaWAN网络。例如,从本地网络设备可能已被移除,电池可能会死,可能会有一个网络上的干涉或网关可能离线。定期更新间隔是有用的保持连续性检查的设备。您还可以使用心跳消息监控网络的状态通过寻找时间的增加消息损失或更高的背景噪音水平。用心跳来更新是很重要的关键量,如主要的测量,和二次电池的水平,它可能不是现在和主要测量。尽可能多,心跳更新应该结合数据包开销和无线广播的时间降到最低。发送一个10字节的包比给发送两个五字节数据包,因为10-byte数据包的包开销小于发送两个包5字节的开销。

包括心跳消息的另一个原因是重发以前的测量。如果你有一个按钮按下设备发送一条消息每次设备上的一个按钮被按下(数的多少按发生在它的生命周期,模256)。发送心跳的按钮按下设备的数按每八小时的时间自上次新闻可以提供一种方法来恢复错过按钮按下信息。类似的方法可用于运动检测、温度和其他测量类型。


1。香农,克劳德·E(1949年1月)。噪声的存在的“交流”。美国无线电工程师学会学报》上。37(1):10-21。doi:10.1109 / jrproc.1949.232969重印的经典论文:Proc。IEEE2号,卷。86年,(1998年2月)存档2010-02-08在机器Wayback

2。http://www.asciitable.com/

3所示。这个公式也被称为“Unix时间”

4所示。GNSS接收器通常会报告他们的精度优于1米;尽管这不是普遍的情况。接收标准定位精度通常是2米或者更糟(尽管不同的扩增可以做得更好)。因此,“结合”精密度和准确度可以被视为“大约2米”在均方根的感觉。

5。http://epsg.io/transform s_srs = 7030 -椭球

6。一个文本压缩选项,霍夫曼编码:霍夫曼,d . (1952)。“Minimum-Redundancy编码方法建设”(PDF)。诉讼的愤怒。40 (9):1098 - 1101。doi: 10.1109 / JRPROC.1952.273898
另一个文本压缩选项,算术编码:出版社,WH;Teukolsky SA);Vetterling WT;弗兰纳里,英国石油公司(2007)。“22.6节。算术编码”。数值食谱:科学计算的艺术(第三ed)。纽约:剑桥大学出版社。ISBN 978-0-521-88068-8

Baidu
map