小黑子来咯
码龄8年
关注
提问 私信
  • 博客:95,525
    95,525
    总访问量
  • 31
    原创
  • 140,404
    排名
  • 133
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2017-05-15
博客简介:

起风的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    330
    当月
    4
个人成就
  • 获得177次点赞
  • 内容获得20次评论
  • 获得463次收藏
  • 代码片获得218次分享
创作历程
  • 10篇
    2024年
  • 2篇
    2023年
  • 2篇
    2022年
  • 17篇
    2021年
  • 1篇
    2020年
成就勋章
TA的专栏
  • BLE
    5篇
  • TCP/IP
    6篇
  • 嵌入式
    8篇
  • C语言
    2篇
  • FreeRTOS
    1篇
  • espressif
    9篇
兴趣领域 设置
  • 硬件开发
    arm开发
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

TCP/IP协议—DNS

它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,主要用于将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。多播DNS(Multicast DNS,mDNS),主要实现了在没有传统DNS服务器的情况下使局域网内的主机实现相互发现和通信,使用的端口为5353,遵从dns协议,使用现有的DNS信息结构、语法和资源记录类型,并且没有指定新的操作代码或响应代码。DNS报文一共分成3部分,分别是DNS首部(12个字节)、DNS问题、DNS资源记录(只包含在应答报文中)
原创
发布博客 2024.04.22 ·
1430 阅读 ·
23 点赞 ·
0 评论 ·
19 收藏

TCP/IP协议—MQTT

这些特点使得它对很多场景来说都是很好的选择,包括受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT)。固定头的第二字节用来保存变长头部和消息体的总大小的,但不是直接保存的。这一字节是可以扩展,其保存机制,前7位用于保存长度,后一部用做标识。可变报头的报文标识符(Packet Identifier)字段存在于在多个类型的报文里。由于可变报头的内容根据报文类型的不同而不同,篇幅过长,具体可以参考👆MQTT协议源文档。有效载荷是实现某种报文类型的核心,但是MQTT只有几种报文需要有效载荷。
原创
发布博客 2024.04.18 ·
2893 阅读 ·
13 点赞 ·
1 评论 ·
28 收藏

TCP/IP协议—HTTP

超文本传输协议(Hypertext Transfer Protocol,HTTP)是一种请求-响应的协议,用户可以通过HTTP向服务器上传、下载数据。HTTP基于TCP协议,是web应用中最主要的应用层协议,比如浏览器上网就是使用HTTP协议。超文本安全传输协议(Hypertext Transfer Protocol Secure,HTTPS)是加入安全加密的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTP应答报文与HTTP请求报文格式类似,区别在与请求行。
原创
发布博客 2024.04.18 ·
1699 阅读 ·
12 点赞 ·
1 评论 ·
28 收藏

TCP/IP协议—TCP

以太网为例,缺省MTU=1500 Byte,这是以太网接口对IP层的约束,如果IP层有<=1500 Byte需要发送,只需要一个IP包就可以完成发送任务,如果IP层有>=1500 Byte数据需要发送,需要分片才能完成发送,这些分片有一个共同点,即IP Header ID相同。:keepalive timer,在连接长时间空闲时启动,在空闲2小时后会超时并且发送探测报文,判断对端是否存在,超时后会重启并取值75秒,如果超过8次后仍未得到确认,则连接被终止。报文中的seq和ack在前面数据交互的基础上+1。
原创
发布博客 2024.04.15 ·
1126 阅读 ·
17 点赞 ·
0 评论 ·
23 收藏

TCP/IP协议—UDP

用户数据传输协议 (UDP,User Datagram Protocol) 是一种无连接的协议,提供了简单的数据传输服务,不保证数据的顺序以及完整性。应用层很多通信协议都基于UDP进行传输,比如DNS、CoAP等。UDP伪头部不会进行传输,只是用于校验。UDP头部报文除去数据长度,一共有8个字节。学习笔记,有问题欢迎指出。
原创
发布博客 2024.04.12 ·
895 阅读 ·
4 点赞 ·
1 评论 ·
3 收藏

