首页 > 评测 > 让Cortana和你的树莓派say HI

让Cortana和你的树莓派say HI

Cortana   树莓派   Bot Framework   ngrok   语音助理   AI   
  • 作者:Rocky编译|原作来自Ron Dagdag
  • 来源:21ic
  • [导读]
  • 很多人的树莓派都在桌子脚下面吃灰,诸如兴趣消逝,工作太忙,硬件配置看不上等等诸多原因使然。看起来我们国家的工程师似乎更加水深火热,困于生活,不能像老外一样那么富有创作力。但是还是希望大家能够拿出自己的树莓派,擦擦灰,和我们一起找回“初心”,回归最开始的那一份简单的快乐。本文给大家介绍一下如何将时下当红花旦Cortana与开源开发板树莓派的邂逅..."Hi~"

| 21ic Rocky编译,原作来自Ron Dagdag |转载需注明出处!

Cortana是微软出品的人工智能助理,与Siri和Google NOW并称为三傻姐妹组

如果你还不知道Cortana是啥,就打开你的win10或者去应用商店下一个在手机上好好感受一下…

 

windows-10-cortana-9325-009.jpg

 

本文并不是要深究Cortana是怎么回事,而是要手把手地教会你——如何使用Cortana Skill和Bot Framework来与你的树莓派实现互动

下面可以先看一下最终效果视频:

 

此教程来自国外树莓派爱好者Ron Dagdag,他通过自己的手机与树莓派完成了一次友好的Say HI。下面是他的教程原文

---

TIM截图20170721160301.jpg

硬件:树莓派3B

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

 

此教程是关于如何在树莓派上创建一个chatbot并且加入Cortana的功能。通过简单的步骤学习你就能够实现一个’Hello World’bot的demo了。

为什么选择树莓派?这开启了很多种可能性。你可以将其与Johnny-Five连接来控制你的IoT设备,使用内置的Node-Red,将数据推送到VR网站…等等等等,不怕你做不到,就怕你想不到。

在此教程中bot所调用的名称是’Echo’,需要使用它的时候,只需说出“Cortana,tell Echo hi Raspberry Pi”,然后这句话就会被传送到树莓派上面,并且回复给Cortana,Cortana再来重复说过的话。

 

介绍:微软Bot 框架

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

先来介绍一下Bot Framework的功能。通过Bot Framework可以在各种不同线上平台上实现chatbot的功能,不论是Skype,网站,Slack,邮件,脸书或者任何平台。最近,Cornata最新版Microsoft Build 2017版本发布,它的底层技术就是ASP.NET Web API。在Azure Console创建一个BotID,一个AppID和一个APP密码,然后就可以成功创建你的chatbot了。这些参数在后面讲Chatbot和你的API连接的时候会用的上。

Chatbots可以host在Azure App服务器,或者任何运行.NET或Node.js服务器中。我们这里就将其host在树莓派中并且使用NodeIS。

Bot框架提供一个聊天界面接口和多频道支持,它仅仅是一个web API。LUIS.ai是同样来自Azure的智能自然语言处理(NLP)服务。我们可以简单略过它,将精力放在Bot Framework上面,来搭建这一服务。

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

这一部分分为Node.js安装,Ngrok安装

Node.js安装:

这里我们首先确保Raspbain是最新版本,然后我们来安装Node.js。

将你的树莓派连接至网络,然后打开终端窗口,键入如下指令:

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

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

node -v                                                                                                                                                                  

如示此版本号为V。

Ngrok安装:

Ngrok允许你将本地计算机上运行的Web服务器公开到互联网。只需告诉ngrok你的网络服务器正在侦听哪个端口即可。

https://ngrok.com/下载对应安装包

ngrok_D1k3a8CSSg.jpg

 

复制此repo:https://github.com/rondagdag/cortana-rpibots

git clone                                                                                          

代码非常的简单,将其看作是一个web API服务器即可,可以回复任何发送过的信息。

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设备,使用内置的Node-Red,将数据推送到VR网站…等等等等,不怕你做不到,就怕你想不到。

  • 本文系21ic原创,未经许可禁止转载!

网友评论