许北林
软通动力
资深项目经理
在全球开源趋势下,中国正逐渐成为全球开源软件的主要使用者和核心贡献者。今天我们来认识一位接触 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 生态大家庭。