- 博客(19)
- 收藏
- 关注
原创 ESP32的下的蓝牙应用笔记(1)——Beacon蓝牙信标
Eddystone广播有四种帧格式,可以根据配置,广播四种不同类型的数据,非常强大。Eddystone广播包是装载于BLE通用广播包,PDU中的Playload。引用一张网图如下(这个一整大块就是PDU中的一个Playload)。第一个AD structure是有关于物理连接功能的配置。第二个AD structure是有关UUID的配置。第三个AD structure是有关服务数据的配置,这里的数据包含了UUID和Eddystone的数据。
2024-10-30 14:42:37
1341
原创 STM32的FATFS文件系统移植
这里还有一个设置块大小的,如果是用到一些其他的存储ic的话,这里可以适当修改,由于SD卡一个块就是512byte所以这里也不用改。下一步,便是修改ffconfi.h里的配置项,分别打开两个,一个是允许文件名为长字符串,一个是运行同时挂载多少个设备。这是挂载的代码,特别提一嘴,这里的第二个变量“0:”很重要,这里的函数会把这个0给提取出来,并作为后续读写函数的pdrv参数传递下去。此处初始化由于在cubemx的代码中已经帮我们完成,此处就没必要重复初始化,我在这里实现的是打印SD卡有关的信息。
2024-08-05 17:59:47
949
原创 QT使用V4L2摄像头采集数据
完成以上操作以后,我们的QT采集摄像头数据的工程也就完成了,接下来只需要往Ubuntu插入摄像头,然后运行即可。一个最简单的Ubuntu下摄像头采集就完成了。以上便是Ubuntu下和开发板下的两种QT采集摄像头显示的代码了,这里比较关键的是QT的配置,比较细节,初学可能会踩很多的坑。
2024-08-03 17:01:57
2962
1
原创 IMX6ULL的V4L2驱动
这个V4L2的驱动框架,是主要用来配置摄像头的,市面上买到的大多数的免驱摄像头,其实本质都是用的一个UVC协议,而这个V4L2就是Linux下用来驱动UVC设备的一个驱动框架。本节是基于正点原子IMX6ULL的出厂驱动实现UVC摄像头插入的自动挂载成一个/dev下videox设备的一个配置方法,及后续应用层调用。由于此部分涉及的细节比较多,也是我综合了网上很多的教程,搭配自己的一些理解进行的总结。
2024-08-02 20:02:40
3256
原创 STM32的OTA升级方案
1、在DMA空闲回调函数里直接烧写flash没有norflash缓冲,程序直接跑飞不可取。2、在Load_SYS_User(SYS_START_ADDR);加载到APP分区之前,没对BOOT分区初始化的外设去初始化,导致进入到APP后出现各种异常。3、接收的数据包的数量换算,很容易算错。
2024-07-28 15:48:53
4989
2
原创 关于imx6ull切换内核编译遇到的问题
以正点原子的阿尔法开发板为例,我使用了正点原子的出厂的Uboot和Linux源码,烧录到开发板上。但是编译驱动时用的确是正点原子开发板教程对应的Uboot和Linux源码,这就出现了一个问题,我编译出来的驱动.ko文件,在板子上modprobe 时给我报错了,报错内容具体如下:这个错误的原因是你内核编译和你驱动编译的使用的Linux源码版本不匹配,导致驱动无法加载。
2024-07-21 16:23:31
361
原创 关于STM32的引脚输出电平异常问题
在HAL库生成的代码中,想用PB4、PB3、PA15来做LED灯的IO点亮,但是发现无论Cubemx中无论如何配置这几个引脚的模式,最终的结果都是三个引脚输出高电平。这是我的初始化:哪怕后续用HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_RESET);这个函数去给他赋值都没用。依旧输出3.3v。
2024-07-18 23:15:47
884
原创 Linux学习笔记(三)触摸IC驱动
触摸IC的驱动框架基本上都大差不差,将来遇到其他型号的芯片时可以参照这个来写。#define GT_CTRL_REG 0X8040 /* GT9147控制寄存器 */#define GT_MODSW_REG 0X804D /* GT9147模式切换寄存器 */#define GT_9xx_CFGS_REG 0X8047 /* GT9147配置起始地址寄存器 */#define GT_1xx_CFGS_REG 0X8050 /* GT1151配置起始地址寄存器 */
2024-07-17 18:32:30
806
原创 QT设计上位机(MQTT和51单片机通讯)
是一种轻量级的消息传输协议,通常用于在物联网(IoT)和传感器网络中进行通信。它设计用于在低带宽、不稳定或高延迟的网络环境下传输数据,因此非常适用于连接设备之间的通信,尤其是在资源有限的环境中。MQTT通讯的前提是要在同一个内网环境下。亦或者都连接上外网,在外网环境下通讯。构成其通讯结构的主体分为物理层和软件层。软件层的主体主要是发布者(Publisher)、订阅者(Subscriber)、主题(Topic)、MQTT 服务端、消息。其中发布者和订阅者,是消息传输的起始点和接收节点(并不是终点),消息。
2024-06-29 14:34:55
1129
原创 利用ESP32C3和STC89C51单片机实现MQTT向上位机通讯
本来这个项目是想用ESP32+LVGL一个板子实现的,奈何要求太刁钻。强制要求我们用51单片机,导致我的项目含精量大打折扣在这里我也是被狠狠无语住了。所以在此,仅以此项目作为一个思路提供给大家举一反三。
2024-06-29 11:59:15
918
原创 Linux学习笔记(一)镜像烧写
此部分是我在学习到驱动开发指南,对Linux的整个运作有了一定的了解后回头整理的笔记,此部分烧写的前提是,你已经有了一个很成熟的系统即,内核文件、设备树、根文件系统、u-boot全都准备好的前提下适用。后续的话,我还会对以上几个大模块的烧写,做分类的整理,便于对Linux整个系统架构的理解。
2024-06-22 23:18:04
729
原创 在QT5.14.2上移植MQTT库
如果是自己写工程的话,稍微学习一下相关语法还是很简单的。接下来,在我的项目完结后,我会陆续更新相关教学。这是我目前做的一个mqtt项目实现的功能,虽然比较简单,但是还是很实用的,大家可以期待一下。
2024-06-21 21:15:45
611
1
原创 K230学习笔记(一)
好了,到此为止,便是整个k230的skd环境搭建,我之所以写这篇博客,一部分原因是为了记录我的学习过程,方便后续回顾。第二部分原因,就是我觉得官方的教程文档,虽然说写的还算是详细,但是对于新手上路来说还是有很多坑要注意的,特别是环境的搭建部分。最后由于项目的需要,后续我可能还会更新关于板子外设的编写以及模型的部署等相关篇章,大家可以关注一下。至于更新的有多全面,频率怎么样,就取决于我的项目进度了。
2024-06-19 20:48:34
1419
原创 基于Ubuntu服务器搭建mqtt服务器(用作嵌入式物联网)
目前由于官网改版已经找不到docker的下载指令了,不过本人测试,之前的指令还是能够下载和部署的,在宝塔的终端输入sudo docker pull emqx/emqx:5.0.16。提示需要按y的就按一下,然后等待安装(如果出现安装失败,有可能是脚本指令出错,或者服务器性能太低,此时可以尝试重新输入指令,如果还是出错,重装服务器再次尝试。选择Linux面板->安装脚本,随后会生成一段安装的脚本代码,复制Ubuntu的代码,回到登录的服务器控制台,粘贴。输入密码完成登录出现控制命令台。按操作执行,耐心等待。
2024-06-18 23:26:23
1461
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人