LoRaWAN调试踩坑心得(二)
先说两句
抱歉,由于工作原因和个人原因,中间停更了这么久。接下来,本人会继续往下更,内容包括但不仅限于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调试踩坑心得(二)的更多相关文章
- LoRaWAN调试踩坑心得(一)
先说两句 在调试和移植的过程中 我们经常想用节点去抓上行包 或者去抓下行包 但在抓取的过程中发现,上行包抓取不到到,或是下行包抓取不到,或者是两个都抓取不到,觉得非常的诡异.明明接收频点.BW和SF都 ...
- JavaScript 踩坑心得— 为了高速(下)
一.前言 本文的上一篇 JavaScript 踩坑心得- 为了高速(上) 主要和大家分享的是 JavaScript 使用过程中的基本原则以及编写过程中的心得分享,本文主要和大家聊聊在各个使用场景下的 ...
- JavaScript 踩坑心得— 为了高速(上)
一.前言 很多情况下,产品的设计与开发人员一直想打造一套高品质的解决方案,从而快速.平稳地适应产品迭代.速度是衡量产品适应性的真正且唯一的标准,而且,这并不是笔者的一家之言. 「速度是衡量适应能力的真 ...
- Android NDK中的C++调试踩坑标记
RT, Android NDK中的C++调试, GDB调试比较麻烦,在ADT Eclipse中: 1.配置好NDK给工程加上Native Support 2.编译中加上NDK_DEBUG=1 3.然后 ...
- React-Native 真机调试踩坑指南
继上一篇基础安装踩坑继续我们的踩坑之旅,备注一下以下仅针对Mac环境-- 安卓 1.adb 找不到命令? Adb的全称为Android Debug Bridge,就是起到调试桥的作用,真机调试安卓必备 ...
- ios浏览器调试踩坑(1)----mescroll.js和vue-scroller
主要记录在ios浏览器出现触摸无限加载的情况 使用vue-scroller和mescroll.js/mescroll.vue先踩ios浏览器默认滑动会影响mescroll的方法调用. 首先给公共js加 ...
- Hexo搭建静态博客踩坑日记(二)
前言 Hexo搭建静态博客踩坑日记(一), 我们说到利用Hexo快速搭建静态博客. 这节我们就来说一下主题的问题与主题的基本修改操作. 起步 chrome github hexo git node.j ...
- 常见踩坑案例(二)-Request method 'POST' not supported
一 前言 最近涉及到与前后端的数据对接,按道理来说没一点压力结果被一前端童鞋带坑里去了(不过也是很久没写过这种前后端分离进行联调的事情了,如果是一个人全套弄的话就不会出现下面问题). 二 Reques ...
- 【React踩坑记二】react项目实现JS路由跳转
这里使用的是4.31版本的react-router-dom "react-router-dom": "^4.3.1", 直接使用以下代码即可实现路由跳转 thi ...
随机推荐
- HDU - 1232 畅通工程【并查集】
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- js方法总结,不断更新...
1. 返回<li> 元素父节点: document.getElementById("item1").parentNode; 2.
- 抽象数据类型与C++
类是一种新的数据类型,类似于数据结构,只是它拥有数据结构所没有的部分——“成员函数”,正是因为它所拥有的成员函数这一特性,使得它能隐藏“数据结构”(类)中的数据,不被用户所知道.通过类中的成员函数,使 ...
- Elasticsearch 7.x Nested 嵌套类型查询 | ES 干货
一.什么是 ES Nested 嵌套 Elasticsearch 有很多数据类型,大致如下: 基本数据类型: string 类型.ES 7.x 中,string 类型会升级为:text 和 keywo ...
- 安卓BindService笔记
1 前言 最近学习到了安卓的service,记录一下自己对BindService的理解,学习教程以及部分代码来自菜鸟教程的android教程:菜鸟教程安卓端BindService链接 2 正文 先贴一 ...
- sql nvarchar类型和varchar类型存储中文字符长度
今天遇到了,随手记录一下. sql server 存储数据里面 NVARCHAR 记录中文的时候是 一个中文对应一个字符串长度,记录英文也是一个字母一个长度 标点符号也是一样. ...
- Flutter学习笔记(11)--文本组件、图标及按钮组件
如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 文本组件 文本组件(text)负责显示文本和定义显示样式,下表为text常见属性 Text组件属性及描述 属性名 类型 默认 ...
- case和decode的用法(行转列)
创建了一张成绩表,如下图所示: 在oracle中,这两个函数我们都可以使用,代码及结果如下: decode用法: select Name,decode(Subject,'语文',1,'数学',2,'英 ...
- win10下nodejs的安装及配置
这里主要引用两篇文章,写的非常详细,也能解决你可能出现的问题 nodejs安装及配置 如何删除之前nodejs设置的 npm config set prefix .....
- maven-assembly-plugin 进行打包
maven-assembly-plugin使用描述(拷自 maven-assembly-plugin 主页) The Assembly Plugin for Maven is primarily in ...