TCP/IP协议

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网络协议),对互联网中各部分进行通信的标准和方法进行了规定,是目前网络通信中所使用最基本的协议。TCP/IP协议不是单指TCP协议和IP协议,而是所有的网络通讯协议的集合,比如HTTP、MQTT等都包含在其中。TCP传输控制协议,是一种面向连接的协议,提供了可靠的数据传输服务,通过序列号、确认机制、重传等机制实现数据的顺序和完整性。负责比特流在介质上的传输,规范了物理传输接口。
原创
发布博客 2024.04.12 ·
1445 阅读 ·
22 点赞 ·
0 评论 ·
19 收藏

BLE协议—HID

HID(Human Interface Device,人机接口设备)是USB设备中常用的设备类型,是直接与人交互的USB设备,比如键盘、鼠标、游戏手柄等。为了无线与有线设备相同类型设备的兼容,BLE HID设备与USB HID设备使用的都是同一种规范。HOGP(HID Over GATT Profile)是在BLE GATT协议的基础上实现的HID协议。学习笔记,有问题欢迎指出。
原创
发布博客 2024.04.05 ·
1108 阅读 ·
3 点赞 ·
0 评论 ·
14 收藏

BLE协议—Beacon信标广播

基于BLE广播的功能的协议。蓝牙Beacon并不是蓝牙技术联盟所指定的标准,因此也被称为“虚拟标准”,是由大型供货商或企业集团为首,针对广泛的Beacon应用所正式提出的蓝牙应用规范,比如苹果公司的iBeacon协议,谷歌公司的Eddystone协议。:这两个值用于识别一组iBeacons中的特定的Beacon,以进一步细分UUID下的区域或使用场景。:用于广告推送,比如商场内,当用户走进商场时打开商城APP,即可看到实时的商城活动等。:应用特定的唯一标识符,用于区分不同的iBeacon部署。
原创
发布博客 2024.04.05 ·
1843 阅读 ·
5 点赞 ·
0 评论 ·
10 收藏

BLE协议—开源蓝牙协议栈

学习笔记,有问题欢迎指出。
原创
发布博客 2024.04.05 ·
432 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

BLE协议—广播和扫描

广播和扫描在无线通信中是非常重要的一个技术点。在BLE中,扫描和广播是通信的基础,用户可以直接用扫描和广播进行数据的传输(数据量不大,功耗要求较高的情况下),也可以在广播和扫描的基础上进行连接后点对点通信。
原创
发布博客 2024.01.02 ·
2976 阅读 ·
19 点赞 ·
0 评论 ·
32 收藏

BLE协议—协议栈基础

BLE设备每次广播时,会在3个广播信道(37/38/39,对应的中心频率是2402MHz,2426MHz,2480MHz)上发送相同的报文,这些报文被称为一个广播事件。属性协议层(Attribute Protocol,ATT):定义了访问对端设备上数据的一组规则,是GATT规范的基础,也是低功耗蓝牙的基石。一个广播数据包最长为37个字节 , 前6个字节为设备地址,后面是数据区,数据区最大31个字节,又分为若干个AD Sturcture,扩展广播包的最大长度为255字节。数据区没用完的话,系统会在后面补0。
原创
发布博客 2023.12.27 ·
2088 阅读 ·
26 点赞 ·
1 评论 ·
31 收藏

lwip网络协议基础介绍

lwip协议栈支持多种不同的网络接口,比如WiFi、以太网、4G等等,由于网卡是直接和硬件平台打交道,硬件不同则处理也是不同的,所以由用户提供最底层的接口函数,lwip提供统一的接口,但是底层的实现需要用户自己去完成,比如以太网的MAC接口,WiFi的RF接口等。lwip中的每一个网卡都由一个netif结构体表示,netif声明多个成员变量,这些变量是对网卡进行抽象,可以有多个网卡,多个网卡的存储为单向链表形式。TCP/IP协议栈的实现本质上就是对网络数据包进行封装,解析。源码下载可以点击文章底部链接。
原创
发布博客 2023.08.29 ·
1815 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

哈希表uthash

C语言哈希表库uthash的使用
原创
发布博客 2022.12.23 ·
449 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Matter协议

