关于开发 Web AI 的思考(kendryte K210)
关于开发 Web AI 的思考(kendryte K210)
为了更好的推展和使用 Web AI 硬件,应该要综合考虑周边设施的基础和长期发展的考虑,如果未来做为产品给非专业的人去使用,那么应该重点关心一些产品缺陷和需求痛点。
- 本产品应当没有特别明显的缺陷,如果存在缺陷,也应该提供解决方案。
- 本产品应该关注活用开源仓库和相关的周边设施,而不是去偏离主流。
- 本产品应该放大自身的优势和用途,提高用户的评估和开发应用的期望值。
引用开源的仓库
截至目前,与 K210 有关的主力仓库有如下,均拥有比较好的潜力:
源码仓库
- https://github.com/sipeed/MaixPy
- https://github.com/kendryte/kendryte-freertos-sdk
- https://github.com/loboris/MicroPython_K210_LoBo
应用开发资料
- https://github.com/mushroom-x/K210_Tutorial
- https://github.com/sipeed/MaixPy_DOC
- https://github.com/sipeed/MaixPy_scripts
针对用户开发的 IDE
支持
理论上,要能够引入更多人的开发,基本的开发环境应该要能够正常使用,目前 Web AI 在串口的设计缺陷上影响了一般用户使用 MaxiPy IDE
,虽然未来可以放弃对其的支持,但一定是建立在有更好的 IDE
选择的基础上,今后可以基于其他编辑器开发插件或改写 IDE
。
- 理论上当硬件修复了串口的情况,可以暂时使用
MaxiPy IDE
代替一般开发场合。 - 但
MaxiPy IDE
没有文件管理功能,这需要利用rshell
或mpfshell
这类基础工具,也可以使用vscode
上的一些micropython
的支持工具,方便将一些依赖文件上传到内部存储供调用。
因此需要明确需求,究竟要怎样的 IDE
,是否应该基于官方的思路来做,又或者是分版本进行维护,应该追求用最少的成本做最好的效果。
事实上还是得回到用户需求下评估可能的需求点,目前个人提出一种出于习惯的评估,提供专用 IDE
应当满足如下基本功能。
- 能够判断版型和连接
WebAI
硬件。 - 能够较为容易的获得和开箱即用。
- 满足基本的 Python 代码编辑功能。
- 能够进行内部文件的管理,如文件的上传下载删除等。
- 能够支持 AI 方面的预览功能,或是视频、GUI 设计方面,也就是需要一个帧缓冲区。
- 从这个角度来看,在目前还没有足够的人力的情况下,还是保守一些,先使用
maixPy ide
过度为好,等上述功能都有了对应的代码解决方案后,就可以考虑整合成新IDE
,从而替代它。
综合的验证硬件资源
目前个人认为,存在下述问题
第一个,作为 RD 却没有 MaxiPy
官方版型对照验证,这是有问题的(不了解自己的同行是不行的),因为我们是基于成熟方案做的开发,不应该在硬件上使用不成熟的硬件开发,容易拖慢软件开发进度。
第二个,是应该确定硬件用途的范围,用户可能的需求有哪些,不应该市场调研不充分的情况下做出选型,也许是因为市面上只有这一家?尤其是为避免误解可能性,毕竟硬件不可能适用所有场景,那么此时就应该比较明确这个硬件的基本参数和准确的硬件属性。
第三个,应该趁早建立单元测试,无论是提供给工厂产测,还是提供给开发者做硬件检查都很有帮助,进一步则是运行 micropython
的测试框架。
第四个,在距离终版之前,硬件的固件相关代码资源应当要相对正确,以备开发和出厂固件的考虑。
沿用 Web BIT 的开发基础
如果按产品线的规划来看,应该要迭代以往的功能,如进一步整合以往的代码资源,以及同步到 Web BIT 的开发当中,这样形成的一体化产品,有利于未来产品的架构复用,从往后的整个产品线来看是有利的。
高效的项目沟通很有必要
再说。