只想.静静
码龄13年
求更新 关注
提问 私信
  • 博客:183,704
    社区:103
    183,807
    总访问量
  • 26
    原创
  • 143
    粉丝
  • 66
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2013-08-08

个人简介:聊一聊物联网那些事

博客简介:

只想.静静的博客

查看详细资料
个人成就
  • 获得183次点赞
  • 内容获得18次评论
  • 获得875次收藏
  • 代码片获得503次分享
  • 博客总排名1,537,602名
创作历程
  • 6篇
    2022年
  • 20篇
    2021年
成就勋章
TA的专栏
  • RT-Thread
    6篇
  • C语言
  • LoRaWAN
    6篇
  • LoRa技术
    9篇
  • Zephyr
    5篇

TA关注的专栏 2

TA关注的收藏夹 0

TA关注的社区 3

TA参与的活动 0

创作活动更多

【多重好礼】鸿蒙心迹 · 开发录原创征稿活动

鸿蒙开发者的实战经验,值得被记录。从踩坑排查到项目复盘,从工具脚本到学习笔记,每一段真实的开发经历,都是社区最宝贵的技术资产。「鸿蒙心迹 · 开发录」正式启航,不限主题、随时可写,只要是鸿蒙开发相关的真实经验都欢迎投稿。 本活动为 [HarmonyOS 7.0 创新内容共创季](https://builderx.csdn.net/activity-site/harmonyos/activity2026)双轨征文之一,与[「共创季 · 稿事节」](https://harmonyosdev.csdn.net/6a97f0de2b83d06f0ecadec5.html)深度征文互补——「稿事节」写深度技术长文,「开发录」写日常开发实战笔记。 「开发录」每月一期,12月截止,本季共三期,投稿即有机会获得京东卡、CSDN博客流量券、亿万Token、社区定制周边好礼!

125人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Zephyr-驱动设备模型

目录1 介绍2 数据结构3 系统框架3.1 基本代码介绍4 注册设备4.1 DEVICE_DEFINE4.2 DEVICE_DT_DEFINE4.3 DEVICE_DECLARE5 设备初始化5.1 代码实现5.2 优先级6 系统初始化7如何获取设备7.1 device_get_binding7.2 DEVICE_DT_GET()8 GPIO子系统分析8.1 子系统对外API8.2 struct gpio_driver_api8..
原创
博文更新于 2022.02.17 ·
4955 阅读 ·
10 点赞 ·
0 评论 ·
35 收藏

Zephyr-系统配置(Kconfig)

1 摘要Zephyr 内核和子系统可以在构建时进行配置,以适应特定的应用和平台需求。配置通过 Kconfig 处理,这是 Linux 内核使用的相同配置系统。目标是支持配置,而无需更改任何源代码。2 交互式配置支持两种交互式配置方式:menuconfig和guiconfig。 和linux内核配置一样,最终配置会写入.config文件,保持至zephyr/bulid路径下。PS:当然,用户也可以直接通过zephyr/.config来修改配置symbol,这样会存在风险。上...
原创
博文更新于 2022.02.15 ·
3417 阅读 ·
4 点赞 ·
0 评论 ·
14 收藏

RT-Thread分析-日志系统-rt_kprintf分析

目录1 前言2 rt_kprintf()3 配置选项4 console设备4.1 设备声明4.2 设备创建4.3 获取_console_device5 分析rt_kprintf()函数6 rt_kprintf重定向1 前言内核除了提供接口rt_kprintf()用于输出打印信息,还支持一整套完善的日志组件ulog。两者在实现上有重叠部分,都使用到console模块;其余功能都相互独立,只有深究其实现机制,才能更好的去使用或者移植该系统。2 rt_kprin
原创
博文更新于 2022.02.11 ·
3032 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

RT-Thread分析-对象容器实现与作用

目录1 前言2 相关数据结构2.1 对象1)类型2)数据结构2.3 容器1)数据结构2)容器定义 _object_container[]2.3 对象容器链接图3 获取对象容器 rt_object_get_information()4对象初始化 rt_object_init()5对象删除 rt_object_delete()6 查找对象rt_object_find()7 总结1 前言在内核中,所有数据结构都视作一个对象,包括:...
原创
博文更新于 2022.02.10 ·
1811 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

RT-Thread分析-动态内存堆管理-slab算法

目录1 前言2 slab管理算法3 页分配器3.1 rt_page_head数据头3.2 rt_page_init()3.3rt_page_alloc()3.4rt_page_free()3.5 申请释放流程图4 zone管理3.1 struct slab_zone3.2 memusage/btokup()3.3 zone_array[NZONES]3.4 zone_free & zone_free_cnt3.5rt_system_hea...
原创
博文更新于 2022.01.27 ·
3420 阅读 ·
9 点赞 ·
0 评论 ·
23 收藏

RT-Thread分析-动态内存堆管理-小内存算法

