许北林:我为什么加入OpenHarmony生态?又为什么要做“启航KP”开发套件?

2023-10-31 01:20

本文主要是介绍许北林:我为什么加入OpenHarmony生态?又为什么要做“启航KP”开发套件?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

许北林

软通动力

资深项目经理

在全球开源趋势下,中国正逐渐成为全球开源软件的主要使用者和核心贡献者。今天我们来认识一位接触 OpenHarmony 不到一年,便带领团队成功开发出一款“启航 KP“智能开发套件的开发者——软通动力资深项目经理许北林


作为软通动力硬件团队负责人,许北林负责团队整体技术规划、项目看护、成果交付以及部门、成员的协调沟通。在工作中,许北林积极推进 OpenHarmony 解决方案,同时推进 OpenHarmony 开发板的开源事宜,特别是推动硬件开源以及硬件设计指南,做到“软硬兼施”。


接下来,让我们和许北林一起聊一聊关于他加入 OpenHarmony 生态的初心、对 OpenHarmony 的看法、在开源项目中遇到的困难和收获,以及开源过程中的心得体会等话题。

Q=OpenHarmony A=许北林


Q1:首先非常开心许老师能接受我们的访谈,请您给我们简单地介绍下自己和所在的团队


大家好,我是许北林,是软通动力创新中心硬件开发团队的项目经理。团队主要负责打造业务硬件底座,由硬件对接、硬件技术支持、硬件设计、固件开发组成,对外支持客户顺利对接华为生态,对内建立软通硬件生态。我是 2021 年初正式接触 OpenHarmony 开源项目,希望能够为开源生态做出一些贡献。

Q2:那是什么原因促使您和您的团队加入OpenHarmony生态、参与开源共建呢?您认为,OpenHarmony项目最吸引人的点在哪里?


如今,开源在各行业的应用逐渐加深,开源软件也成为各行业信息系统的重要组成。我一直觉得,和这个世界交互、分享越多,就会有更多的可能性。

从开发者角度来讲,我们不只是现成开源项目的使用者和消费者,更可以是创作者和贡献者。OpenHarmony 是面向万物互联的下一代操作系统, 使用了先进的分布式架构,对开发者非常友好,开发效率也非常高。

加入 OpenHarmony 生态,从自身来讲,可以提升自身能力;从企业来讲,可以壮大公司实力;再往大讲,可以助力国家的发展。在开源的路上,只有通过共商、共建、共享,才能实现共赢,惠及每一个热爱并热心开源事业的组织与个人。

Q3:有了解到您和您的团队开发了一个OpenHarmony的“启航KP”开发套件项目,可以给大家简单介绍下吗?


做这个项目最开始,是打算自研一款软通自己的认证模组,让厂商的模组选择面更加宽广,打开软通的硬件局面。有了核心模组,我们就同步开发了 OpenHarmony 开发板。

这里所说的开发板就是“启航 KP”开发套件,这块开发板搭载了 OpenHarmony 开源操作系统。因为拥有灵活的模块化拓展能力和组网能力,可以适用丰富多样的应用场景,比如汽车、能源等工业和消费领域。

此外,“启航 KP”智能开发套件也已经上架华为开发者联盟生态市场。软通 WiFi Harmony Connect 模组作为软通“启航 KP”开发板核心,提供主控能力,已经成功助力“启航 KP”开发板参加被誉为“中国科技第一展”的高交会及第二届操作系统产业峰会,收获了广泛的关注。另外,产品和相关材料也将被软通教育 OpenHarmony 教师培训收录。作为项目的主导成员之一,我感到非常的自豪。

Q4:在整个开发进程中,您和团队遇到的最大的困难和最大的收获是什么呢?


最大的收获是和团队一起,克服重重困难,成功完成了“启航 KP”开发套件这个项目。这块开发板运用了自研 3861 模组作为核心驱动,并将开发板包含核心板在内的 12 个模块的代码与原理图全部开源,为 OpenHarmony 推广做贡献。

现在回想起整个开发的过程,心里感触颇丰。平均年龄二十来岁的我们都是第一次做开源项目,最开始,每一个人都很兴奋,很多人是第一次实打实地做开发套件,同时也能够为公司实现 0 的突破。但是,现实首先狠狠地给了我们一巴掌。

在研发过程中,我们逐渐发现自身经验的不足,有点无从下手。但是整个团队坚持主动思考,主动学习,甚至在我们吃饭的时候,团队的小伙伴都在思考讨论项目的事情,有时候灵机一现,就赶紧扒拉扒拉饭,冲上楼去敲键盘。虽然这个过程充满挑战和艰辛,但是我觉得这个过程非常宝贵,整个团队都学到了很多东西,并且这种成就感太棒啦!

