作者:Misakiotoha

fpv-relay使用教程

本文介绍 fpv-relay 使用教程。作者购买 OpenIPC 图传后,手机可正常出图,但项目需要在电脑上出图、进行 UDP 推流以及收发上下行控制链路,因此开发了 PC 端上位机,代码已在 GitHub 开源。程序与驱动分为 Windows 和 Linux 两部分,主要涉及驱动安装与软件使用;目前仅在 Windows 10/11 和 Linux 内核 7.0、x86 平台测试,理论上可移植到 ARM,但暂不支持。 Windows 驱动安装较复杂。RTL8812AU 网卡直插后可能不被正确识别,需要先替换系统 rtwlanu.sys:以管理员打开 PowerShell 或 CMD,依次执行 takeown、icacls(将 Administrators 替换为实际账户)和 ren 备份原文件,再将准备文件中的 rtwlanu.sys 复制到 C:\Windows\System32\drivers,重新插拔后可出现网卡。随后用 Zadig 将网卡驱动替换为 USB 驱动:选择 Options->List All Devices,找到 8812au 网卡(如 802.11n NIC),点击 Install Driver;成功后设备管理器可见设备。注意替换后该网卡只能供图传软件使用,不能再用于上网。 Linux 驱动安装较简单。作者已编译并打包 rtl8812au-dkms_5.6.4.2~20230501-1_all.deb,fork 自 aircrack-ng/rtl8812au,适配较新内核,包括 Linux Kernel 7.0;Debian 系可直接安装,Arch 等需自行 clone 源码编译。安装后会出现新网卡,需记录网卡名供配置使用;较新 Linux 发行版通常自带 USB 驱动,插入后可用 lsusb 查看网卡信息。 摘要覆盖驱动准备与安装流程,软件使用部分原文尚未展开。

Misakiotoha 发布于 2026-09-13

Zephyr入门第四课——项目迁移新建与缓存及按键输入

本文是Zephyr入门第四课,主题为项目迁移新建与缓存及按键输入。内容涵盖三个任务:项目迁移与新建、按键输入、时钟配置。在项目迁移部分,作者说明了如何从已有blinky项目迁移板级配置(boards目录)和CMakePresets.json文件到新项目(如input_rcc),并演示了将BOARD_ROOT变量放入CMakePresets.json的cacheVariables中,以简化CMakeLists.txt配置。文章还提到后续将学习按键输入与时钟配置。

Misakiotoha 发布于 2026-08-13

Zephyr入门第三课——在IDE当中一步步完成自定义板子的项目配置

这是一篇Zephyr入门教程的第三课,核心内容是讲解Zephyr项目的结构,并指导如何在IDE(以CLion为例)中一步步完成自定义板子的项目配置。 文章首先强调了理解现代Zephyr项目结构的重要性,指出所有自定义配置都建立在对其两大核心机制——Devicetree(设备树)和Kconfig——的理解之上。Devicetree用于描述硬件资源,如晶振频率、GPIO引脚分配、外设地址和内存布局,编译时解析生成C头文件供驱动使用;Kconfig则用于决定编译哪些软件功能,如是否启用网络栈、USB、蓝牙等,通过`prj.conf`或`Kconfig.defconfig`文件配置。 接着,文章以作者为实验室设计的STM32H743IIT6教学板为例,展示了实际项目中如何依据原理图来配置设备树和引脚复用(pinctrl),并强调了确保Kconfig中正确配置`CONFIG_GPIO=y`的必要性。文章通过与STM32 HAL的对比,解释了Zephyr增加复杂性的原因在于实现驱动与硬件的解耦,虽然入门门槛更高,但在项目整体可维护性和底层掌控程度上优于传统开发方式。 此外,文章提及了应用配置的层次结构,包括`prj.conf`、板级默认配置(`board_defconfig`)和内核Kconfig默认值,并警告不推荐使用menuconfig进行配置。最后,文章还附带了开发板原理图中需要注意的硬件问题,如USART2接线反了和WS2812B无法驱动等问题,作为实战中的提醒。

Misakiotoha 发布于 2026-08-05

Zephyr入门第二课——Zephyr基本介绍 + 环境配置

Zephyr 是由 Linux 基金会托管的开源实时操作系统,专为资源受限的嵌入式与物联网设备设计,采用 Apache 2.0 许可证,商业友好。它通过 Devicetree(硬件描述)和 Kconfig(功能配置)两大机制实现“一次编写、多平台运行”,支持 ARM、x86、RISC‑V 等多种架构及 780 余款官方开发板。核心特点包括高度模块化(最小镜像约 2KB Flash)、统一驱动模型、原生集成 TCP/IP、Bluetooth、USB、MQTT 等协议栈,以及 POSIX 兼容层。环境配置部分以 kUbuntu 24.04 LTS 为例,介绍了三层架构(Python 工具层 + Zephyr 源码层 + 交叉编译层),详细说明了安装系统依赖(cmake、ninja、dtc 等)和通过 uv 或直接使用 pip 创建 Python 虚拟环境并安装 west 构建工具的步骤。

Misakiotoha 发布于 2026-07-24

Zephyr入门第一课——劝退!

该文章主要分为三部分:作者的个人技术背景、教程规划,以及针对Zephyr初学者的劝退说明。作者为EE和CS背景,熟练掌握C/C++、Go、Python等语言及嵌入式、后端、硬件设计等技术。教程计划包括入门(环境配置、设备树、自定义PCB、常用函数)和进阶(复杂外设驱动)。劝退部分指出Zephyr更适合有Linux驱动/内核知识、熟悉STM32 HAL/ESP-IDF/FreeRTOS/RT-Thread的资深嵌入式工程师,要求具备科学上网、熟悉C/C++/CMake/Python、拥有Linux物理机或虚拟机经验、理解MCU程序运行流程。达不到这些条件不建议直接入门,但学习本身不受阻挠。

Misakiotoha 发布于 2026-07-18

红米5Plus刷入Arch Linux教程——Misaki

该文章详细记录了作者为满足自己项目的glibc依赖需求,在红米5Plus手机上构建Arch Linux的过程。文章先说明了选择该设备的原因(成本低、性能与rk3566接近、有主线内核支持),然后提供了完整刷机教程:前期需要解锁Bootloader、安装fastboot工具,并下载lk2nd、boot和rootfs三个镜像文件;刷机步骤为:先进入官方fastboot刷入lk2nd,重启后进入lk2nd的fastboot模式,再依次刷入boot和rootfs镜像(rootfs部分因文章截断未完整描述)。教程侧重于解决MSM平台主线内核加载问题,并提供了百度网盘资源链接。整体内容实用性强,适合有类似需求的开发者参考。

Misakiotoha 发布于 2026-07-05