目录1 前言2 动态管理3 小内存管理算法4.1 内存块数据头4.2 统一的API接口4.3rt_system_heap_init()4.4 rt_malloc()4.5 rt_free()1 前言内存管理模块管理系统的内存资源,它是操作系统的核心模块之一。主要包括内存的初始化、分配以及释放。RT-Thread 的内存管理模块的算法总体上可分为两类:动态内存堆管理和静态内存池管理。其中动态内存堆管理又根据具体设备内存大小划分为三种...
原创
博文更新于 2022.01.17 ·
3529 阅读 ·
5 点赞 ·
0 评论 ·
24 收藏

RT-Thread分析-静态内存池管理

目录1 前言2 静态内存池管理3.1 内存池控制块3.2 接口函数分析1)rt_mp_init()2)rt_mp_create()3)rt_mp_alloc()4)rt_mp_free()1 前言内存管理模块管理系统的内存资源,它是操作系统的核心模块之一。主要包括内存的初始化、分配以及释放。RT-Thread 的内存管理模块的算法总体上可分为两类:动态内存堆管理和静态内存池管理。其中动态内存堆管理又根据具体设备内存大小划分为三种情况:针对小内存块的分配管理(小
原创
博文更新于 2022.01.17 ·
1724 阅读 ·
3 点赞 ·
0 评论 ·
11 收藏

RT-Thread分析-时钟节拍和定时器管理

1 前言2 时钟节拍时钟节拍用于系统处理所有和时间有关的事件,如线程的延时、线程的时间片轮转调度以及定时器超时等,可以理解为内核的心跳。2.1 RT_TICK_PER_SECOND时钟节拍都由一个固定的硬件定时器来实现,该定时器设定固定的超时时间,一般为1~100ms。时钟节拍率越快,系统的额外开销就越大,但系统的响应速度会更快。可 以 根 据 RT_TICK_PER_SECOND 的 定 义 来 调 整, 等 于 1/ RT_TI...
原创
博文更新于 2022.01.11 ·
3967 阅读 ·
5 点赞 ·
0 评论 ·
15 收藏

LoRaWAN协议-MAC帧格式详解

目录1 前言2 帧格式整体框图3 MAC帧格式组成3.1 分类3.2 组成4 MHDR(MAC Header)4.1 帧类型FType4.2 协议号Major5 MIC消息校验码5.1 校验算法6 MACPayload6.1 FHDR(Frame Header)1)DevAddr2)FCtrl3)FCnt4)FOpts6.2 FPort(Frame Port)6.3 FRMPayload1)加密1 前言LoR...
原创
博文更新于 2021.12.30 ·
11744 阅读 ·
14 点赞 ·
0 评论 ·
41 收藏

LoRaWAN协议-自适应速率(ADR)技术

目录1 前言2 网络容量优化3 使用限制4 如何实施ADR4.1 通知支持ADR4.2 ADR调整4.3 ADR回退5 ADR命令5.1 LinkADRReq5.2 LinkADRAns1 前言我们知道LoRa在不同的调制参数下,其传输速率和传输距离是有很大的差别。可以看下表中的数据:SF越大,同样发射功率下,链路预算就越高,意味着可传输的距离就越远 但同时,SF越大,传输速率就越低,TOA需要的时间就越大,从而功耗更高,信道占用更...
原创
博文更新于 2021.12.30 ·
5484 阅读 ·
3 点赞 ·
0 评论 ·
20 收藏

LoRaWAN协议-设备入网流程详解(OTAA和ABP)

目录1 前言2 相关数据2.1 DevAddr2.2 NwkSKey2.3 AppSKey3 OTAA3.1 入网准备1)DevEUI2)AppEUI(JoinEUI)3)AppKey3.2 Join-Request3.3 Join-Accept1) 什么是DR2) 命令解析3)加密3.4 NwkSKey/AppSKey计算4 ABP1 前言在LoRaWAN协议中,设备都需要入网激活。入网成功后,终端设备会被分配一...
原创
博文更新于 2021.12.29 ·
14959 阅读 ·
13 点赞 ·
0 评论 ·
50 收藏

什么是LoRaWAN

1 技术框图如图所示,LoRa是物理(PHY)层,即用于创建远程通信链路的无线调制。LoRaWAN是一种开放式网络协议,可提供由LoRa联盟标准化和维护的安全双向通信,移动性和本地化服务。2 LoRaWAN网络下图是端到端的典型LoRaWAN网络实现,主要包括4个部分:终端设备 LoRaWAN网关 网络服务器 应用服务器2.1 终端设备支持LoRaWAN的终端设备是使用LoRa调制通过RF连接到LoRaWAN网络的传感器或设备。 在大多数应用中,终端设备是.
原创
博文更新于 2021.12.29 ·
23625 阅读 ·
21 点赞 ·
0 评论 ·
108 收藏

LoRaWAN协议-物理层(PHY)详解

