資料介紹
描述
介紹
當(dāng)我們開始 Casa Jasmina 項目時,我們清楚地想到了“家的意義是什么?”這個問題,數(shù)字時代在我們生活的私人、秘密場所發(fā)生的巨大變化使這個問題變得更有意義。
在這種情況下,對話式 UI 的興起(或回歸?)為有趣的語音交互做好了準(zhǔn)備,讓我們的眼睛從屏幕上解放出來。在語音平臺中,Snips 提供了一個強大的替代主要谷歌/亞馬遜主流產(chǎn)品的選擇——我們喜歡這個,因為它更透明,可以在霧計算環(huán)境中離線工作。
Casa Jasmina 是/成為一個臨時的家,一個由臨時居民居住的展覽空間,因此我們致力于為這個特定的目標(biāo)群體開發(fā)解決方案。臨時住所確實是新酒店,我們在考慮短期住宿甚至老年人需求的情況下進行了這項工作。特殊需求的特殊工具。
我們以一種非常天真的方式嘗試創(chuàng)建一個簡單的層來滿足客人對家庭環(huán)境的可能要求。這也意味著技術(shù)驅(qū)動的解決方案,但這首先迫使我們規(guī)范存儲、保持組織的位置。我們想創(chuàng)建一個通用的多語言家庭標(biāo)簽系統(tǒng)。我們從定義英語/中文/意大利語詞匯開始——請通過添加你的語言來貢獻。我們后來準(zhǔn)備了使用磁鐵貼在家具上的標(biāo)志(您可以自己做),我們希望簡化語言選擇器,讓房東可以在他的城市/家中選擇最相關(guān)的語言(柏林的房東可能會覺得意大利語不合適,并且會加上法語和西班牙語等……)
Node-Red、開放硬件和 Snips:無限機會
開源生態(tài)系統(tǒng)為家庭環(huán)境提供了許多具有挑戰(zhàn)性和強大的機會。Home Assistant、OpenHab和許多其他軟件的社區(qū)不斷擴大和壯大。作為不同解決方案的集成商,橋接行業(yè)和 DIY 標(biāo)準(zhǔn),我們選擇在Node-Red 中實施我們的家庭自動化。
先決條件
為了完成這個項目,您將需要:
- Snips.ai 設(shè)備和帳戶
- Node-RED 實例
Node-RED 是必需的,因為該應(yīng)用程序?qū)⑵溆米鲾?shù)據(jù)庫配置和自動化的 REST API。您可以將兩者安裝在同一臺設(shè)備上,但如果您也將 Node-RED 用于其他流程,我建議您將它們分開。
基本安裝
在存儲庫中,您會找到node-red-flow.json 。此文件是首次設(shè)置數(shù)據(jù)庫的基本模板。在里面你會發(fā)現(xiàn)數(shù)據(jù)庫 http 請求流和一些注入,可以根據(jù)你自己的需要輕松更改數(shù)據(jù)庫內(nèi)容(例如更改用戶名或類別的答案)。
您可以通過復(fù)制 Node-RED 實例的 url 并在瀏覽器的搜索欄中添加/simpleuidb來檢查 http 調(diào)用是否有效,它應(yīng)該會為您提供一個包含您設(shè)置的所有內(nèi)容的 json 對象。
現(xiàn)在 Node-RED 端已完成并正常工作,我們可以切換到 Snips.ai 端。
打開您的 Web 瀏覽器并使用您的憑據(jù)連接到,在這里您將找到您到目前為止創(chuàng)建的所有助手。我們的應(yīng)用程序在撰寫本文時僅適用于英語,因此您需要英語助手才能使用它。
打開你的助手,你會看到你安裝的應(yīng)用程序;要安裝一個新的,打開應(yīng)用程序商店并尋找簡單的用戶界面或點擊此鏈接。安裝該應(yīng)用程序,然后通過單擊部署來部署您新培訓(xùn)的助手。
將命令粘貼到您的計算機終端,讓 SAM 實用程序執(zhí)行它的工作。片刻之后,安裝過程將要求您輸入數(shù)據(jù)庫 url:復(fù)制并粘貼您用于檢查數(shù)據(jù)庫是否正常工作的 url ( http://:1880/simpleuidb )。現(xiàn)在系統(tǒng)已配置好,Snips 將回答“嘿 Snips,幫幫我!”。
高級使用和配置
該應(yīng)用程序支持多種多樣的用戶集成和定制。通過在控制臺上分叉它,您可以訪問我們配置的所有意圖,并且可以根據(jù)自己的需要修改它們。
簡單的用戶界面支持快捷方式。您不必每次都說“嘿 Snips ,幫幫我”,而是使用類別的關(guān)鍵字來選擇您想要的內(nèi)容(例如“嘿 Snips,交通”為您提供交通信息)。您可以通過向意圖添加示例來添加任何類型的快捷方式。
您可以通過在類別中定義 url 字段來向特定類別添加操作。
"transportation":{
"categories":null
"transportation":"Check the dashboard to find the tourist guide, we are close to taxis and underground station",
"url":"http://192.168.0.115:1880/callback" //add this field to add actions
}
這樣,當(dāng) Snips 檢測到意圖時,它會向您指定的地址發(fā)出 http get 請求。
添加新類別非常簡單。在數(shù)據(jù)庫中,將您的新類別添加到類別數(shù)組中,并添加一個類別對象以明確是否存在子類別和答案。
{
...
"categories":["food","sleeping","bathroom","cleaning","temperature","emergency","transportation","NEW CATEGORY"],
...
"NEW CATEGORY":{"categories":null,
"NEW CATEGORY":"SNIPS ANSWER"
}
...
}
然后在意向控制臺中,在 WhereIs 意向中添加與您添加的類別名稱相匹配的示例。這樣 Snips 將識別類別并且應(yīng)用程序?qū)⒄_路由它。
添加帶有子類別的類別需要創(chuàng)建新意圖并編輯操作腳本。在 Simple UI 應(yīng)用程序中,為您的類別添加意圖,您將子類別放在其中作為示例。參數(shù)字段必須稱為“類別”。
在腳本中使用模板回調(diào) (food_callback) 并根據(jù)您的配置更改參數(shù)。
def NEWCATEGORY_callback(self, hermes, intent_message):
global databaseurl
#get categories from database
good_category = requests.get(
databaseurl).json().get("NEW CATEGORY").get("categories")
category = None
if intent_message.slots: #check is user request match subcategory
category = intent_message.slots.category.first().value
if category.encode("utf-8") not in good_category:
category = None
if category is None:
Answer = "Sorry I didn't understand. Say " + \
", ".join(good_category) + " to get help."
hermes.publish_continue_session(
intent_message.session_id, Answer, ["casajasmina:INTENTNAME"])
else:
#get the answer from the database
Answer = str(requests.get(
databaseurl).json().get("NEW CATEGORY").get(category))
hermes.publish_end_session(intent_message.session_id, Answer)
然后將其添加到與您的意圖名稱匹配的master_intent_callback elif 條件和whereIs_callback中。這樣,助手將能夠?qū)⒛恼埱舐酚傻秸_的流程。
#generic callback for every category in the database, handles single and multi category topics
def whereIs_callback(self, hermes, intent_message):
.....
#multi category handling
Answer = "You asked for " + category + \
", I can give you tips on " + ", ".join(subcategory)
#add new intent here...
hermes.publish_continue_session(intent_message.session_id, Answer, ["casajasmina:Food", "casajasmina:emergency","casajasmina:INTENTNAME])
.....
def master_intent_callback(self, hermes, intent_message):
coming_intent = intent_message.intent.intent_name
if coming_intent == 'casajasmina:WhereIs':
self.whereIs_callback(hermes, intent_message)
elif coming_intent == 'casajasmina:ConnectMe':
self.askHelp_callback(hermes, intent_message)
elif coming_intent == 'casajasmina:Food':
self.food_callback(hermes, intent_message)
elif coming_intent == 'casajasmina:emergency':
self.emergency_callback(hermes, intent_message)
elif coming_intent == 'casajasmina:INTENTNAME':
self.NEWCATEGORY_callback(hermes, intent_message)
結(jié)論
該項目正在持續(xù)開發(fā)中。我們正在添加新功能,讓助手感覺不那么機械和笨重,完善其結(jié)構(gòu)和交互。下一個里程碑是發(fā)布多語言支持(最初是意大利語)并簡化標(biāo)簽系統(tǒng)和 Snips 行為之間的集成。
- 簡單的水質(zhì)分析開源分享
- 簡單的逆變器電路開源
- 簡單的擲骰子草圖開源分享
- Cosmac ELF1802 UI界面開源硬件
- 簡單的錄制和播放開源分享
- 簡單的機器人開源分享
- RC ONE KIM1副本(UI修訂版C)開源項目 0次下載
- 呼吸機UI和傳感器板5 30 2020開源
- 呼吸機UI和傳感器板開源分享
- 簡單電源開源項目
- 用于OHOS最簡單的UI驗證庫教程 1次下載
- 開源網(wǎng)絡(luò)協(xié)議分析器WireShark軟件下載 15次下載
- ThinkPHP 6.0完全開發(fā)手冊資源下載 13次下載
- 啟動程序臨時圖形用戶界面 3次下載
- VR設(shè)計3種UI類型介紹及房間規(guī)模VR交互式體驗設(shè)計UI技巧 10次下載
- 【AWTK開源智能串口屏方案】設(shè)計UI界面并上傳到串口屏 769次閱讀
- TMSVCL UI Pack v13.0的新特性 1573次閱讀
- 臨時用電裝置的選擇 1310次閱讀
- 臨時用電的要求事項 5975次閱讀
- Element UI的安裝 7381次閱讀
- 編寫機智云安卓開源框架的UI界面 1777次閱讀
- 方舟開發(fā)框架新增開源組件及其使用方法介紹 2669次閱讀
- 三種自定義彈窗UI組件封裝的實現(xiàn) 3191次閱讀
- 改善優(yōu)化網(wǎng)站UI設(shè)計的七個技巧 2767次閱讀
- Linux UI界面:自定義 GNOME 主題 5274次閱讀
- UI設(shè)計師如何設(shè)計好圖標(biāo),需遵循這七個規(guī)則 2462次閱讀
- 數(shù)據(jù)測試:UI測試常見BUG 2550次閱讀
- UI設(shè)計基礎(chǔ)知識 4385次閱讀
- 谷歌開源TFGAN輕量級的工具庫 目的是讓訓(xùn)練和評估GAN變得更加簡單 4963次閱讀
- ZedBoard學(xué)習(xí)手記(八) 更大的目標(biāo)! 1031次閱讀
下載排行
本周
- 1晶體三極管的電流放大作用詳細說明
- 0.77 MB | 30次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費下載
- 4.03 MB | 23次下載 | 1 積分
- 3多級放大電路的學(xué)習(xí)課件免費下載
- 1.81 MB | 20次下載 | 2 積分
- 4九陽豆?jié){機高清原理圖
- 2.47 MB | 8次下載 | 1 積分
- 5數(shù)能NU501系列恒流芯片型號選型表
- 0.04 MB | 2次下載 | 免費
- 6AIWA J470維修手冊 (可直接打印)
- 3.16 MB | 2次下載 | 10 積分
- 7基于51/32單片機按鍵控制步進電機正反轉(zhuǎn),A4988驅(qū)動
- 2.05 MB | 2次下載 | 1 積分
- 8STM32英文參考手冊
- 13.17 MB | 1次下載 | 免費
本月
- 1晶體三極管的電流放大作用詳細說明
- 0.77 MB | 30次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費下載
- 4.03 MB | 23次下載 | 1 積分
- 3第十一屆 藍橋杯 單片機設(shè)計與開發(fā)項目 省賽 程序設(shè)計試題及源碼
- 90.88KB | 23次下載 | 3 積分
- 4Python從入門到精通背記手冊
- 18.77 MB | 22次下載 | 1 積分
- 5多級放大電路的學(xué)習(xí)課件免費下載
- 1.81 MB | 20次下載 | 2 積分
- 6STM32F103C8T6開發(fā)板最小系統(tǒng)原理圖
- 0.78 MB | 18次下載 | 免費
- 7SX1308應(yīng)用電路圖與SX1308升壓電路圖
- 0.18 MB | 8次下載 | 1 積分
- 8東芝彩色電視機29SF6C維修說明書
- 4.86 MB | 8次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183337次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81585次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論