许北林:我为什么加入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”开发套件?的更多相关文章
- 破界!Omi生态omi-mp发布,用小程序开发生成Web
omi-mp 是什么 Omi 框架是微信支付线研发部和 AlloyTeam 开源的通用 Web 组件化框架,基于 Web Components,用来开发 PC.手机浏览器或者微信.手Q webview ...
- 【OpenHarmony移植案例与原理】XTS子系统之应用兼容性测试用例开发
摘要:本文主要介绍ACTS应用兼容性测试用例开发编译. 本文分享自华为云社区<移植案例与原理 - XTS子系统之应用兼容性测试用例开发>,作者: zhushy . XTS(X Test S ...
- 【分享汇总】25个主题分享,360°领略OpenHarmony最新技术版图
2021年10月,开放原子开源基金会旗下开源项目 OpenAtom OpenHarmony (以下简称"OpenHarmony") 应邀参加华为2021 HDC 开发者大会,并组织 ...
- 王家林 大数据Spark超经典视频链接全集[转]
压缩过的大数据Spark蘑菇云行动前置课程视频百度云分享链接 链接:http://pan.baidu.com/s/1cFqjQu SCALA专辑 Scala深入浅出经典视频 链接:http://pan ...
- Spring生态
1.简洁有力,干掉了j2ee容器层特别是ejb,spring在rod Johnson十几年前一个人单挑j2ee体系开始,到十年前开始大行其道至今,基本上是java开发领域的事实标准.从此大部分开发者去 ...
- Office 365开发概述及生态环境介绍(二)
本文于2017年3月19日首发于LinkedIn,原文链接在这里 在上一篇 文章,我给大家回顾了Office发展过来的一些主要的版本(XP,2003,2007,2013等),以及在Office客户端中 ...
- Spring生态研习【一】:定时任务Spring-task
本系列具体研究一下spring生态中的重要或者常用的功能套件,今天从定时任务开始,主要是spring-task.至于quartz,下次找个时间再总结. 我的验证环境,是SpringCloud体系下,基 ...
- fw: 专访许鹏:谈C程序员修养及大型项目源码阅读与学习
C家最近也有一篇关于如何阅读大型c项目源代码的文章,学习..融合.. -------------------- ref:http://www.csdn.net/article/2014-06-05 ...
- 阿里云高磊:API网关加速能力聚合与生态集成
导读:本文中,阿里云高级技术专家高磊(花名:埃兰)将聚焦API网关加速能力聚合与生态集成,讲述API如何实现系统间的衔接和API网关的产品升级进程,重点展示了一些新功能.新体验和新变化. 大家下午好, ...
- 发布SaaS加速器:我们不做SaaS,我们只做SaaS生态的推进者和守护者
摘要: 此次阿里云推出的SaaS加速器,涵盖商业中心.能力中心.技术中心三大板块,是阿里巴巴商业.能力和技术的一次合力输出:技术能力在这里沉淀为一个个模块,ISV和开发者只要通过简单的操作,写很少的代 ...
随机推荐
- 【WiFi开发全攻略】WIFI基础知识大全
[WiFi开发全攻略]WIFI基础知识大全 1. Wi-Fi起源 现在我们大家对Wi-Fi肯定都不陌生,无论是笔记本,手机,智能电视,都离不开Wi-Fi.目前我们一般用的都是Wi-Fi5,Wi-Fi6 ...
- 【LeetCode动态规划#03】整数拆分(数学题)
整数拆分 力扣题目链接(opens new window) 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化. 返回你可以获得的最大乘积. 示例 1: 输入: 2 输出: 1 ...
- 如何优化好UITableView,值得思考
如果你觉得 UITableViewDelegate 和 UITableViewDataSource 这两个协议中有大量方法每次都是复制粘贴,实现起来大同小异:如果你觉得发起网络请求并解析数据需要一大段 ...
- 【Azure Redis 缓存】如何使得Azure Redis可以仅从内网访问? Config 及 Timeout参数配置
问题描述 问题一:Redis服务,如何可以做到仅允许特定的子网内的服务器进行访问? 问题二:Redis服务,timeout和keepalive的设置是怎样的?是否可以配置成timeout 0? 问题三 ...
- PHP项目&MVC文件安全&上传&包含&下载&删除&读取等
文件安全-文件包含-动态调试-xhcms 1.安装好xhcms,查看index.php文件. 2.存在include关键字,可以存在文件包含漏洞.看上面代码的逻辑,对r的传参添加魔术引号,如果r没有值 ...
- 微信小程序开发:接入阿里云人像动漫化api接口
前面我已经把腾讯云的人像转动漫化接口接到了我的小程序里,但是和阿里云的对比后,发现阿里云的效果会更好一些,且支持更多特效,如下: 我比较喜欢这个3D特效风格,动画3D也可以,大家拭目以待. 话说上次接 ...
- Spring配置xml自定义事务管理器
上一篇博客讲解了Spring配置xml事务,使用的是Spring框架提供的事务管理器. 在本篇博文当中,来讲解一下使用自定义的事务管理方式. 把上一篇博文当中的这个配置 <bean id=&qu ...
- 新增、修改校验逻辑使用-Validation-的group分组校验完成-2022新项目
一.业务场景 一般在项目开发中少不了新增.修改操作,这两个操作中传递的参数中也仅仅只有一个参数是不一致的,新增操作时没有ID, 修改时有ID,其校验逻辑也只有这一个ID校验的差别.最开始自己在写代码时 ...
- 20个Python random模块的代码示例
本文分享自华为云社区<Python随机数探秘:深入解析random模块的神奇之处>,作者:柠檬味拥抱. 标准库random函数大全:探索Python中的随机数生成 随机数在计算机科学和数据 ...
- keil5 调试
入口 复位 全速运行 先鼠标左键选中一行,然后点击就可以跳转到那一行 点击左侧灰色地带会生成断点,然后点击全速运行会到这个断点 查看动态参数 外设资源栏,可以看外设寄存器 点击运行,就可以实实查看寄存 ...