先说两句

抱歉,由于工作原因和个人原因,中间停更了这么久。接下来,本人会继续往下更,内容包括但不仅限于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. .NET Core CSharp初级篇 1-5 接口、枚举、抽象

    .NET Core CSharp初级篇 1-5 本节内容类的接口.枚举.抽象 简介 问题 如果你需要表示星期或者是某些状态,使用字符串或者数字是否不直观? 你是否发现,无论何种电脑,它的USB口的设计 ...

  2. 【git】15分钟学会使用Git和远程代码库

    Git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...

  3. LeetCode: 3 无重复字符的最长子串 (Java)

    3. 无重复字符的最长子串 https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 最初始的解 ...

  4. 动态规划_Cow Bowling_POJ-3176

    The cows don't use actual bowling balls when they go bowling. They each take a number (in the range ...

  5. 努力做一个优秀的programmer [ C# 影院售票系统]

    Cinema.cs类 [Serializable] // 电影院类 public class Cinema { public Cinema() { //二进制 SoldTickets = new Li ...

  6. ansible-service

    #service#查询服务状态 ansible server01 -m service -a "name=httpd state=started" #停止服务 ansible se ...

  7. Java的编译原理

    概述 java语言的"编译期"分为前端编译和后端编译两个阶段.前端编译是指把*.java文件转变成*.class文件的过程; 后端编译(JIT, Just In Time Comp ...

  8. Windows 纠错

    4:在Windows应用程序中,当需要将窗体显示为模式对话框时,需要调用窗体的()方法.(选择一项)A:Activate()B:ShowDialog()C:Show()D:Close()正确答案是 B ...

  9. elasticsearch启动错误整理

    一.elasticsearch错误复现 (一).环境 配置环境 OS:CentOS 7.4 64bit elasticsearch版本: - ip:10.18.43.170 java版本:java - ...

  10. 利用jQuery中的serialize方法大量获取页面中表单的数据,发送的服务器

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...