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

讓Cortana和你的樹莓派say HI

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

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

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

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

 

windows-10-cortana-9325-009.jpg

 

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

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

 

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

---

TIM截圖20170721160301.jpg

硬件:樹莓派3B

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

 

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

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

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

 

介紹:微軟Bot 框架

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

先來介紹一下Bot Framework的功能。通過Bot Framework可以在各種不同線上平臺(tái)上實(shí)現(xiàn)chatbot的功能,不論是Skype,網(wǎng)站,Slack,郵件,臉書或者任何平臺(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在樹莓派中并且使用NodeIS。

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

第1步:在樹莓派上搭建Bot框架

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

Node.js安裝:

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

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

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

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

node -v                                                                                                                                                                  

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

Ngrok安裝:

Ngrok允許你將本地計(jì)算機(jī)上運(yùn)行的Web服務(wù)器公開到互聯(lián)網(wǎng)。只需告訴ngrok你的網(wǎng)絡(luò)服務(wù)器正在偵聽哪個(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ā)送過的信息。

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連接來控制你的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
  • 我要投稿
  • 歡迎入駐,開放投稿

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