先说两句

抱歉,由于工作原因和个人原因,中间停更了这么久。接下来,本人会继续往下更,内容包括但不仅限于LoRa。文章还是会按照个人的习惯,坚持原创,一是作为自己的笔记,二是和广大工程师分享交流。

LoRaWAN的定义是一种用于Low power,long range应用场景的无线通讯协议,所以关键的部分就有两个:1.低功耗 2.远距离

其中远距离目前是有LoRa这种无线通讯方式来完成,因为其再参数上具有-148db的超低灵敏度,使其具有在同发射功率下的更远的通讯距离

然后就是低功耗。下面我来讲讲LoRaWAN的低功耗。

注意:我接下来并不会讲CAD模式,只是LoRaWAN协议在机制上如何实现低功耗,以及具体的功耗数值是多少。

LoRaWAN CLASS A功耗

惯例,先说硬件再说软件。此处按STM32L051C8T6搭配SX1278

芯片功耗

SX1276

- 休眠功耗:200 nA
- 接收电流:10mA
- 发射电流:20dB 120mA

STM32L051C8T6

- 休眠功耗(RTC):1uA
- 32Mhz全速运行功耗:3mA

协议功耗

class A的工作逻辑为

发包->休眠1->RX1->休眠2->RX2->休眠3

其中休眠1/休眠2的时间都是1S,RX1/RX2的持续时间约为50ms,发包的持续时间按SF12 BW125(300 bps),负载长度按17byets来计算,发包时间约1000ms

用这些参数来计算,假设设备为电池供电,电池电量为1000mAH,每1小时发一次包,那么理论上设备可使用10年!!!

而且这还是按照LoRaWAN中的最低速率发包!!!

这是什么概念呢?目前NB-IOT算的上是运营商网络中的最低功耗通讯方式了,按照相同工作逻辑,其只能使用一年多。具体差别在哪,以后会讲。

这就是Class A,作为低功耗协议LoRaWAN中的最低功耗工作方式。

Class B 不讲,由于本人接触的少,而且实现起来困难,市面上使用的也少

CALSS C:

class c的目的就是最大限度的进行接收,这种应用场景一般都是常供电设备了,所以在此讨论这种设备的功耗也没什么意义。

LoRaWAN调试踩坑心得(二)的更多相关文章

  1. LoRaWAN调试踩坑心得(一)

    先说两句 在调试和移植的过程中 我们经常想用节点去抓上行包 或者去抓下行包 但在抓取的过程中发现,上行包抓取不到到,或是下行包抓取不到,或者是两个都抓取不到,觉得非常的诡异.明明接收频点.BW和SF都 ...

  2. JavaScript 踩坑心得— 为了高速(下)

    一.前言 本文的上一篇 JavaScript 踩坑心得- 为了高速(上) 主要和大家分享的是 JavaScript 使用过程中的基本原则以及编写过程中的心得分享,本文主要和大家聊聊在各个使用场景下的 ...

  3. JavaScript 踩坑心得— 为了高速(上)

    一.前言 很多情况下,产品的设计与开发人员一直想打造一套高品质的解决方案,从而快速.平稳地适应产品迭代.速度是衡量产品适应性的真正且唯一的标准,而且,这并不是笔者的一家之言. 「速度是衡量适应能力的真 ...

  4. Android NDK中的C++调试踩坑标记

    RT, Android NDK中的C++调试, GDB调试比较麻烦,在ADT Eclipse中: 1.配置好NDK给工程加上Native Support 2.编译中加上NDK_DEBUG=1 3.然后 ...

  5. React-Native 真机调试踩坑指南

    继上一篇基础安装踩坑继续我们的踩坑之旅,备注一下以下仅针对Mac环境-- 安卓 1.adb 找不到命令? Adb的全称为Android Debug Bridge,就是起到调试桥的作用,真机调试安卓必备 ...

  6. ios浏览器调试踩坑(1)----mescroll.js和vue-scroller

    主要记录在ios浏览器出现触摸无限加载的情况 使用vue-scroller和mescroll.js/mescroll.vue先踩ios浏览器默认滑动会影响mescroll的方法调用. 首先给公共js加 ...

  7. Hexo搭建静态博客踩坑日记(二)

    前言 Hexo搭建静态博客踩坑日记(一), 我们说到利用Hexo快速搭建静态博客. 这节我们就来说一下主题的问题与主题的基本修改操作. 起步 chrome github hexo git node.j ...

  8. 常见踩坑案例(二)-Request method 'POST' not supported

    一 前言 最近涉及到与前后端的数据对接,按道理来说没一点压力结果被一前端童鞋带坑里去了(不过也是很久没写过这种前后端分离进行联调的事情了,如果是一个人全套弄的话就不会出现下面问题). 二 Reques ...

  9. 【React踩坑记二】react项目实现JS路由跳转

    这里使用的是4.31版本的react-router-dom "react-router-dom": "^4.3.1", 直接使用以下代码即可实现路由跳转 thi ...

随机推荐

  1. 【Arduino】66种传感器系列实验(1)---干簧管传感器模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和各种模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里 ...

  2. webpack基础知识

    一.基础 1 安装 npm i -g webpack webpack-cli // 推荐安装至本地 npm i -D webpack webpack-cli 2 webpck基础使用 2.1 webp ...

  3. CentOS EPEL yum源

    CentOS EPEL yum源 用yum安装软件时,经常发现我们的yum源里面没有该软件,比如htop.网上查到的一个方案是需要自己去wget源码,然后configure,make,make ins ...

  4. linux初学者-DNS配置篇

    linux初学者-DNS配置篇 DNS在之前的网络管理篇已经做过介绍,下文将叙述DNS在学习工作中的一些配置以及应用. 1.高速缓存DNS 一台主机通过DNS服务器询问域名解析IP是需要一定的时间的, ...

  5. kubernetes二进制高可用部署实战

    环境: 192.168.30.20 VIP(虚拟) 192.168.30.21 master1 192.168.30.22 master2 192.168.30.23 node1 192.168.30 ...

  6. 完整使用JDBC访问数据库

    Connection con = null; PreparedStatement statement = null; ResultSet res = null; List<Student> ...

  7. 转 java - java反射机制创建对象

    转 https://blog.csdn.net/nch_ren/article/details/78814080 1.创建service实现类 package com.springstudy.refl ...

  8. HTML结构 语义化思想

    总体思想:用正确的标签做正确的事情! 根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析. 主要体现: 1. 对用户而言, ...

  9. 【JS档案揭秘】第一集 内存泄漏与垃圾回收

    程序的运行需要内存,对于一些需要持续运行很久的程序,尤其是服务器进程,如果不及时释放掉不再需要的内存,就会导致内存堆中的占用持续走高,最终可能导致程序崩溃. 不再需要使用的内存,却一直占用着空间,得不 ...

  10. windows上使用pip下载东西时报编码错误问题解决方法

    原因是pip安装python包会加载我的用户目录,我的用户目录恰好是中文的,ascii不能编码.解决办法是: python目录 Python27\Lib\site-packages 建一个文件site ...