自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 Ubuntu20.04安装和配置Samba实现Win11下共享文件夹

Samba是Linux/UNIX系统实现SMB/CIFS协议的开源软件,支持Windows与Linux间的文件共享和打印服务。本文介绍Samba安装配置流程和Win11错误(0x80070035/0x80070043)可能的处理方法。

2025-07-29 17:15:00 771

原创 基于LiteOS的OTA组件实现对终端固件的差分升级和全量升级

本文中使用上位机(基于QT6)模拟华为云平台,上位机和设备之间使用PCP协议进行串口通讯,基于LiteOS的OTA组件实现对终端固件的差分升级和全量升级,终端设备在本地升级测试完成后,将通讯方式更改后就可以快速对接华为云平台。

2025-07-24 18:16:00 695

原创 NB设备使用LwM2M协议以透传方式接入Onenet物模型

在物联网场景中,存在低配置且资源受限的设备,往往不适合直接使用JSON数据格式,而是采用二进制数据格式与平台进行通信。针对该应用场景,Onenet平台提供数据解析功能,支持通过编写数据解析脚本实现自定义数据格式(二进制)与标准物模型数据格式之间的转换。

2025-06-11 15:54:29 931

原创 基于Telink 8258配合Wireshark抓包测试SIG Mesh的IV Index Update过程

SIG Mesh网络要求network PDU的sequence number要一直累加,而sequence number是3byte表示。当使用很长一段时间后,sequence number接近最大值的时候,就需要考虑更新IV Index,否则sequence number就会归0,导致接收端认为是一个无效的message。从某种程度上,可以理解IV Index为sequence number的扩展位。

2025-05-20 17:54:01 944

原创 LWIP之六:IP协议

IP 协议自 1981 年正式发布 RFC 791 以来,历经 40 余年发展,已成为全球互联网的核心通信协议。IPv4 作为第四版协议,采用 32 位地址空间设计,支持约 43 亿个地址,尽管面临地址枯竭问题,但通过 NAT 技术和 CIDR 编址方案,仍支撑着超过 80% 的互联网流量。在 TCP/IP 协议栈中,IP 层位于网络层,向上为传输层(TCP/UDP)提供无连接的数据报服务,向下通过 ARP 协议与链路层交互。这种分层设计实现了网络硬件与上层应用的解耦,是互联网开放性的核心保障。

2025-03-12 23:29:17 992

原创 LWIP之四:LWIP内核超时事件处理

LWIP的超时处理机制主要用于管理和处理各种超时事件,包括周期性超时事件和单次超时事件。其核心思想是通过链表来管理超时事件,根据超时事件的超时时间进行排序,并且在合适的时机检查是否有超时事件超时,若超时则执行相应的回调函数。

2025-02-19 00:03:45 419

原创 LWIP之五:ARP协议

LWIP 维护一个 ARP 缓存表,用于存储 IP 地址与 MAC 地址的映射关系。使用结构体数组保存ARP缓存表,ARP缓存表大小由ARP_TABLE_SIZE定义,默认为10。这个缓存表的作用是减少频繁的 ARP 请求,提高网络通信效率。

2025-02-17 23:46:10 826

原创 LWIP之三:LWIP协议栈之数据包缓冲区(PBUF)

LwIP(Lightweight IP)是一个专为嵌入式系统设计的轻量级TCP/IP协议栈,其核心目标是在资源受限的环境中高效运行。PBUF(Packet Buffer)是LwIP中用于管理网络数据包的核心数据结构,负责存储、传递和处理网络数据。PBUF的设计充分考虑了内存效率和数据操作的性能,是LwIP高效运行的关键。

2025-02-17 23:20:15 1127

原创 LWIP之二:LWIP协议栈之内存管理

LWIP使用内存池和动态内存堆两种方式实现内存管理。LWIP 提供了丰富的配置选项,允许用户根据系统的资源和性能要求调整内存管理策略。

2025-01-21 18:06:28 917

原创 LWIP之一:使用STM32CubeMX搭建基于FreeRTOS的LWIP工程并分析协议栈初始化过程

使用STM32CubeMX搭建基于FreeRTOS的LWIP工程并分析协议栈初始化过程。

2025-01-05 14:32:38 2277

原创 使用C语言库函数格式化输入时格式类型与数据类型不匹配导致程序异常

格式字符串中的转换说明符必须与要读取的数据类型相匹配。例如,使用%d读取整数,%f读取浮点数,%s读取字符串等。如果类型不匹配,可能会导致数据读取错误或程序异常。

2024-12-18 23:35:01 741

原创 Freertos多核SMP模式下Lwip出现共享资源违规访问问题

