登录社区云,与社区用户共同成长
邀请您加入社区
开源鸿蒙进入高校,走的不是"新增一门课"的常规路径。2026 年开放原子开源生态大会上评选出"开源鸿蒙教育实践先锋院校",全国共 13 所高校获评;全国开源鸿蒙智能终端与物联行业产教融合共同体 2026 年会上,开源鸿蒙创新中心、远程实境教学应用联盟揭牌,鸿蒙虚拟教研室同时设立。在此之前,成都东软学院的《OpenHarmony 应用开发师资培训》入选 2026 年华为产学合作协同育人项目优秀案例,
本文详解在RK3568底板上使用MQ-2气体传感器的实操要点:因无SARADC,仅能通过数字输出(DO)判断报警,实测DO常为GPIO11(I2C1_SCL),与红外测温等模块冲突。验收标准为预热2-5分钟后,酒精棉近距刺激使DO由1翻转为0并复现三次。强调不可用明火测试,禁止单次采样,需持续监测。脚号须经扫描确认,避免误判66。解决共脚冲突可关I2C1、换接空脚或分时段演示。软件采用mq2_wa
本文详细记录了在RK3568平台上使用人体感应模块(PIR)的实测与排障过程。核心结论:PIR模块真实引脚为GPIO73(GPIO2_B1),而非误认为的GPIO74,后者为悬空上拉脚,恒输出高电平。通过sysfs接口验证脚号、排除设备树注释误导,并强调以实测翻转为准。文章提供完整C与ArkTS代码,指导用户正确配置GPIO、处理权限问题(HAP需预导出),并给出开机放权脚本方案。重点提醒:上电后
记这几天在 x86 版 OpenHarmony(KaihongOS)上折腾软件包生态的事包我上传到了百度网网盘,分享大家:通过网盘分享的文件:bundle-x86-20261011链接: https://pan.baidu.com/s/1xmQjaFwjWzVqjWVy_0wWyg?pwd=m4fq 提取码: m4fq。
温湿度软件边界超限,更换手势芯片后遇“在位不认手势”问题。经排查,芯片出厂未加载初始化表,导致手势引擎未启动。需在用户态通过I2C_RDWR写入219条寄存器配置,并切回bank0。设备树无需声明,依赖/dev/i2c-1权限(chmod 0666),动作距离15~20cm、缓慢执行。关键点:初始化表不可精简,写完必须切回bank0;否则读0x43恒为0或异常值。应用层使用ArkTS调用NAPI接
本文记录了将KMP存储库KStore适配至OpenHarmony的完整过程。针对官方无ohosArm64产物的问题,通过接入HarmonyOS Kotlin定制版、声明目标平台、解决沙箱路径缺失难题(采用“应用层传路径”方案),并成功导出能力给ArkTS、打包HAR接入鸿蒙工程,最终在真机验证数据持久化功能。文章剖析了KStore源码结构与适配关键点,总结八条踩坑清单,为同类KMP库鸿蒙化提供可复
本文详述HDC1080温湿度传感器在I2C总线上的典型故障排查过程。核心问题在于:设备树配置正确、驱动加载成功,但读取时出现ENXIO及cannot set seq config错误,根源为芯片地址0x40在总线上完全不应答(NACK)。通过用户态工具验证,确认非软件或速率问题,而是硬件缺陷——常见于电源未上、虚焊或芯片损坏。文中强调禁止组合读(会重触发),必须使用裸读方式(i2cRdPlain)
本文详解MAX30100光电传感器在OpenHarmony平台的驱动与应用,强调其非传统IIO设备特性:依赖用户态轮询FIFO(0x05)读取4字节样本,而非依赖中断。通过i2c-dev直接操作寄存器(如MODE=0x0b、LED_CONFIG=0x33),实现指腹按紧后红外/红光信号显著上升的验证。指出内核驱动虽可绑定但中断失效时数据为空,故主路径应为轮询。提供完整C工具实现1.2秒快速采样与5
本文介绍了在OpenHarmony上适配KMP生态中Decompose组件的完整过程。基于Essenty已实现的生命周期管理,利用其与Decompose的天然兼容性,通过接入HarmonyOS Kotlin定制版、显式声明ohosArm64 target并依赖nonWebMain源集,精准定位并实现仅需三处平台适配(锁、主线程检查、错误打印),最终成功将Decompose移植至鸿蒙,实现多页面导航
把 GitCode 和 GitHub 两边加起来,这个落差依然很直观:截至 2026 年 10 月 2 日,按公开 API 汇总,OpenHarmony 组织旗下公开仓库在 GitCode 上有 3,398 个 Star,在 GitHub 上有 748 个,合计 4,146 个。我想为鸿蒙生态补上这个需求,也想做一款自己期待的闪卡软件:可以背单词、记知识点,界面简洁好用,同时照顾刚接触闪卡的新手和
开源鸿蒙(OpenHarmony)7.0 Release在2026年9月迎来一个标志性时刻:AtomGit研发的小鸿AI开源鸿蒙星闪AIOT RISC-V实验箱正式通过兼容性认证,成为全球首款获此认证的商用设备。但比这个事件本身更值得关注的,是7.0 Release版本背后的技术演进方向,以及它对嵌入式物联网开发者的实际影响。这篇文章从工程视角拆解OpenHarmony 7.0的核心变化。
本文为KMP库鸿蒙化适配第三篇,聚焦Essenty库的时序假设问题。与前两篇“能力缺失”不同,Essenty依赖平台在正确时机通知生命周期并保存状态,鸿蒙无现成宿主导致状态丢失隐晦难查。作者将库分三类:纯逻辑层(无需修改)、平台注入层(需实现*Owner接口)、落盘层(用kotlinx-serialization输出JSON,对接kotlinx-io沙箱)。通过将OpenHarmony生命周期映射
本文详解了将Kotlin Multiplatform库kotlinx-io适配OpenHarmony的过程。核心挑战在于平台沙箱限制:库假设路径可直接open,但鸿蒙应用仅能访问自身目录。通过分层分析,发现Path与Source/Sink层无需修改,真正问题在FileSystem层。解决方案是将沙箱根路径由应用层传入,避免硬编码绝对路径,确保文件操作在合法目录内进行。最终通过NAPI导出与ArkT
MLX90614红外测温芯片因I2C速率设为400kHz导致通信失败,虽设备树节点存在但驱动未绑定。实测发现其仅支持SMBus 100kHz,需将clock-frequency改为100000并同步刷写boot_linux与resource分区的dtb。成功后通过IIO或用户态三字节读取(LSB+MSB+PEC)获取物体/环境温度,公式为T(°C)=raw×0.02−273.15。验收标准:手掌1
嵌入式开源生态正从技术选型转向战略博弈。以Linux、Apache、RISC-V基金会为代表的治理模式,决定着生态控制权。中国力量崛起,OpenHarmony、RT-Thread与玄铁等项目推动本土生态发展。工程师需理解治理机制、参与社区贡献、关注合规与本土机遇,把握开源背后的长期战略价值。
本次适配真正需要处理的不是一个Web→ OpenHarmony 真机页面。
→ ArkUI Stage 页面→ OpenHarmony ARM64 真机。
airplane_mode_checker 3.3.0 适配 OpenHarmony,通过系统公共事件 usual.event.AIRPLANE_MODE 实现飞行模式监听与读取。适配遵循原生通道契约,支持 defaultValue 回落机制,实现订阅即推送初值、异常时使用默认值。核心代码位于 AirplaneModeCheckerPlugin.ets,依赖 AbilityAware 获取上下文读
`kotlinx.coroutines` 为 Kotlin 提供 `CoroutineScope`、`Job`、`Deferred`、`Flow`、`Dispatchers` 和结构化并发能力。KMP 项目通常把这些能力放在 `commonMain`,由 Android、iOS、桌面、Web 或其他 Native 宿主共享。OpenHarmony 应用同样需要这套公共能力,但默认构建并不会生成 O
本文详解RK3568平台VEML6040环境光传感器的调试全流程:通过I2C总线扫描确认地址0x10存在,验证设备树与内核驱动配置(CONFIG_VEML6040=y),确保IIO子系统正确绑定。重点强调“遮光清零”为验收核心——手掌覆盖时clear通道必须下降,手电照射则上升,数值随光照变化是唯一有效指标。提供双路径读取方案:优先使用IIO接口(/sys/bus/iio/devices/iio:
本文详述了将 Kotlin Multiplatform 三方库 kotlinx-datetime 适配至 OpenHarmony 平台的全流程。针对 ohosArm64 缺失官方构建产物的问题,通过接入 HarmonyOS Kotlin 定制版插件、声明 target 并复用 Native 实现,成功编译通过。核心难点在于时区数据缺失——因 OpenHarmony 沙箱无 /usr/share/z
本文系统讲解RK3568平台I2C总线的硬件连接、设备树配置、用户态ioctl使用及常见故障排查。强调I2C为总线通信,需关注地址、速率(100kHz)、ACK应答,而非串口波特率。通过i2c_tool.c工具实现扫描、读写操作,重点解析I2C_RDWR三件套时序:组合读(含重复起始)、裸读。指出设备树节点≠芯片响应,需结合dmesg、/sys/bus/i2c/devices/驱动绑定状态判断。核
音频口认准了。今天收口板载基础接口:断电后还在走的实时时钟,以及没有触摸时的 USB 键鼠。拔电池上电,date 回到 1970 或编译时间。插着 Type-C 线的那一端插上键盘,hdc list targets 没了,键盘灯也不亮。两件事经常同一天出现,根因却完全不同。RTC 是 DS1307,挂在 I2C0 地址 0x68。没有后备电池时,它只是上电时钟,断电必丢。USB 键鼠是 HID,必
本文详述基于RK3568平台使用AD9833波形发生芯片的驱动配置与调试过程。通过设备树正确配置25MHz时钟、spi-gpio位拍及pinctrl引脚复用,确保驱动正常加载。利用IIO接口设置频率、波形类型(正弦/三角/方波)和使能,驱动自动完成频率寄存器换算。无示波器时采用SARADC回环验证输出,结合权限设置与属性只写特性,实现可靠波形生成。重点强调SPI mode2(CPOL=1, CPH
PWM波形已实现,电压数字化采集需正确识别SARADC设备。板载ADC为fe720000.saradc(iio:device1),外部端子对应in_voltage2_raw~7_raw,通道0/1被按键占用,不可用于外部输入。信号经运放分压与偏置,范围从±5V缩至0~1.8V,raw值需通过两点标定换算为真实电压。读取时应先按名称定位SARADC,避免误读ad9833的device0。采样结果为脚
本文分享了参与开源鸿蒙桌面端(OpenHarmonyPC)三方库适配实战的经验,重点复盘赛道C中QtBase与OpenSSL复杂库的移植过程。通过解析CI/门禁机制、解决musllibc兼容性问题、优化交叉编译配置,成功打通鸿蒙PC网络安全链路,为国产操作系统生态建设贡献力量。文章还提供了选题策略、本地模拟门禁、善用开源资源等备赛上分技巧,呼吁开发者共同参与,推动国产桌面系统崛起。
RK3568平台风扇不转问题解析:需手动export PWM通道,依次设置period(建议40000ns即25kHz)、duty_cycle(首次100%以克服起转阈值)、enable。注意polarity、pinctrl配置及禁用SENSORS_PWM_FAN避免自动调控干扰。通过sysfs或C/ArkTS代码控制,确保控制器与引脚匹配,电源与驱动正常。
外部看门狗MAX6369依赖gpio-wdt驱动通过GPIO0_C2周期翻转WDI脚实现复位,需设备树中配置hw_algo="toggle"、always-running及hw_margin_ms=600。缺任一属性将导致驱动绑定失败(-22),芯片按188秒超时静默复位。内核成功喂狗表现为挂机4分钟不重启,示波器可见方波信号。验收须拨码开启,且通过/sys/class/wat
四颗用户灯全灭,实因设备树中四颗灯共用一个gpio-leds节点,其中D4/D5被公版vcc3v3_vga和pcie30_3v3 regulator占用,导致GPIO申请失败(-EBUSY),整节点probe失败,所有灯均未注册。尽管work灯正常闪烁,但仅说明另一独立节点有效。解决方法:在板级DTS中禁用这两个regulator节点,使GPIO释放,再重新编译并刷写resource与boot_l
hmharness 是面向 HarmonyOS/OpenHarmony 的开源开发智能体框架。本文只讲 edit_file:AI 修改代码必须提供 old_string/new_string,且 old_string 唯一命中才写入,找不到或重复都拒绝,避免整文件重写。附公开提交、npm 与 8 个目标测试证据。
本文详解RK3568平台4×4矩阵键盘调试过程:因设备树compatible误写为matrix-keypad,导致主线驱动gpio-matrix-keypad无法匹配,probe失败。修正为gpio-matrix-keypad并配置正确pinctrl后,行列GPIO被正常申请,事件通过input子系统上报至/dev/input/event*。关键点包括:行列脚位在GPIO1与GPIO3_A,与超声
把"取一个设备唯一标识"这件事压缩成一行 API。业务只需要实例化DeviceUuid并,就能拿到一个平台相关的设备标识字符串;插件不抛平台异常——任何失败都以null静默返回,调用方用String?上游仅提供 Android / iOS / macOS 平台实现,OpenHarmony 平台无法直接使用。平台通道对齐:补全ohos/根目录模块,新增(160 行)注册与 Android / iOS
把"渐变滑块"这种常见交互封装成组件。业务只需要声明一个colors数组和onChange三个回调,就能拿到带渐变背景的滑块,并且 thumb 颜色随 thumb 位置在colors之间用Color.lerp插值;进入范围模式后,两个 thumb 各自独立,且拖动时自动选中距离触点更近的 thumb。},},上游仅提供 Android / iOS 平台实现,OpenHarmony 平台无法直接使用
触摸之外,底板上还有几颗用户键。今天把模数转换那两颗、普通输入那一颗对上,丝印编号不是通道号。底板上三颗键,丝印 KEY3、KEY4、KEY5。第一次写设备树的人,几乎都会把 KEY3 接到 SARADC 的通道 3。节点能 probe,/dev/input/event* 也在,按下 KEY3 却没有任何事件。不是键坏了,是名字骗了你。原理图上 KEY3 接的是 SARADC VIN0,也就是通道
在很多调试或数据展示场景中,需要把后端返回的 JSON 直接以树形结构呈现在 Flutter 页面上。提供了一种零依赖方案:只依赖 Flutter SDK,把一个动态对象递归渲染成可交互的树形节点,并支持通过expandDeep控制默认展开层级。这套核心能力全部由纯 Dart widget 实现(单个文件,约 345 行),不触碰任何平台 API,天然跨平台一致。通过查询系统版本。把旧版 Dart
回顾一下:在中以 git TAG 引入 file_encryptor,调用将文本 AES-128-CBC 加密后以 base64 写入.aes文件,调用读取文件并解密还原原文。核心功能全部是纯 Dart 实现,通过encrypt包完成 AES 运算,不经过插件自定义通道。零权限、应用沙箱内文件 I/O、Dart 层零改动,已在 OpenHarmony 6.1.1.120 真机(API 24 / a
回顾一下:在中以 git TAG 引入 click_to_copy,调用将文本写入系统剪贴板,调用从系统剪贴板读取文本。核心功能全部是纯 Dart 实现,通过 Flutter 框架的ClipboardAPI 完成,走引擎内置的通道,不经过插件自定义通道。复制无需权限,粘贴需在中声明(user_grant)权限。Dart 层零改动,已在 OpenHarmony 6.1.1.120 真机(API 24
本文详解在RK3568平台更换RGB或MIPI电容屏时,FT5406触摸芯片的适配流程。强调换屏即换触摸配置,需同步更新I2C地址(0x38)、复位/中断引脚(如GPIO3_B1/B2)、HDF驱动模块名、上电序列及分辨率。重点指出400kHz I2C速率常因负载过大导致NACK,应降速至100kHz;避免与GT911共存,因引脚、驱动、电源序列均不兼容。通过扫总线、核对dmesg日志、清缓存等步
本文详解在OpenHarmony标准系统中调试GT911电容触摸屏的全流程,核心在于:芯片身份以I2C应答为准,非说明书。通过i2cdetect确认0x5d地址,读取寄存器0x8140验证产品ID为'911',确保芯片真实存在。关键点包括:内核goodix,gt911节点必须disabled,避免与HDFInput冲突;HCS中solutionX/Y需严格匹配屏幕分辨率(如1024×600),而芯
设备唯一标识是移动应用的基础能力之一。在 Android 上读取,在 iOS 上读取,业务层调用一个就能拿到跨平台语义一致的匿名设备 ID,不需要自己适配各系统的标识接口。例如,统计分析可以用它生成匿名用户标识,广告归因可以把它作为设备维度的 key,游戏存档也可以用它绑定本地进度。适配 OpenHarmony / HarmonyOS 时,与之语义最接近的系统标识是 OAID(开放匿名设备标识符)
小鸿 AI 是 AtomGit 推动「OpenHarmony + RISC‑V + 星闪」生态落地的重要实践,我们希望以这套全栈开源的 AI 语音硬件,降低端侧 AI 与星闪物联网的开发门槛。欢迎各位开发者体验、Fork 代码,提交 Issue 与 PR 参与项目共建,一起探索开源硬件更多可能性!欢迎前往仓库体验,也欢迎在海思案例中心页面查看完整方案文档。如果觉得项目不错,欢迎给仓库点亮 Star
RK3568 eDP显示调试要点:未接屏时应禁用edp_panel与&edp等节点,避免simple-panel虚假上报connected挤占接口。eDP依赖HPD检测,需正确配置hpd-gpios或启用寄存器检测,确保GPIO电平正常。时序必须按实际屏幕(如2560×1600@264.3MHz或1920×1080@148.5MHz)写死,不可复用LVDS参数。背光与电源(VDD)需显式配
从LVDS切到MIPI DSI,需按屏厂DCS初始化表配置,并在dts中关闭HDMI等抢显示的口,确保VP1连接DSI1。常见黑屏源于HDMI抢主显、DSI0误匹配、DCS缺失或资源分区未刷。触摸用FT5406,需匹配竖屏分辨率。验收看/dri/0/summary中DSI-1激活。
Flutter、React Native、Electron、KMP/CMP 等框架如何适配开源鸿蒙?各个开源组织有哪些核心仓库?开发者又该从哪里入门和参与共建?今晚 19:00,开源鸿蒙跨平台系列直播第 13 期,将结合 13 个组织、1610 个仓库、8461 Star 的最新数据,系统解读开源鸿蒙跨平台开发生态。
9月5日,由开放原子旋武开源社区(简称“旋武社区”)与华为联合主办的「Rust × 国产终端软件」技术沙龙在 深圳龙岗·工业软件园 圆满落幕。本次活动聚焦 OpenHarmony 生态适配 、 海思 IoT 、 端侧 AI 三大核心赛道,集结一线技术负责人与开源开发者,深度分享 Rust 在国产终端场景的 规模化落地成果 、工程实践方法论与商业化适配经验,为国产终端软件高性能、高安全开发,提供全新
LVDS屏调试核心:无EDID/HPD,时序须写入设备树,配好四件套与PHY;关闭HDMI等其他显示。注意JEIDA24bit、极性、时钟51.2MHz。孤儿regulator需always-on防37秒掉电。GT911触摸配HCS,关内核节点。验收看summary与实际时钟。
如果你也在用 Expo / React Native,又面临"要上鸿蒙"的诉求,欢迎试试。鸿蒙生态正在起来,Expo 用户不该被挡在门外——这截「Expo → 鸿蒙」的桥,希望能有更多人一起修。觉得有用的话,来个 ⭐ 是对开源最大的鼓励;遇到没适配的包、或想一起丰富兼容表,Issue 和 PR 都欢迎。
「只能亮一块」钉死了。今天走最熟的那根线:HDMI。其它显示口先关掉。现象:板子 HDMI 口插了显示器,显示器灯亮、提示无信号;或者有 logo 没有桌面;或者桌面跑在 HDMI 上,旁边那块 LVDS/MIPI 玻璃只剩背光。
RK3568开源鸿蒙显示:同一时刻只允许一路主屏。真屏只亮背光、桌面跑到HDMI,常因设备树多路显示同时okay,simple-panel永远上报connected抢占主显示。需成组开关panel、控制器、入口、路由,保持一路okay。改显示要刷p4 resource,路径用/dev/block/,并用/proc/device-tree与dri/0/summary验证。
这两年大家聊鸿蒙化,聊得最多的是"原生应用怎么迁";但从 2025 年下半年开始,一个更值得关注的赛道在快速成型——。Flutter、React Native、KMP/CMP、Cordova、Ionic、Electron,甚至仓颉语言原生的 CJMP,都已经有组织化的适配体系和可下载的版本。