日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我的 Rokid 之路 附:记事本技能全部源代码

發(fā)布時(shí)間:2025/7/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我的 Rokid 之路 附:记事本技能全部源代码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天(2017年12月25號,圣誕節(jié),Rokid有心啦,木有收到圣誕節(jié)禮物的我,給我送來Rokid All in ONE 全棧語音智能開發(fā)套件作為圣誕節(jié)驚喜)

開箱后只能說做工相當(dāng)不錯(cuò),很精致。

廢話不多說,正式走一遍遇到的坑,官方的開發(fā)指南其中已經(jīng)寫好了很多必要的入門流程。

目前開發(fā)的技能

  • 記事本

    • 基本功能框架完成
    • 歡迎各位開發(fā)提交PR
  • 本人遇坑及經(jīng)驗(yàn)總結(jié)如下

  • 沒迅速找到官方的開發(fā)指南,直接進(jìn)官方文檔就上,然后無法通過APP內(nèi)置的點(diǎn)擊6下的開發(fā)模式連接Rokid,查詢官方文檔,可得知,需要通過Pebble設(shè)備方式進(jìn)行連接,如果以后還有其它問題建議先進(jìn)入開發(fā)套件常見問題解決方案匯總。
  • 在配置WiFi時(shí),本人路由器名稱設(shè)置了默認(rèn)隱藏,因此在通過藍(lán)牙配置WiFi連接時(shí),一直無法配置通過,總結(jié)以往raspberry pi把玩經(jīng)驗(yàn),果斷嘗試關(guān)閉隱藏WiFi,得以解決無法配置連接WiFi的問題,導(dǎo)致該問題需要修改固件里的WiFi連接腳本,這個(gè)本人就先不嘗試了,具體問題及解決方案已經(jīng)發(fā)送到Rokid討論里了,希望能改進(jìn)無法正常連接隱藏的WiFi,解決資料
  • 如果在APP的配網(wǎng)藍(lán)牙連接這里搜索不到設(shè)備,要么使用點(diǎn)擊6下的方式進(jìn)入配網(wǎng)流程,要么使用Pebble設(shè)備的配網(wǎng)流程。
  • 本人測試通過的可信刷機(jī)鏡像(其實(shí)就是官方鏡像)

    • Android
    • Linux
  • CPU板正對USB Type-c 的那個(gè)按鍵就是刷機(jī)用的按鍵,先按住,再通電,看出USB_Burning_Tool上出現(xiàn)設(shè)備,就可以松了,比用Debug板進(jìn)行刷機(jī)方便很多,很人性化。
  • 在Windows下使用adb shell連接到開發(fā)板后,使用ls命令,如果出現(xiàn)類似如下的內(nèi)容,可能是自帶的字符串著色與Windows的console不兼容,登入shell后,直接執(zhí)行 alias ls='busybox ls --color=never' 即可。建議Rokid預(yù)安裝bash作為備用選項(xiàng),或者開發(fā)者自行下載使用Cmder軟件,可解決以上問題。(不怎么直接使用sh,一直用的bash或者zsh,沒有出現(xiàn)過類似問題)

    [0;0mdefault.prop[0m [1;36mlib64[0m [1;34mopt[0m [1;34msrv[0m [1;34mdev[0m [1;34mlibexec[0m [1;34mproc[0m
  • 關(guān)于WiFi連接及配網(wǎng)

    • 坑走完之后就是Demo了,能正式配置Rokid的WiFi連接,剩下的就很方便了,通過官方開發(fā)指南先做一個(gè)簡單的人機(jī)對話,在開發(fā)過程中與Rokid的直接交流語言的JavaScript,因此若要開發(fā)更為靈活的服務(wù)功能,需要依托其它的后臺接口開發(fā)。

    關(guān)于入口詞的一些事

    • Rokid 中可能涉及的入口詞問題,本人發(fā)現(xiàn)Rokid是針對技能貌似是獨(dú)占的(還沒有完全確定這一點(diǎn)),前期可能刺激開發(fā)者或者其他人員搶占入口詞,建議平臺針對這點(diǎn)進(jìn)行入口詞融合、增加針對用戶或者設(shè)備調(diào)試不同技能的優(yōu)先級功能。

    順便來幾張開箱照(圖片太丑,請點(diǎn)擊下方鏈接查看):

    • 未拆圖
    • 已全拆圖

    技能開發(fā)過程需要知道的事情

    技能類型說明

    屬性開放性開發(fā)平臺
    公有所有用戶云端
    私有 - 云端指定用戶云端
    私有 - 本地指定用戶本地(/opt/apps或/data/apps目錄)

    關(guān)于rokidos-cli

    整理中。。。

    關(guān)于語言交互的設(shè)置

  • 詞表

    • Rokid 預(yù)定義詞表
    • 自定義詞表
      自定義詞表除了可以通過普通的一行一個(gè)詞的方式設(shè)定自己的詞表,還可以通過如下的方式引用其它詞表(引用詞表以 $ 符號開頭)

      $ROKID.YES_ZH $ROKID.NO_ZH
    • setConfirm
      如果要通過setConfirm獲取用戶對話過程的任意內(nèi)容,可以參考如下方式
      意圖定義:

      {"intent": "RecordAny","slots": [{"name": "content","type": "ROKID.ANY"}],"user_says": ["!$content"] }

      服務(wù)代碼中對應(yīng)handler中使用如下setConfirm語句:

      this.setConfirm({confirmIntent: 'RecordAny',confirmSlot: 'content' });
  • Session

    • this.setSession(key, value)中,所傳value為null時(shí),該值不會被記錄。
  • dbServer

    • dbServer.set(key, value, callback) 該方法為異步形式,因此涉及數(shù)據(jù)庫操作時(shí),應(yīng)該將其后的業(yè)務(wù)邏輯放于callback中,否則數(shù)據(jù)還沒取回就執(zhí)行到后面的業(yè)務(wù)中。
    • get:Rokid.dbServer.get(key, callback)與Rokid.dbServer.delete(key,callback)是否為異步形式尚未驗(yàn)證,建議同樣將數(shù)據(jù)庫操作之后的業(yè)務(wù)邏輯放于callback中。
    • 鑒于關(guān)于數(shù)據(jù)庫操作為異步形式,因此建議相關(guān)開發(fā)者自建統(tǒng)一的數(shù)據(jù)庫存取管理的相關(guān)代碼以避免多層嵌套(具體參考代碼稍后會以GitHub的形式放出),或者改寫為Promise形式,目前尚未改寫成功。
    • 集成測試中的后端服務(wù)測試與服務(wù)列表中的測試用例在邏輯上不屬于同一個(gè)會話,因此在調(diào)試中需要做區(qū)別,也就是數(shù)據(jù)庫里的數(shù)據(jù)不共享,需要單獨(dú)各自添加測試數(shù)據(jù)。
  • 后續(xù)進(jìn)一步整合raspberry pi與Rokid

    該文章持續(xù)更新中。。。

    本文參與了 SegmentFault「Rokid 開發(fā)板試用,開啟你的嵌入式開發(fā)之旅」活動,歡迎正在閱讀的你申請?jiān)囉?#xff0c;一起交流開發(fā)心得。 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的我的 Rokid 之路 附:记事本技能全部源代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。