说到困难,在射频技术方面,没有外部技术支撑,又没有相关技术积累,确实给我们的研发带来了一定的难度。但是面对这些困难,我们一边摸索一边前进,并总结了自己的一套方法论。

首先,我们要完成 3861WiFi 模组天线外的电路布局,再将实际数据导入 HFSS 软件进行 2.4G 射频仿真,这个包括:电路板尺寸、材质、叠层数据;之后根据仿真结果反复调整匹配电路参数和天线尺寸,为了调整到最合适参数,这个过程真的是反复了很多次。

让我最有感触的是,虽然组里一个个都是成天穿着打扮都不太讲究的小伙子,没想到工作起来都这么细心又这么有耐心,遇到困难就查资料、细心询问、认真聆听与提问,在大家的不懈努力下,终于得到在指定带宽内合格的 S11 参数。但是在按照仿真结果进行天线设计的时候,我们没有这个技术经验积累,反复联调近 2 个月的时间,尝试了很多次,也失败了很多次,团队成员就一起组会,一起啃技术文档,一起加班探讨更完善的方案,通过打样后用网络分析仪进行实际测试,再根据结果再次调整匹配电路和天线线长。

功夫不负有心人,我们成功攻克了射频技术的难关,这也提高了团队小伙伴们的信心。同时,授人以鱼不如授人以渔,为了帮助后续的小伙伴们研发更加顺利,硬件开发组把整个开发板的硬件 + 固件的技术文档也一并作为教程输出,希望对别人有所帮助。

Q5:能开发出这么一个优秀的产品,您和您的团队一定付出了很多。可以请许老师给我们分享一下,开发这个产品的整个过程,有什么记忆深刻的经历吗?


我们这个项目是一个 OpenHarmony 开源项目,对于我们来讲,是一个正式加入 OpenHarmony 大家庭的一个机会,同时也是一个挑战。在这个过程中,每一个成员都付出了很多心血。

记得有一次,刚好是周五,临近下班的时候遇到了一个技术难题,好像是有默契一样,谁也没说要走,我立刻发起提议:进会议室讨论个明白,大家二话不说都进了会议室。当大家争执得面红耳赤时,有个同事的电话响了,他外地的女朋友刚赶来找他过周末,我们说让他先回去,但他和女友短暂聊了几句后,放下电话毅然决然地和我们一起继续讨论问题。通过将近 2 个小时的争论,和后续的不断的调整代码和实验,我们终于在 12 点解决了问题。解决问题后,突然听到谁的肚子叫了下,原来大家忙到都忘记了吃晚饭。

现在讲起来,这种情形实在太多了,为了解决问题,我们可以加班,可以争执,可以各抒己见,但私底下又是一群非常要好的朋友。能够和这样一群可爱又敬业的伙伴们一起,是我的荣幸,也让我深刻体会到了团队的重要性,一个程序员的责任心不止是对自己的代码负责,更是与团队共进退,对自己团队的负责。

Q6:在开发项目的过程中,您对OpenHarmony的感触一定特别深。您最想吐槽OpenHarmony哪些方面?或者期待未来OpenHarmony哪些方面能够得到改善、提供更多支持呢?


OpenHarmony 系统很庞大,但是目前也比较基础,我们应该着眼于 OpenHarmony 的优势,如在分布式的交互方式,如物联网上的应用。

当然,也希望 OpenHarmony 能够组织更多的交流会,给开发者多提供一些平台,释放更多的教学内容,大家一起共建 OpenHarmony 生态。


Q7:OpenHarmony目前仍处在开发探索阶段,很多共建单位和生态伙伴还不清楚开源项目的玩法,或不知该如何着手进行开发。可以请许老师给大家分享一条,您认为最重要或最值得分享的心得吗?


最好的办法,就是跟着我们的开源资料,从搭建环境开始学习。我们的开源开发板,全套资料都进行了开发,并有声情并茂的视频讲解。当然,关键点,还是学习者应该亲自完成例程的代码编写,并举一反三,完成学习例程的同时进行自己项目的自研扩展。大家一起共建共享,也一起完善这份开源事业。


Q8:采访的最后,许老师还有什么话特别想分享的吗?


有些事不是看到了希望才去坚持,而是因为坚持了才会看到希望。仰望星空,不如躬身入局,欢迎大家加入 OpenHarmony 生态大家庭。

这篇关于许北林:我为什么加入OpenHarmony生态?又为什么要做“启航KP”开发套件?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/311843

相关文章

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录