關於開發 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 的開發當中,這樣形成的一體化產品,有利於未來產品的架構復用,從往后的整個產品線來看是有利的。
高效的項目溝通很有必要
再說。