在 FreeRTOS 的多核 SMP 模式下,多个内核可能会同时访问 LWIP 相关的资源,如网络缓冲区、协议控制块等。如果涉及到对共享资源的访问,为了防止冲突,可以使用互斥锁或信号量。

2024-12-12 17:30:59 658

原创 解决STM32使用J-Link可以擦除和读取但是无法烧录问题

使用J-Link烧录模组固件,出现可以读取和擦除,但是无法烧录的问题,使用STM32CubeProgrammer更改选项字节中的Read Out Protection解决。

2024-08-22 18:02:24 1736

原创 Ubuntu网络服务无法启动问题

解决Ubuntu20.04卡死重启后网络服务打不开,没有网络图标,无法通过sudo service network-manager restart命令重启网络服务问题。

2024-08-20 10:06:31 1358

原创 STM32裸机和RTOS中的线程安全问题及STM32cubeMX中的线程安全策略

线程安全问题并不只存在于基于RTOS的应用程序中;裸机应用程序中也存在这个问题。C库函数可以进行不那么明显的调用(隐式调用)导致类似的问题。例如,printf()可以调用malloc()。使用STM32cubeMX生成工程时,可选的线程安全策略有五种,如果选择Default,不直接制定,那么裸机应用会自动选择策略2,RTOS应用会自动选择策略4。

2024-08-15 22:53:18 1269 3

原创 Lwip使用RAW API进行TCP连接的tcp_err问题

在连接上发生致命错误时会调用tcp_err_fn定义的回调函数。调用的目的是通知应用程序当前连接发生了致命错误,之后tcp的pcb会被自动释放。

2024-08-05 15:19:00 816

原创 LiteOS使用不当导致软件定时器无响应问题

软件定时器被错误地删除或释放导致无响应。

2024-06-16 20:51:55 358

原创 Ubuntu能联网,只有IPV6地址,没有IPV4地址

Ubuntu突然只显示IPV6地址,没有IPV4地址,可以正常上网。Windows下FTP 客户端使用 FileZilla,主机的地址好像只能填IPV4地址。将IPV4地址由自动改为手动,使用静态IP,同时禁用IPV6。

2024-05-16 21:32:31 1957

原创 Qt6.6添加多媒体模块Multimedia报错问题

解决Qt6.6添加多媒体模块Multimedia报Unknown module(s) in QT: multimedia错误问题,添加其他模块同理。

2024-04-01 22:52:07 3041 2

原创 泰凌微(Telink)8258配置串口收发自定义数据

泰凌微(Telink)8258配置串口收发自定义数据,通过缓冲队列进行收发数据,包含全部实现过程。

2023-12-07 18:27:31 2320 4

原创 Eclipse切换中文环境

Eclipse切换中文环境,下载时要选择跟自己Eclipse版本一致的包,比如我的Eclipse启动界面如下,我就要找Helios的包。

2023-11-17 16:45:15 1594

原创 蓝牙Mesh专有DFU

专有的mesh DFU协议优化为尽可能有效地更新网络中的所有设备。尽管它与nRF5 SDK Bootloader和DFU模块共享一些工具和代码模块,但在协议和操作方面存在一些差异,以便尽可能轻松地更新大量设备。

2023-09-11 16:09:14 880

原创 基于nRF52840 Dongle配合Wireshark对Mesh网络抓包并解析(Nordic)

基于nRF52840 Dongle配合Wireshark对Mesh网络抓包,以通用开关模型为例,通过添加AppKey和NetKey对Mesh消息解析。

2023-09-01 15:51:44 2432 4

原创 蓝牙Mesh设备配网过程及抓包分析

蓝牙Mesh设备配网过程主要分为五个阶段:①信标阶段;②邀请阶段;③交换公钥阶段;④身份认证阶段;⑤分发配网数据阶段。

2023-08-21 15:09:10 3476 18

原创 解决SEGGER Embedded Studio无法显示Nordic MCU外设寄存器问题

解决SEGGER Embedded Studio无法显示Nordic MCU外设寄存器问题。

2023-08-20 18:12:14 819

原创 STM32使用QUADSPI读写外部Nor Flash(以W25Q64为例)

STM32使用QUADSPI读写外部Nor Flash(以W25Q64为例),通过QUADSPI三种模式(间接模式,轮询模式和内存映射模式)的使用来操作W25Q64。

2023-06-13 18:35:35 4247

原创 基于Keil生成外部Nor Flash下载算法,并使用J-Flash直接烧录(以W25Q64为例)

基于Keil生成外部Nor Flash下载算法,并使用J-Flash直接烧录(以W25Q64为例),包括参考文档介绍,下载算法实现过程,避免踩坑。

2023-05-10 23:55:39 7958 7

原创 分别使用软件和硬件SPI驱动1.28寸LCD屏幕刷新时间对比(驱动IC为GC9A01)