Matter协议简介Matter 是由 CSA 连接标准联盟 (Connectivity Standards Alliance) 发起,多家行业领先公司联合推出的智能家居互联协议。于现有的IOT物联网通信相比,Matter最大的特点是拥有跨平台能力以及本地通信能力跨平台能力在 Matter 推出之前,每家设备厂商生产的智能家居设备只能通过自己的 App 控制,无法和其他生态设备互联。但通过 Matter 协议,所有支持 Matter 的 App 和硬件设备均可轻松无缝互联,协同工作。目前,华为、亚
原创
发布博客 2022.02.28 ·
11874 阅读 ·
0 点赞 ·
0 评论 ·
13 收藏

ESP32开发-HTTP POST请求发送图片

HTTP POST请求发送图片ESP32中有HTTP相关的请求demo,但是demo中只是简单的HTTP header加上body。如果服务器对POST请求有要求,比如数据以key-value的形式传输,那么服务器会无法正常处理请求,从而返回错误码500。发送POST请求基于esp_http_client中的post请求demo进行修改,其中传输的图片通过cmake转化成二进制文件,具体可以参考esp-idf中的esp_http_client demo。void http_send_img(){
原创
发布博客 2021.09.10 ·
5929 阅读 ·
6 点赞 ·
3 评论 ·
25 收藏

单链表反转[无头结点]

单链表反转[无头结点]迭代反转链表递归反转链表头插法反转链表就地逆置法反转链表迭代反转链表通过定义三个指针,从头到尾依次改变链表的指向。link *iteration_reverse(link *head){ if(head == NULL || head->next == NULL) //链表为空或者只有头结点 return head; link *beg = NULL; //指向当前结点的上一个结点 link *mid = head; //指向当前结点
原创
发布博客 2021.08.30 ·
808 阅读 ·
0 点赞 ·
0 评论 ·
11 收藏

FreeRTOS的启动-基于STM32

FreeRTOS的启动流程1、Reset_Handler2、__main3、main()4、创建任务5、启动任务1、Reset_Handler系统上电后第一个执行的汇编函数,系统通过该函数进行初始化1 Reset_Handler PROC2 EXPORT Reset_Handler [WEAK]3 IMPORT __main4 IMPORT SystemInit5 LDR R0, =SystemInit6 BLX R0 7 LDR R0, =__main8 BX R09 ENDP
原创
发布博客 2021.05.12 ·
668 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

ESP32开发-LVGL动画显示

LVGL动画LVGL 支持动态效果,包括动态切换屏幕,组件动画效果等等。动画创建步骤以及API说明以官方demo中的动画创建为例 //定义动画变量 lv_anim_t a; //初始化动画变量 lv_anim_init(&a); //设置要进行动画处理的组件 lv_anim_set_var(&a, gauge); //设置动画功能 lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t
原创
发布博客 2021.05.11 ·
5016 阅读 ·
1 点赞 ·
0 评论 ·
13 收藏

ESP32开发-LVGL显示图片

图片使用方式LVGL中可以使用两种方式显示图片1、作为内部存储器(RAM 或 ROM)中的变量2、作为文件内部读取图片优点:数据跟代码一起编译成固件,使用方便。缺点:图片需要用工具转化成数组形式,图片过多或者图片分辨率过大时可能会出现编译错误(常量数据超出DROM)。使用方法跟外部字体库类似,使用工具将图片转为成一个 .c 文件,文件里会有存储图片数据的常量数组和 LVGL 的图片数据类型结构体,同时结构体变量即可使用图片。const lv_img_dsc_t test = { .he
原创
发布博客 2021.05.11 ·
12788 阅读 ·
6 点赞 ·
9 评论 ·
35 收藏

ESP32开发-LVGL使用内部和外部字体

编码LVGL支持两种编码,分别是 ASCII 编码和UTF-8 编码 。ASCII 编码只支持英文字符的显示 。UTF-8 编码 可以支持全球所有字符的显示 , 包括显示中文 , 显示图标字体等。字体LVGL默认支持多种字体,其中就包括中文字体。但是LVGL自带的中文字体库并不包括所有常用字。内部字体库LVGL内部的字体库在 lvgl/src/lv_font 文件夹中。如果需要使用某种字体,只需要把lv_conf.h中该字体的宏定义打开就行。//内部中文字体库define LV_FON
原创
发布博客 2021.05.11 ·
5193 阅读 ·
3 点赞 ·
0 评论 ·
11 收藏
加载更多