首頁(yè) > 評(píng)測(cè) > 讓Cortana和你的樹(shù)莓派say HI

讓Cortana和你的樹(shù)莓派say HI

  • 作者:Rocky編譯|原作來(lái)自Ron Dagdag
  • 來(lái)源:21ic
  • [導(dǎo)讀]
  • 很多人的樹(shù)莓派都在桌子腳下面吃灰,諸如興趣消逝,工作太忙,硬件配置看不上等等諸多原因使然?雌饋(lái)我們國(guó)家的工程師似乎更加水深火熱,困于生活,不能像老外一樣那么富有創(chuàng)作力。但是還是希望大家能夠拿出自己的樹(shù)莓派,擦擦灰,和我們一起找回“初心”,回歸最開(kāi)始的那一份簡(jiǎn)單的快樂(lè)。本文給大家介紹一下如何將時(shí)下當(dāng)紅花旦Cortana與開(kāi)源開(kāi)發(fā)板樹(shù)莓派的邂逅..."Hi~"

| 21ic Rocky編譯,原作來(lái)自Ron Dagdag |轉(zhuǎn)載需注明出處!

Cortana是微軟出品的人工智能助理,與Siri和Google NOW并稱(chēng)為三傻姐妹組

如果你還不知道Cortana是啥,就打開(kāi)你的win10或者去應(yīng)用商店下一個(gè)在手機(jī)上好好感受一下…

 

windows-10-cortana-9325-009.jpg

 

本文并不是要深究Cortana是怎么回事,而是要手把手地教會(huì)你——如何使用Cortana Skill和Bot Framework來(lái)與你的樹(shù)莓派實(shí)現(xiàn)互動(dòng)。

下面可以先看一下最終效果視頻:

 

此教程來(lái)自國(guó)外樹(shù)莓派愛(ài)好者Ron Dagdag,他通過(guò)自己的手機(jī)與樹(shù)莓派完成了一次友好的Say HI。下面是他的教程原文

---

TIM截圖20170721160301.jpg

硬件:樹(shù)莓派3B

軟件:Bot Framework、Cortana Skill、ngrok.io

 

此教程是關(guān)于如何在樹(shù)莓派上創(chuàng)建一個(gè)chatbot并且加入Cortana的功能。通過(guò)簡(jiǎn)單的步驟學(xué)習(xí)你就能夠?qū)崿F(xiàn)一個(gè)’Hello World’bot的demo了。

為什么選擇樹(shù)莓派?這開(kāi)啟了很多種可能性。你可以將其與Johnny-Five連接來(lái)控制你的IoT設(shè)備,使用內(nèi)置的Node-Red,將數(shù)據(jù)推送到VR網(wǎng)站…等等等等,不怕你做不到,就怕你想不到。

在此教程中bot所調(diào)用的名稱(chēng)是’Echo’,需要使用它的時(shí)候,只需說(shuō)出“Cortana,tell Echo hi Raspberry Pi”,然后這句話就會(huì)被傳送到樹(shù)莓派上面,并且回復(fù)給Cortana,Cortana再來(lái)重復(fù)說(shuō)過(guò)的話。

 

介紹:微軟Bot 框架

building-a-conversational-bot-using-bot-framework-and-microsoft-4-638.jpg

先來(lái)介紹一下Bot Framework的功能。通過(guò)Bot Framework可以在各種不同線上平臺(tái)上實(shí)現(xiàn)chatbot的功能,不論是Skype,網(wǎng)站,Slack,郵件,臉書(shū)或者任何平臺(tái)。最近,Cornata最新版Microsoft Build 2017版本發(fā)布,它的底層技術(shù)就是ASP.NET Web API。在Azure Console創(chuàng)建一個(gè)BotID,一個(gè)AppID和一個(gè)APP密碼,然后就可以成功創(chuàng)建你的chatbot了。這些參數(shù)在后面講Chatbot和你的API連接的時(shí)候會(huì)用的上。

Chatbots可以host在Azure App服務(wù)器,或者任何運(yùn)行.NET或Node.js服務(wù)器中。我們這里就將其host在樹(shù)莓派中并且使用NodeIS。

Bot框架提供一個(gè)聊天界面接口和多頻道支持,它僅僅是一個(gè)web API。LUIS.ai是同樣來(lái)自Azure的智能自然語(yǔ)言處理(NLP)服務(wù)。我們可以簡(jiǎn)單略過(guò)它,將精力放在Bot Framework上面,來(lái)搭建這一服務(wù)。

第1步:在樹(shù)莓派上搭建Bot框架

這一部分分為Node.js安裝,Ngrok安裝

Node.js安裝:

這里我們首先確保Raspbain是最新版本,然后我們來(lái)安裝Node.js。

將你的樹(shù)莓派連接至網(wǎng)絡(luò),然后打開(kāi)終端窗口,鍵入如下指令:

wget http://node-arm.herokuapp.com/node_latest_armhf.deb sudo dpkg -i node_latest_armhf.deb

按照如下指令查看你的樹(shù)莓派安裝Node.js版本

node -v                                                                                                                                                                  

如示此版本號(hào)為V。

Ngrok安裝:

Ngrok允許你將本地計(jì)算機(jī)上運(yùn)行的Web服務(wù)器公開(kāi)到互聯(lián)網(wǎng)。只需告訴ngrok你的網(wǎng)絡(luò)服務(wù)器正在偵聽(tīng)哪個(gè)端口即可。

https://ngrok.com/下載對(duì)應(yīng)安裝包

ngrok_D1k3a8CSSg.jpg

 

復(fù)制此repo:https://github.com/rondagdag/cortana-rpibots

git clone                                                                                          

代碼非常的簡(jiǎn)單,將其看作是一個(gè)web API服務(wù)器即可,可以回復(fù)任何發(fā)送過(guò)的信息。

require('dotenv').config();

var restify = require('restify');

var builder = require('botbuilder');

// Setup Restify Server

var server = restify.createServer();

server.listen(process.env.port || process.env.PORT || 3978, function () {

console.log('%s listening to %s', server.name, server.url);

});

// Create chat connector for communicating with the Bot Framework Service

var connector = new builder.ChatConnector({

appId: process.env.MICROSOFT_APP_ID,

appPassword: process.env.MICROSOFT_APP_PASSWORD

});

// Listen for messages from users

server.post('/api/messages', connector.listen());

// Receive messages from the user and respond by echoing each message back (prefixed with 'You said:')

var bot = new builder.UniversalBot(connector, function (session) {

console.log(session.message.text);

session.say(session.message.text, session.message.text);

});

這提供了很多可能,你可以將其與Johnny-Five連接來(lái)控制你的IoT設(shè)備,使用內(nèi)置的Node-Red,將數(shù)據(jù)推送到VR網(wǎng)站…等等等等,不怕你做不到,就怕你想不到。

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評(píng)論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開(kāi)放投稿

熱門(mén)標(biāo)簽
項(xiàng)目外包 more+