- 博客(438)
- 资源 (9)
- 收藏
- 关注

转载 Android Termux 安装 Linux 就是这么简单
Termux 在安装好 proot 的情况下,是可以运行 Linux 系统的,利用这个原理,国光写出了 Termux 一键安装 Linux 脚本,让你的 Termux 折腾之路更加简单。
2022-11-18 00:14:43
3132

转载 Termux 高级终端安装使用配置教程
Termux 高级终端安装使用配置教程,刚写这篇文章的时候,当时国内 Termux 相关的文章和资料相对来说还是比较少的,就花了几天写了这一篇文章,没想到居然火了,受宠若惊。所以这篇文章国光就打算定期更新了,想打造成 Termux 的中文文档,希望本文可以帮助到更多对 Termux 感兴趣的朋友,发挥 Android 平台更大的 DIY 空间。
2022-11-17 22:45:26
15631
1

原创 Termux 0.118版本详细安装教程,成功解决了Pandas、Matplotlib、Numpy及Jupyter等安装失败的问题
网上很多关于Termux安装Numpy、Matplotlib、Pandas的教程,都是依赖Python3.9以下的,自从Termux官方将Python升级到3.10之后,很多都失效了。准备:手机一台(Android 7.0及以上)官网下载地址:Termux | F-Droid - Free and Open Source Android App Repository或google play下载安装。 设置完换源后,记得更新哦利⽤ proot 可以为⼿机没有root的⽤户来模拟⼀个root的环境然后终端下
2022-06-15 21:12:01
37599
90
原创 图像识别技术的原理
图像识别技术利用计算机视觉和机器学习分析图像内容,主要包括预处理和特征提取两大步骤。预处理阶段通过去噪、灰度化、二值化、滤波和边缘检测等方法优化图像质量,为后续分析奠定基础。特征提取阶段采用SIFT、SURF、HOG等算法获取图像的关键信息,这些特征具有不变性优势,广泛应用于目标识别和图像匹配。该技术通过系统化的处理流程,实现了对图像内容的有效理解和识别。
2025-07-13 08:15:00
5
原创 STM32上实现图像识别思路
摘要:在STM32嵌入式系统中实现图像识别需针对硬件资源(低主频、有限RAM/Flash)优化算法。可选方案包括:1)传统方法(阈值分割、边缘检测),实时性高但鲁棒性差;2)轻量化机器学习(Haar+SVM),需手动特征设计;3)深度学习压缩技术(如TensorFlow Lite Micro量化模型),通过STM32Cube.AI部署。实现流程涵盖低分辨率采集、预处理(灰度化/降噪)、算法部署(C代码或转换模型)及后处理。推荐工具链(OpenMV、CMSIS-DSP)和优化策略(DMA/DSP加速),典型应
2025-07-13 00:30:00
959
原创 STM32上实现图像识别方案
STM32图像识别实现方案 STM32微控制器(如H7/F7系列)可通过优化实现图像识别,需搭配高性能硬件(DCMI接口摄像头、外部RAM)及轻量算法。核心步骤包括:1)图像采集(降分辨率/灰度化);2)预处理(滤波/二值化);3)算法选择(传统CV或量化神经网络,推荐CMSIS-NN/TFLiteMicro)。关键优化手段:定点运算、DMA传输、模型剪枝。典型应用(人脸/数字识别)需50KB以上RAM,帧率5-15FPS。开发时可利用CubeMX/CubeAI工具链,注意实时性与存储限制。
2025-07-12 10:30:00
355
原创 Kalman滤波与组合导航原理简介
摘要:本文系统论述了从经典滤波器到现代Kalman滤波的理论演进。经典滤波器基于频域分离原理,但无法处理信号与噪声频带重叠的情况。维纳滤波首次结合统计理论,却受限于稳态和平稳假设。1960年Kalman提出基于状态空间的递推算法,突破多维非平稳限制,成为现代估计理论基石。文章详述了平方根滤波、非线性扩展及多传感器信息融合等改进方法,并重点介绍了Kalman滤波在组合导航(特别是惯性/卫星组合)中的成功应用,强调其在阿波罗计划等航天工程中的里程碑意义。(149字)
2025-07-12 00:15:00
1381
原创 物联网行业中TCP通信协议介绍以及如何实现
TCP协议概述与应用解析 TCP协议是面向连接的可靠传输协议,广泛应用于网页浏览、文件传输等场景。其核心机制包括: 可靠传输:通过确认应答、超时重传等机制保证数据完整性 连接管理:采用三次握手建立连接(检查网络状况、协商参数),四次挥手断开连接 效率优化:滑动窗口机制实现批量传输,流量控制和拥塞控制动态调整传输速率 特殊处理:延时应答优化网络性能,快速重传应对丢包情况 与UDP相比,TCP提供可靠传输但速度较慢。实际应用中需配合AT组件等实现完整通信功能。代码实现涵盖连接建立、数据收发、异常处理等核心功能模
2025-07-11 09:45:00
608
原创 晶振下方不能走信号线
晶振下方不宜走信号线的主要原因包括:1. 电磁干扰(EMI)风险,晶振弱信号易受干扰;2. 影响信号完整性,可能导致时钟抖动;3. 互电容和互感效应干扰信号传输;4. 破坏晶振所需的稳定电气环境。设计时应保持晶振区域清洁,避免下方走线和放置元件,以确保系统稳定性和性能。
2025-07-11 01:00:00
251
原创 晶振PPM误差分析与计算方法
晶振精度用PPM(百万分之一)衡量,表示实际频率与标称频率的相对误差。计算公式为:PPM=(实际频率−标称频率)/标称频率×10⁶。例如32.768kHz晶振实测32.7685kHz时,PPM≈15.26。晶振频差分为常温频差(25℃时偏差)和温度频差(工作温度范围内的最大偏差)。以32.768kHz RTC晶振为例,±10PPM精度对应每天误差0.864秒,±20PPM为1.728秒/天,±30PPM为2.592秒/天,年误差分别为5.184、10.368和15.552分钟。精度直接影响计时设备的长期稳定
2025-07-10 08:30:00
333
原创 FOC单电阻采样运放计算方法
本文介绍了三相桥臂电流采样方案的设计原理。通过在下桥臂汇合点接入采样电阻Rshunt获取电流信号,利用SVM开关扇区选择采样点进行电流重构。重点分析了运放采样电路的工作原理,推导了输出电压Vo与采样电流Imeas的关系式:(VccR3+VsRB)/(RB+R3)=Vo*R2/(R1+R2)。文章强调掌握运放虚短虚断原理是电路分析的关键,该方案通过采样偏置设计解决了负电流采样问题。
2025-07-10 00:45:00
823
原创 物联网智能家居行业主流方案zigbee无线通信技术详解
Zigbee技术具有极低的功耗特性。由于其传输速率低,发射功率小,并且支持休眠模式,Zigbee设备在待机状态下可以非常省电。这使得Zigbee设备在物联网应用中,尤其是需要长时间运行且不易更换电池的场景下(如智能家居、环境监测等),具有显著的优势。
2025-07-09 08:00:00
1814
原创 物联网行业中MQTT通信协议详解以及使用
MQTT(消息队列遥测传输协议)是一种基于发布/订阅模式的轻量级通信协议,构建于TCP/IP协议上,由IBM在1999年发布。它具有低开销、低带宽占用等特点,适用于物联网、小型设备和移动应用等场景。MQTT协议采用客户端-服务器架构,支持QoS(服务质量等级)保证消息传输可靠性,并采用分层主题结构进行消息过滤。协议包含固定头、可变头和消息体三部分结构,支持多种消息类型。目前主流MQTT服务器平台包括Mosquitto、VerneMQ等,模拟客户端有MQTTfx、MQTTX等工具。MQTT广泛应用于物联网设备
2025-07-09 00:30:00
957
原创 HAL库SPI通信实战精要
摘要:本文基于STM32CubeIDE环境,分析了SPI总线HAL库驱动开发关键技术。重点阐述了初始化配置要点(时钟极性/相位、GPIO设置)、数据传输模式(阻塞式/DMA)及CRC校验实现,并针对Cortex-M0+架构的地址对齐问题提供解决方案。提出单线半双工模式优化策略和DMA双缓冲性能提升方法,通过状态验证机制确保通信稳定性。这些实践方法可有效提升SPI通信效率与可靠性。(150字)
2025-07-08 10:47:50
462
原创 PWM调制技术的工程抉择
本文对比分析了单极性与双极性PWM调制技术在嵌入式系统中的应用差异。研究显示,单极性PWM成本低但性能受限,适合消费级产品;双极性PWM谐波特性好、动态响应快,适用于工业高精度场景。工程选择需综合考虑EMC要求、成本预算和热设计余量,本质上是多目标约束下的优化问题。研究表明,技术选型应结合具体应用需求,构建科学的决策模型。
2025-07-08 10:41:57
179
原创 WIFI原因造成ESP8266不断重启的解决办法
由于ESP8266在WiFi连接循环中没有加入适当的延时或处理机制,导致看门狗定时器(WDT)触发重启。
2025-06-20 21:58:25
337
原创 INAV电流计校准
飞控固件中通常存储了电流计的校准参数(如零偏、比例系数等)。重刷固件会覆盖原有配置,导致这些参数被清除或恢复为默认值,必须重新校准才能确保电流和电压监测的准确性。例如,部分固件刷写后需重新配置机架类型和传感器参数,校准数据需重新录入。
2025-03-29 18:01:35
864
原创 Ubuntu下编译PX4原生飞控固件
PX4是一个由Lorenz Meier所在的瑞士小组所开发的学校项目,其拥有一个32位处理器,提供更多内存、运用分布处理方式并且包含一个浮点运算协处理器。相比APM,PX4 具有相对于前者10倍以上的CPU性能及其他更多方面的改进,Diydrones和3DRobotics把PX4系统视作他们下一代飞控的基础。
2025-03-29 11:35:28
724
原创 PWM信号和PPM信号浅析
标准的PPM信号,以0.4ms的低电平为起始标识。后边以电平的上升沿的间隔时间来表达各个通道的控制量。一般排列10个上升沿后,电平保持高电平,直到重复下一个PPM信号。PPM信号可以看做是一帧数据,它包含了8个通道的信息。每个上升沿间隔时间刚好等于PWM信号的高电平持续时间,也就1000us~2000us之间。PPM的重复周期也为20ms,也是50hz的刷新频率。
2024-08-24 15:59:15
1542
原创 简述BLHeli电调发展史及固件烧录和如何调整参数
ESC代表电子速度控制器,简称为电调。电调从飞行控制器接收油门信号,并以所需速度驱动无刷电机。电调固件是在每个电调上运行的软件,它确定电调的性能,支持的协议以及可以使用的配置接口。电调可以使用的固件取决于硬件。市场上大多数电调使用ATMEL、Silabs和ARM的处理器。不同的处理器具有不同的规格和功能,并且受不同的固件支持。
2024-08-09 15:32:15
2468
原创 ESP8266WiFiMulti.h与ESP8266WiFi.h,它们的区别与用途
ESP8266WiFiMulti和ESP8266WiFi是 ESP8266 的 Arduino 库中的两个头文件,它们之间的区别在于功能和用途。
2024-03-04 02:17:43
1418
原创 手把手教你如何使用ESP8266(ESP-01S)连接到阿里云物联网平台,并通过微信小程序控制设备(如灯的亮、灭、数据上报到微信中显示)
最近在做智能家居的项目,主要是通过esp8266接入云端实现远程控制的效果,于是就想到用微信小程序进行控制。由于阿里云物联网平台为设备提供安全可靠的连接通信能力,向下连接海量设备,支撑设备数据采集上云;向上提供云端API,服务端通过调用云端API将指令下发至设备端,实现远程控制,采用MQTT协议和设备端进行交互,通过MQTT协议与物联网平台建立长连接上报数据(通过Publish发布Topic和Payload)到物联网平台,因此选择了阿里云物联网平台作为开发环境。ESP-01S模块 + 继电器模块。
2024-02-29 22:21:40
31494
34
原创 HarmonyOS自定义抽奖转盘开发(ArkTS)
本篇 Codelab 是基于画布组件、显式动画,实现的一个自定义抽奖圆形转盘。包含如下功能:1. 通过画布组件 Canvas,画出抽奖圆形转盘。2. 通过显式动画启动抽奖功能。3. 通过自定义弹窗弹出抽中的奖品。您已经完成了本次 Codelab 的学习,并了解到以下知识点:1. 使用画布组件 Canvas,画出抽奖圆形转盘。2. 使用显式动画启动抽奖功能。3. 使用自定义弹窗弹出抽中的奖品。
2023-12-12 00:30:39
898
原创 HarmonyOS开发:回调实现网络的拦截
有的老铁可能会发出灵魂的拷问,为什么要在请求前进行回调,http不是提供了订阅Header事件吗,可以在这里进行回调啊,确实,在发起请求之前,可以通过如下的代码进行请求头参数的订阅,拿到请求头参数的一些信息,同样的也可以进行请求头回调,也就是拦截。
2023-12-12 00:30:00
656
原创 HarmonyOS编译开源native库(OpenSSL实例)
近期项目要开始做鸿蒙版本,有一部分依赖native的代码也需要迁移,某个native模块依赖openssl,需要在鸿蒙下重新编译openssl才行。一开始找了很多相关文档都没有得到方法,无奈只能自己凭经验慢慢试,最后还是成功了。
2023-12-11 20:06:47
3437
原创 Android登录拦截的场景-基于动态代理+Hook的实现
前面我们讲到了Intent原始的方法,虽然使用起来很麻烦但是还是能实现效果的,那有没有简便一点的封装?有的,其实就和本篇的标题一样,早前网上还有这样的一种方案,使用动态代理+Hook的方式,替换启动Activity的对象,把全部的startActivity都拦截掉,替换掉我们自定义的Activiy。如果都写死了所有的Activity跳转都写到一个拦截中,我们又如何实现拦截登录的功能呢?我们需要先使用动态代理+Hook的方式替换全部的Activity启动。
2023-12-11 15:09:58
747
原创 Android studio如何安装ai辅助工具
一定要先第三步再第四步,不然android studio起不来,could not find main class com/intellij/idea/main 报这个错,我按网上教程设了几遍环境变量都没啥用,我也不知道为什么,如果遇到了,可以把jbr_17改下名字,启动的时候找不到jbr_17就会用之前的,就启动起来了。在android studio的插件商店(这个应该都知道)搜索codegeex,然后install,就算基本完成了,到这里你就可以使用他的写注释功能了,但是不能代码提示,会说叫你选择。
2023-12-09 17:11:26
4598
1
原创 Android 幸运转盘实现逻辑
幸运转盘在很多app中都有,也有很多现实的例子,不过这个难度并不是如何让转盘转起来,真正的难度是如何统一个方向转动,且转到指定的目标区域(中奖概率从来不是随机的),当然还不能太假,需要有一定的位置偏移。效果预览本篇简单而快捷的实现了幸运转盘,难点主要是角度的转换,一定要分析出初始角度和目标位置的夹角这一个定性标准,其词作一些优化,就能实现幸运转盘效果。
2023-12-09 16:59:18
666
原创 浅谈Android 14适配
是申请图片和视频权限的,但是这样会有一个问题,当第三方应用申请到权限后,就拥有了手机相册中所有照片和视频的访问权限,这是十分危险的,也是非常不可控的,因为用户也无法知道第三方应用会干什么,所以谷歌在 API 34(Android 14)引入了这个权限,这样用户拥有了更多的选择,可以将相册中所有的图片和视频授予给第三方应用,也可以将部分的图片和视频给第三方应用。最后表达一下我对这个 API 看法,这个 API 设计得不是很好,比如应用想知道用户是否截图了,应用可能需要知道的是,截图文件的存放路径,但是。
2023-12-08 01:22:31
4941
原创 Android hook式插件化详解
其实原理很简单,如果宿主有 dexElements这个数组,那么我们的插件apk 也应该有这个数组,我们只需要把插件的 dexElements数组融合到宿主里面的,那么我们的宿主APP就可以加载到插件的类文件了。的源码发现,它是通过调用 **dispatchMessage() ** 来回调的,从代码里看到,有一个属性 "mCallback",如果我们设置了这个属性的值是不是就走我们自己的逻辑了?这个类呢,因为我们的 Activity 启动的时候就是这个类给调用的,我们要把之前替换成代理。
2023-12-08 01:21:57
1338
原创 关于Kotlin Coroutines你可能会犯的 7 个错误
在我看来,Kotlin Coroutines(协程) 大大简化了同步和异步代码。但是,我发现了许多开发者在使用协程时会犯一些通用性的错误。
2023-12-07 18:20:47
446
原创 Android Camera 预览尺寸的选取与旋转角度的设定
关于相机预览尺寸的选取和旋转角度的设定到这里便分析结束了, 这里再简单的回顾一下相机预览尺寸的选取统计相机支持的预览尺寸, 按照比例归类从用户传入的比例中找寻与 View 尺寸相当的作为预览尺寸相机旋转角度的设定sensor 坐标系sensor 坐标系图像映射到屏幕坐标系对图像进行校正以确认最终的旋转角度其中 旋转角度的设定 较之 尺寸的选取 要更为困难, 其中牵扯到坐标系的映射和映射后的旋转, 前置相机还需要考虑镜像的抵消, 不过所幸这里将其梳理清楚了。
2023-12-07 00:45:32
2351
原创 Android Native Crash 收集
不同的处理器,有不同的异常中断类型和中断处理方式,linux 把这些中断处理,统一为信号量,每一种异常都有一个对应的信号,可以注册回调函数进行处理需要关注的信号量。的结构体指针,它封装了 cpu 相关的上下文,包括当前线程的寄存器信息和奔溃时的 pc 值,能够知道崩溃时的pc,就能知道崩溃时执行的是那条指令,同样的,在本文顶部的那张图中寄存器快照就可以用如下代码获得。捕获到 Crash 的位置;架构的寄存器信息,要兼容其他架构的 cpu 在处理的时候,就得要寄出宏编译大法,不同的架构使用不同的定义。
2023-12-06 01:03:07
516
原创 Android 图形系统之 SurfaceTexture
SurfaceTexture是离屏渲染的核心,例如:我们可以把SurfaceTexture设置给Camera接收摄像头图像数据,并转换为OES纹理,然后可以利用OpenGL对OES纹理做进一步特效处理,最后上屏或者录制成视频。所以,理解底层原理有助于业务层开发和问题排查,希望本文对有心人有所帮助。
2023-12-06 01:02:36
1699
原创 详解Android动态库的加载原理
源码版本:android-13.0.0_r41先通过相关的命名空间查找动态库;找到后打开动态库;把动态库加载到内存中,返回 handler;构建SharedLibrary,存有 3 中的 handler,然后保存到 libraries_ 中;检查是否有 JNI_OnLoad 函数,有就执行;4 中 SharedLibrary 析构的时候,调用 dlclose(handle) 关闭动态库;对动态库加载流程有了整体的认知;对于 ELF 文件结构,认识了一些常见的表和节区;
2023-12-05 00:25:16
1941
原创 Android中的动态代理详解
在说动态代理之前,先来简单看下代理模式。代理是最基本的设计模式之一。它能够插入一个用来替代“实际”对象的“代理”对象,来提供额外的或不同的操作。这些操作通常涉及与“实际”对象的通信,因此“代理”对象通常充当着中间人的角色。
2023-12-05 00:24:03
944
原创 Pandas实战:电商平台用户分析
首先,我们要对用户的行为类型有一定的理解,了解每个行为所代表的含义。浏览:作为用户与商品接触的第一个行为,它的数量级与其他行为类型相比而言是非常庞大的,因为:用户购买之前需要货比三家,可能会浏览很多个商品最后只下单一个,此时就是多个浏览对应一个下单。但大部分用户可能只是浏览了很多商品,但最终没下单的,此时就是多个浏览对应零个下单。加购物车:代表用户对商品的购买意向进一步加强,但由于某种原因还在犹豫没最终决定,这个环节的成单率极高。下单:代表交易达成,此时新用户已成为老用户,老用户继续产生价值。
2023-12-04 00:23:40
517
原创 Pandas进阶:拼接 concat 使用方法
那有些情况,我想保留原来的索引,并且我还想验证合并后的结果是否有重复的索引,该怎么办呢?虽然,它会自动将两个df的列对齐合并。默认情况下,它是沿axis=0垂直连接的,并且默认情况下会保留df1和df2原来的索引。在每次for循环迭代中都会被调用一次,效率不高,推荐使用列表推导式的写法。添加层次结构索引非常的有用,可以进行更多层的数据分析。为时,如果存在重复的索引,将会报错。的索引,而是想为两个数据集贴上标签。如果想要合并后忽略原来的索引,可以通过设置参数。,这样索引就可以从0到n-1自动排序了。
2023-12-04 00:22:37
1591
Anaconda3 Python开发工具(Windows 64位安装包)
2023-03-10
Wacom数位板CTL-672数位板驱动
2023-03-09
自己设计的轻量级 EventBus 框架,对想要了解EventBus的设计思想有一定的参考价值
2023-03-10
自己设计的Android简易版本Handler 框架及实现源码,对了解Android Handler原理有一定的参考价值
2023-03-10
图片标注工具LabelImg(Windows免安装版)
2023-03-09
Chromedriver-110.0.5481.30(谷歌浏览器驱动 Windows版)
2023-02-06
Chromedriver-104.0.5112.79(谷歌浏览器驱动 Windows版)
2023-02-06
OpenCV4.6 集成了opencv-contrib(Androld版SO库)
2022-11-10
Android版的ZBar二维码扫描工具
2022-11-10
Android Studio Dolphin 2021.3.1 Patch 1 (Windows IDE 安装版)
2022-11-10
Intel x86 Emulator Accelerator(HAXM-v7.7.1 Windows安装版)
2022-11-10
Android版TNN SO 动态库
2022-11-10
基于STC8H三相无刷电机驱动(带HALL)源码,竞赛直流无刷电机BLDC控制策略方案
2024-03-17
STC8H1K28直流三相无感无刷电机(BLDC)控制器源码,竞赛直流无刷电机BLDC控制策略方案
2024-03-17
ESP8266(ESP-01S)连接到阿里云物联网平台,并通过微信小程序控制设备(如灯的亮、灭、数据上报到微信中显示)
2024-03-02
使用C++从0到1实现人工智能神经网络及实战案例
2023-11-24
Scrapy爬取数据,并使用Django框架+PyEcharts实现可视化大屏
2023-06-09
基于CodeFormer使用C++实现图片模糊变清晰,去除马赛克等效果(代码完整)
2023-10-14
基于Java 中 SSH 框架的 物流配送管理系统
2023-08-01
机器学习之博客推荐系统数据集
2023-06-16
编译好的OpenCV 4.2.0集成contrib扩展库(Windows x86-64 C++版)
2023-04-19
OpenCV实现多张图片自动拼接成一张大图片(C++版)
2023-04-19
基于NCNN模型的图像超分工具,处理能力强,图像清晰度高 Windows版,开箱即用,内含操作说明文档
2023-04-19
Java Web毕业设计-校园二手交易市场
2023-04-10
Java Web毕业设计-图书管理系统
2023-04-10
Java Web毕业设计-学生信息管理系统
2023-04-10
Java Web毕业设计-网站管理系统
2023-04-10
Java Web毕业设计-宿舍管理系统
2023-04-08
OpenCV实现“全能扫描王”的图像矫正功能
2023-03-14
Termux是一个Android终端仿真器和Linux环境应用程序
2023-03-13
Android插件化动态加载 APK 文件中(Activity,Servicer,Broadcast)等一些资源
2023-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人