分别使用软件和硬件SPI驱动1.28寸LCD屏幕刷新时间对比(驱动IC为GC9A01)

2023-04-24 18:40:59 3789 3

原创 CmBacktrace库在工程中的添加和应用

CmBacktrace库在工程中的添加和应用,包括断言和故障的使用,全局变量的打印,故障函数的修改,串口和软件看门狗的处理等。

2023-04-19 22:02:26 1475 1

原创 使用RT-Thread Studio搭配STM32CubeMX新建RT-Thread项目

使用RT-Thread Studio搭配STM32CubeMX新建RT-Thread项目避坑。

2023-04-11 11:36:29 2851 2

原创 STM32定时器的编码器接口模式

STM32定时器的编码器接口模式,计数器计数方向及编码器旋转方向判断。

2023-03-07 13:16:39 2960

原创 基于STM32L431+Liteos的串口空闲中断加DMA循环接收

串口空闲中断加DMA循环接收。

2023-02-17 16:04:34 1620

原创 蓝牙Mesh学习笔记(一)

Mesh网络分层及概述。

2023-02-13 16:29:39 2773

原创 使用Nordic的nrf52832控制指定从机(一主多从)

1.主机能连接多个从机(主机作为控制器,从机作为节点)。2.主机能使用不同的按键控制不同的节点(按键和节点一一对应,与从机的连接顺序无关)。3.主机扫描过滤器使用设备全称,记录和从机的连接句柄,并进行控制。

2023-01-05 11:01:49 3173 2

原创 使用Nordic的nrf52832进行主从机连接抓包分析

对nrf52832主从机连接过程中产生的数据包进行抓包分析,包括对空中数据包格式分析和主从机交互过程中SN和NESN变化分析。

2022-12-28 16:59:46 2230

原创 Bluetooth LE相关学习笔记

Bluetooth LE相关学习笔记。

2022-12-27 17:29:20 1273

原创 使用Nordic的nrf52840实现蓝牙DFU过程

使用Nordic的nrf52840实现蓝牙DFU过程,包括软件的安装、公私密钥的生成、DFU包制作、HEX文件编辑和升级演示等。

2022-12-22 14:10:17 4323 5

原创 使用Nordic的nRF52840 Dongle配合Wireshark对蓝牙设备抓包(BLE)

使用Nordic的nRF52840 Dongle配合Wireshark对蓝牙设备抓包(BLE)。

2022-12-15 14:10:09 8937 2

原创 蓝牙开发板青风NRF52840上手第一步避坑

蓝牙开发板青风NRF52840下载Nordic官方例程时出现的错误及解决办法。

2022-10-26 23:37:11 3214

原创 (二)基于STM32L431的Liteos低功耗Runstop模式的实现优化(退出stop2模式后任务相关Tick补偿优化)

基于STM32L431的Liteos低功耗Runstop模式的实现优化(退出stop2模式后任务相关Tick补偿优化),描述了Liteos的任务延时和调度相关的原理。

2022-10-21 14:50:34 1509

【物联网通信】LoRaWAN网络协议规范解析:低功耗广域网设备的接入与管理机制设计

内容概要:本文档详细描述了LoRaWAN网络协议的规范,该协议专为电池供电的终端设备设计,适用于低功耗广域网(LPWAN)。LoRaWAN网络采用星型拓扑结构,由终端设备、网关和网络服务器组成。终端设备通过单跳LoRa或FSK通信与一个或多个网关通信,而网关则通过标准IP连接到网络服务器。文档涵盖了LoRaWAN的基本概念、物理层消息格式、MAC层消息格式、MAC命令、终端设备激活方式、不同类别的终端设备(Class A、B、C)及其特性、重传机制、信标同步机制等内容。此外,还介绍了终端设备的激活流程、加密和解密机制、帧完整性检查(MIC)计算方法等关键技术细节。 适用人群:物联网开发者、网络工程师、硬件工程师、安全研究人员以及其他对LoRaWAN技术感兴趣的读者。 使用场景及目标:①了解LoRaWAN网络架构和工作原理;②掌握终端设备与网关之间的通信机制;③学习终端设备的激活和安全机制;④熟悉MAC命令和帧格式的具体定义;⑤理解不同类别终端设备的特点和应用场景。 其他说明:本文档由LoRa联盟发布,版本为1.0.2,包含了对LoRaWAN协议的全面介绍和技术细节。文档中还包括了术语表、参考文献以及修订历史,确保读者能够全面理解并应用LoRaWAN协议。

2025-07-24

NB设备使用LwM2M协议以透传方式接入Onenet物模型

资源包括完整物模型和数据解析脚本,可以直接创建产品后导入测试。

2025-06-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除