目录1 前言2 物理层包格式2.1 LoRa调制2.2 FSK调制2.3 LR-FHSS3 Uplink4 Downlink1 前言如图所示,LoRaWAN是一种开放式网络协议,可提供由LoRa联盟标准化和维护的安全双向通信,移动性和本地化服务。该协议做为MAC层,属于数据链路层。其物理层(PHY)实现与其他设备的通信,目前物理层支持LoRa,FSK,LR-FHSS调制。下图的PHY只标准了LoRa调制,是因为LoRaWAN实际应用中基...
原创
博文更新于 2021.12.29 ·
8740 阅读 ·
2 点赞 ·
0 评论 ·
23 收藏

LoRaWAN协议-Class A类设备分析

目录1 前言2 接收窗口2.1 Receive_Delay1/Receive_Delay22.2 JOIN_ACCEPT_DELAY1/JOIN_ACCEPT_DELAY22.3 RX1DR/RX2DR3 功耗情况4 未确认和已确认消息5 下行链路1 前言LoRaWAN 协议依赖于 Aloha 型网络。在这种类型的网络中,终端设备可以任意进行传输。A 类设备的关键特性是,通信仅由终端设备发起。来自网络服务器的下行链路消息需要排队,...
原创
博文更新于 2021.12.29 ·
5794 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

SX126x-CAD原理以及使用方式

目录1 前言2 原理分析2.1 主要操作2.2 功耗计算3 命令设置3.1 配置CAD3.2 启动CAD4 Sleep模式下启动CAD5 CAD最佳配置分析1 前言无线网络应用中,通常要求设备尽可能休眠,最大限度降低功耗,但又希望节点能尽可能及时地收发无线数据。传统的使用接收信号强度RSSI值并不适用于LoRa调制技术,由于扩频调制的原因,LoRa信号是允许低于环境底噪的,所以RSSI判定的方式很难确定信道是否被占用。为了有效检...
原创
博文更新于 2021.12.21 ·
6731 阅读 ·
5 点赞 ·
1 评论 ·
35 收藏

SX126x-如何使用Data Buffer

详细介绍了SX126x内部Data Buffer的工作原理,用户如何使用命令来操作该数据缓存,使用过程中应该注意哪些细节。
原创
博文更新于 2021.12.13 ·
1194 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

LoRa技术-LoRa调制解调技术

目录1 说明2 调制参数2.1 扩频因子SF2.2 编码速率CR2.3 调制带宽BW3 调制链路3.1 纠错编码机3.2 交织器3.3 扩频序列产生器3.4 坐标转换器和Delta-sigma调制输出4 解调链路1 说明本文主要介绍LoRa扩频技术细节,详细的描述了LoRa信号从数据流变为LoRa扩频信号,再从射频信号通过解调变为数据的全过程。内容主要来自《LoRa物联网通信技术》一书,该书是由现任Semtech LoRa中国区应用技术团队...
原创
博文更新于 2021.12.13 ·
20159 阅读 ·
32 点赞 ·
6 评论 ·
138 收藏

Zephyr-环境搭建

目录1 前言2 安装主机依赖3 获取源码4 安装工具链5 编译一个Demo1 前言Zephyr支持Ubuntu,macOS,Windows环境下开发,本文介绍基于Ubuntu的环境搭建,包括: Ubuntu开发环境搭建,主要是工具和相关依赖的安装 获取工程源码 编辑,烧录已经运行Demo 2 安装主机依赖官方指导建议使用Ubuntu version 18.04 LTS 及以上1)下载并执行Kitware archive script,将Kitwar
原创
博文更新于 2021.12.13 ·
3307 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

LoRa技术-什么是LoRa

1 概述LoRa是创建长距离通信连接的物理层无线调制技术,属于CCS(线性调制扩频技术)的一种,工作频段范围在Sub-1GHz以下。相较于传统的FSK等技术,LoRa在保持低功耗的同时极大地增加了通讯距离,且具备抗干扰性强等特点。另外,LoRa调制扩散因子本质上是正交的。这意味着使用不同的传播因子调制并同时在同一频率信道上传输的信号不会相互干扰。相反,不同传播因子的信号只是相互之间的噪声。2 技术特点LoRa技术是一种扩频调制技术,也称为Chirp调制,该技术是S...
原创
博文更新于 2021.12.13 ·
15768 阅读 ·
7 点赞 ·
0 评论 ·
114 收藏

SX126x-数字接口SPI和控制功能

目录1 前言2 Reset3 SPI接口3.1 属性要求3.2 时序参数要求1)离开Sleep模式时的时序4 BUSY引脚4.1 Tsw4.2 TswMode5 DIO5.1 DIO15.2 DIO25.3 DIO36 IRQ7 各模式下引脚状态1 前言本文主要介绍SX126x系列芯片的数字接口和控制引脚。主要包括如下几个部分:Reset引脚 SPI接口 Busy引脚 IRQ DIO引脚2 Reset...
原创
博文更新于 2021.12.13 ·
5443 阅读 ·
1 点赞 ·
1 评论 ·
15 收藏
加载更多