我有开放源代码和开放式硬件传感器,可以为您提供一个工作的起点:它已互联网连接,并且每两分钟传输一次其温度,湿度和电池电压,使用2xAA电池可以持续3-5年。它基于M12 6LoWPAN模块。
我会尽力解决您的所有问题:
关于频段权衡:
433MHz,915MHz,2.4GHz
范围与天线尺寸之间的权衡是显而易见的。自由空间路径损耗是波长的函数,因此对于相同的衰减,较低的频率传播得更远。但是,为了利用这一点,您还需要一个合适的天线,该天线也可以随波长缩放。M12上的2.4Ghz天线占用大约2平方厘米的PCB面积。
第二个因素是许可。2.4GHz可以在全球范围内拥有未许可的电台。915MHz仅在美国无牌(在其他任何地方都是GSM频段)。我不确定433MHz的限制。
根据Shannon–Hartley定理,数据速率也受频率选择的影响;您可以将更多数据塞入更高的频段。但是,这并不总是用于更多最终数据速率。例如,对于在数据层看到的每个实际位,802.15.4具有4位冗余。这32个符号是伪正交的,因此您必须破坏几个低级位才能引起错误。这使802.15.4可以在本底噪声下运行(研究表明,SNR为-5dB),并使它对干扰具有较强的鲁棒性。
现在进入下一个难题
低功率无线电操作:
与家用电池(例如AA碱性电池)相比,即使是“低功率” SoC(例如mc13224v)也不是非常低的功率。在2-3.5V时,发射器约为30mA,而接收器则为25mA左右。在不关闭无线电电源并使CPU进入睡眠状态的情况下,此负载将在几天内消耗2个AA。接收器的高功耗通常使人们感到惊讶,这可能是开发低功率无线电系统时的最大痛苦。这意味着要运行多年,您几乎永远无法传输或收听。
从2xAA碱中获得“一年”操作的目标是使系统的平均电流小于50uA。这样做会使您承受数年之久的挑战,并免受电池的二次影响,例如自放电和家用电池的7年使用寿命。
低于<50uA平均值的最佳方法是不需要收发器。如果是这样,则可以在大多数情况下尽快“调频”数据并将系统置于低功耗模式(例如约10uA)。的TH12,例如用于发送10ms左右,但在系统中关于处理时间和设置时间对于所涉及的传感器的其他开销。可以使用当前的探针和电子表格来确定细节:
通过这种类型的分析,您可以算出使用寿命(假设电池的放电曲线准确)。
如果确实需要在低功率侧接收数据(例如,在网状网络中制作一个昏昏欲睡的路由器),那么当前的最新技术重点是时分技术。有些紧密地同步网络,例如802.15.4信标,而另一些则使用“松散”的系统,例如ContikiMAC(如果您的硬件没有稳定的时基,则更容易实现,尤其是)。
无论如何,我的经验表明,这些方法平均约为400uA,这使您在使用2xAA的“几个月甚至一年”的运行时间中。
碰撞:
我的建议:暂时不用担心。换句话说,如果您有数据,请在其中发送“ aloha”(您的选项1)。如果发生冲突,则可以重新发送。(这取决于您的目标)。如果您不需要确保收到所有样品,则只需尝试一次即可立即入睡。
您会发现功耗问题非常棘手,唯一的解决方案将是根本不传输太多数据的网络。如果您尝试,它可能会成功。如果没有,您可以稍后再试。
如果您确实需要确保每个数据报都能通过,那么您将必须执行某种ACK方案。在6LoWPAN世界中,您可以使用TCP,它将继续重试直到电池没电为止。也有使用UDP并具有重试机制的CoAP(但不承诺传送)。但是,这里的每个选择都会影响运行时间。如果您运营多年,那么影响将在数月之内。
您的选项#2作为CCA内置在802.15.4硬件中。这个想法是接收器打开8个符号并返回true或false。然后,您可以决定下一步要做什么。您可以全天/每周使用这些计划。但是,每次执行这样的操作时,运行时间都会减少数周。这就是为什么我建议现在从简单开始。如果您要长时间运行,它将非常有效。