tag 标签: yaler

相关博文
  • 热度 31
    2014-5-28 17:47
    843 次阅读|
    0 个评论
    怎样 用你的电话 呼叫Arduino,用Twilio和Yaler.net就可以做到! Twilio是一个网页服务器,可以把所有的消息都转移到电话中。这是一个用于电话通讯的REST API,托管于云服务器。基于这样的环境,当有人呼叫Arduino预先设好的电话号时,Twilio向Arduino请求一个新的voice.xml文件。响应内容读给呼叫人Alice,一端发向语音识别引擎的Twilio的文本的语音。 Yaler.net 能使网页访问防火墙后的嵌入式设备,NAT或者一个移动网络路由。这就使Twilio在Arduino**问voice.xml文件,Arduino处于一个内部网络,因此它没有自己的公共IP地址(另:我是Yaler的创建者之一) 这里的演示使用一个温度传感器,其实任意传感器都行。一个真实的产品实例是Canary(现在叫Birdi)烟雾侦测器,业主可以打电话询问电池是不是还有电。 在一个更抽象的层面,这个教程展示了,在一个开放的物联网,模块化的云服务可以随意的融合到 建立新颖、简单且可靠的解决方案中。为了HTTP和Webhooks 的胜利!让我们开始… 材料 - Arduino Uno (e.g. https://www.adafruit.com/products/50) - USB 标准 A-B线 (e.g. http://www.adafruit.com/products/62) - Arduino 以太网插板 (e.g. http://www.adafruit.com/products/201) - 网线 (e.g. http://www.adafruit.com/products/995) - 模拟温度传感器 (e.g. https://www.adafruit.com/products/165) - 面包板用线 (e.g. http://www.adafruit.com/products/153) - 面包板 (e.g. http://www.adafruit.com/products/64) 步骤1  给传感器布线   给Arduino加一个以太网插板,并如图连接温度传感器。更多关于TMP36传感器的内容,参见: http://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor 如果你想添加其他(数字)传感器,记住,一些引脚已被太网插板用了。 步骤2:安装Yaler库 在https://yaler.net/arduino上按照步骤安装库文件。 完成后,注册https://yaler.net/申请一个免费试用账户,并记下中继域名(不需要密钥) 步骤3:Arduino编译 下载 TwilioYalerWebService Arduino 源代码 https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default 打开Arduino代码 程序执行了一个非常简单的Web server,侦听进来的HTTP请求。一旦一个请求过来,程序就会用一个XML文件应答。服务器不要求 URL 路径是/ 或者是/voice.xml 更改MAC地址 确保Arduino代码中的MAC地址是唯一的。特别是如果很多Arduino在同一个局域网工作。一个简单得到唯一地址的方式是,查到你电脑的MAC,然后在最后以为上加1。 键入你的中继域名 用不着用  EthernetServer server(80)  创建本地服务器;我们通过Yaler接转 try.yaler.net, 如下行: YalerEthernetServer server(“try.yaler.net”, 80, “RELAY_DOMAIN”); 将 RELAY_DOMAIN  换成你的中继域名,例如  gsiot-ffmq-ttd5  类型: YalerEthernetServer server(“try.yaler.net”, 80, “gsiot-ffmq-ttd5″); 注意你也可以使用本地服务器,如果你知道怎样配置端口,在有本地防火墙时怎样给来的HTTP请求开一个入口。重要的是Twilio可以从云平台访问Arduino。 保存更改并上传 保存所有的更改,并将程序上传至Arduino。让USB线连接到你的电脑,打开串口调试工具看一下调试输出。 步骤4:访问Arduino 用任意浏览器访问Arduino Yaler 库让你的 Arduino (带有XML文件) 在公共网络 http://RELAY_DOMAIN.try.yaler.net/ 上是可行的,用于转发域  gsiot-ffmq-ttd5  ,URL是  http://gsiot-ffmq-ttd5.try.yaler.net/ 或者,使其在Twilio上更好看: ttp://gsiot-ffmq-ttd5.try.yaler.net/voice.xml 检查XML文档 XML文档的内容告诉Twilio怎样应答一个来电。你甚至可以选择文字转语音。这里是Alice。Twilio的XML格式被叫做TwiML。详见: https://www.twilio.com/docs/api/twiml 注意,应答文字包涵准确的温度。让你的传感器升温,在你的Web浏览器上按F5刷新一下。 错误排查 如果你得到一个空白页面或是错误,请先检查你的以太网线是否插紧,并检查 https://yaler.net/browser 的特定调试。   步骤5:建立一个Twilio号码 注册 首先,在https://www.twilio.com/上获得一个Twilio账号。 继续阅读: http://blog.iwiznet.cn/?p=6273
  • 热度 22
    2014-5-28 17:43
    1805 次阅读|
    0 个评论
    怎样 用你的电话 呼叫Arduino,用Twilio和Yaler.net就可以做到! Twilio 是一个网页服务器,可以把所有的消息都转移到电话中。这是一个用于电话通讯的REST API,托管于云服务器。基于这样的环境,当有人呼叫Arduino预先设好的电话号时,Twilio向Arduino请求一个新的voice.xml文件。响应内容读给呼叫人Alice,一端发向语音识别引擎的Twilio的文本的语音。 Yaler.net  能使网页访问防火墙后的嵌入式设备,NAT或者一个移动网络路由。这就使Twilio在Arduino**问voice.xml文件,Arduino处于一个内部网络,因此它没有自己的公共IP地址(另:我是Yaler的创建者之一) 这里的演示使用一个温度传感器,其实任意传感器都行。一个真实的产品实例是 Canary (现在叫Birdi)烟雾侦测器,业主可以打电话询问电池是不是还有电。   在一个更抽象的层面,这个教程展示了,在一个开放的物联网,模块化的云服务可以随意的融合到 建立新颖、简单且可靠的解决方案中。为了HTTP和 Webhooks  的胜利!让我们开始…   材料 - Arduino Uno (e.g.  https://www.adafruit.com/products/50 ) - USB 标准 A-B线 (e.g.  http://www.adafruit.com/products/62 ) - Arduino 以太网插板 (e.g.  http://www.adafruit.com/products/201 ) - 网线 (e.g.  http://www.adafruit.com/products/995 ) - 模拟温度传感器 (e.g.  https://www.adafruit.com/products/165 ) - 面包板用线 (e.g.  http://www.adafruit.com/products/153 ) - 面包板 (e.g.  http://www.adafruit.com/products/64 ) 步骤1  给传感器布线   给Arduino加一个以太网插板,并如图连接温度传感器。更多关于TMP36传感器的内容,参见: http://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor 如果你想添加其他(数字)传感器,记住,一些引脚已被太网插板用了。 步骤2:安装Yaler库     在 https://yaler.net/arduino 上按照步骤安装库文件。 完成后,注册 https://yaler.net/ 申请一个免费试用账户,并记下中继域名(不需要密钥) 步骤3:Arduino编译   下载 TwilioYalerWebService Arduino 源代码 https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default 打开Arduino代码 程序执行了一个非常简单的Web server,侦听进来的HTTP请求。一旦一个请求过来,程序就会用一个XML文件应答。服务器不要求 URL 路径是/ 或者是/voice.xml 更改MAC地址 确保Arduino代码中的MAC地址是唯一的。特别是如果很多Arduino在同一个局域网工作。一个简单得到唯一地址的方式是,查到你电脑的MAC,然后在最后以为上加1。 键入你的中继域名 用不着用  EthernetServer server(80)  创建本地服务器;我们通过Yaler接转 try.yaler.net, 如下行: YalerEthernetServer server(“try.yaler.net”, 80, “RELAY_DOMAIN”); 将 RELAY_DOMAIN  换成你的中继域名,例如  gsiot-ffmq-ttd5  类型: YalerEthernetServer server(“try.yaler.net”, 80, “gsiot-ffmq-ttd5″); 注意你也可以使用本地服务器,如果你知道怎样配置端口,在有本地防火墙时怎样给来的HTTP请求开一个入口。重要的是Twilio可以从云平台访问Arduino。 保存更改并上传 保存所有的更改,并将程序上传至Arduino。让USB线连接到你的电脑,打开串口调试工具看一下调试输出。 步骤4:访问Arduino   用任意浏览器访问Arduino Yaler 库让你的 Arduino (带有XML文件) 在公共网络 http://RELAY_DOMAIN.try.yaler.net/ 上是可行的,用于转发域  gsiot-ffmq-ttd5  ,URL是  http://gsiot-ffmq-ttd5.try.yaler.net/ 或者,使其在Twilio上更好看: ttp://gsiot-ffmq-ttd5.try.yaler.net/voice.xml 检查XML文档 XML文档的内容告诉Twilio怎样应答一个来电。你甚至可以选择文字转语音。这里是Alice。Twilio的XML格式被叫做TwiML。详见:  https://www.twilio.com/docs/api/twiml 注意,应答文字包涵准确的温度。让你的传感器升温,在你的Web浏览器上按F5刷新一下。 错误排查 如果你得到一个空白页面或是错误,请先检查你的以太网线是否插紧,并检查  https://yaler.net/browser  的特定调试。   步骤5:建立一个Twilio号码     注册 首先,在 https://www.twilio.com/ 上获得一个Twilio账号。 购买一个电话号码 为了接到电话,你需要一个号码,没多少钱。 登录,导航至 Numbers ,并选择 Twilio Numbers 子菜单 , 可以看到  Manage Numbers 标签 。 点击 Buy a number  (购买号码)按钮,选择 Voice  勾选框 , 点击 Search, 然后选择一个号码并点击 Buy 购买。 配置voice.xml Webhook URL 在  Manage Numbers 标签中,点击你购买的号码。 设置 Response URL  为 http://RELAY_DOMAIN.try.yaler.net/voice.xml ,并确保 POST 被选择,例如用于Yaler 中继域名 gsiot-ffmq-ttd5 设置应答URL给 http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml 。   步骤6:打一个测试电话   (Phone picture by flickr.com user  William Gantz , licensed under  CC BY-ND ) 一旦Arduino弄好,你就可以接到电话了! 你的爷爷都可以做到! 感谢阅读! @tamberg   Translated by Katrina from:http://www.instructables.com/id/Call-my-Arduino/?ALLSTEPS
  • 热度 28
    2013-5-22 09:20
    1281 次阅读|
    0 个评论
    本教程向您展示了如何构建一个网络使能的三色LED,通过Arduino和WIZnet以太网插板,并且用任何网页浏览器都是可控的。 看现场演示:http://try.yaler.net/~arduino/led 因为LED曝光在一个简单的RESTful web service,运行在Arduino上,颜色变化也可以被Pachube或者其他提供Web hooks的平台引发。 通过Yaler中继服务器发布你的Arduino,使Arduino可以无处不在,即使它隐藏在放火墙和NAT下没有一个公共的IP地址。一个单独的Yaler中继器实例可控制许多Arduino(还有带一个TCP Socket 库的任意设备,例如,Sheevaplug 或者一个Arduino电话)也可以用于商业用途,包括全部的资源代码在 http://yaler.org/ 材料: 三色LED Arduino Duemilanove ATmega 328 Arduino WIZnet 以太网插板 电阻 RJ45 电缆 工具: 烙铁 Helping hands A/B USB 电缆 基础设施: DHCP接入因特网,无需公共IP地址 (可选:PC机 或者带有公共IP地址的云服务器,来运行Yaler) 第一步:将电阻和电线焊接到LED上 注意:所有的图片都展示出Ladyada LED和其相应的电阻和线的颜色 除了最长的LED引线,其余的都要缩短 焊接电阻到LED上,如图所示 剪短那个剩余的引线 如果你使用Ladyada LED,在上面焊接红色线(如图所示) 如果你使用SparkFun LED,在上面焊接黑色线 第二步:连接LED到以太网插板 堆叠以太网插板到Arduino上 连接LED到以太网插板引脚3,5和6(红色) 如果你使用Ladyada LED,连接红色的线到以太网插板5V端 如果你使用SparkFun LED,连接黑色的线到以太网GND端 第三步:上传Arduino LED测试   为了测试LED你可以上传以下例子到你的Arduino。重置Arduino并确信颜色出现在相同的序列中,像如下循环代码注释描述的那样。如果你使用SparkFun LED,消除相应代码行的注释,删除Ladyada LED的三个analogWrite。如果颜色显示在另一个序列,你可能已经交换了一些引脚。 // HelloLed.pde int redPin = 6; int greenPin = 5; int bluePin = 3; void setColor (int red, int green, int blue) { // SparkFun LED: write value for each color //analogWrite(redPin, red); //analogWrite(greenPin, green); //analogWrite(bluePin, blue); // Ladyada LED: write inverted value for each color analogWrite(redPin, 255 - red); analogWrite(greenPin, 255 - green); analogWrite(bluePin, 255 - blue); delay(1000); } void setup () { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop () { setColor(0, 0, 0); // Off setColor(255, 0, 0); // Red setColor(0, 255, 0); // Green setColor(0, 0, 255); // Blue setColor(0, 255, 255); // Aqua setColor(255, 255, 0); // Yellow setColor(255, 0, 255); // Fuchsia setColor(255, 255, 255); // White } 第四步:编辑并上传Arduino LED Web service 一旦你确信LED工作了,你就要准备好编辑并上传LED Web service的代码到你的Arduino. 首先,提取并开放 HelloLedYaler.pde (包含在ZIP压缩文件里--Arduino 0018压缩文件Arduino v1.0或更高版本的压缩文件)如下。请注意源代码有些粗糙,我们不是很精通写Arduino/Processing代码。 然后你必须带着变化去在上一步setColor。如果你确实改变了pin的数字,也要带着这些变化。 仅用于Arduino 0018: 你可以从源代码的#includ看到,代码使用gkaindl的 EthernetDHCP Arduino 库。下载这个 EthernetDHCP库,复制这目录到Arduino库的路径(e.g. C:\Program Files\Arduino\arduino-0018\libraries).现在这个代码在编译时应该没有一个错误信息。 你也必须设置你以太网插板的MAC地址。可以使用源码值,但是要知道在你的局域网里的设备也使用了相同的地址,是可能发生地址冲突的。这个MAC地址 在  byte server = "my-arduino" 设置了;在http://yaler.net/得到一个免费使用的账户,并修改ID到中继域来显示你的账户,例如yalerId = { 46, 137, 106, 125 }; 设置这个IP到Yaler项目的demo瞬间。请注意没有正常运行时间或者其他设备保证和访问是理所当然的实验目的。)想了解更多信息,请访问http://yaler.org/ ,阅读http://hg.yaler.org/yaler/src/tip/README.txt) 所以,剩下的就是上传代码并连接你的Arduino到因特网,用RJ45电缆。为了服务的运行,LAN必须提供DHCP。可以使用一个固定的IP,但是这需要改动一些源代码(这超出了本教程的重点)。为了以太网插板没有启动定时问题,一旦Arduino连接到LAN按下复位按钮。 下载: HelloTriColorLedYalerService_Arduino_v1.0.zip Hello TriColorLedYalerService_Arduino_v0018.zip 第五步:在网页**问控制Arduino 如果Arduino被连接到局域网从而连接到因特网,如果Yaler实例在制定的IP地址启动运行,你应该能够访问Arduino Web LED在http://{Yaler IP}/{Relay Domain}/led,例如http://try.yaler.net/gsiot-ffmq-ttd5 你会得到一个 HTTP 504 Gateway Timeout if the Arduino is not running 。取决于你的浏览器,这时显示为一个空白页或者“网关超时”。在这种情况下,确保一切都是紧紧插在电源插座上,尝试重置Arduino。 如果一切按预期的方式工作,你应该看到一个简单的HTML页面,带有三个彩色按钮。如果你按下一个按钮,Arduino LED应该让相应颜色的灯亮起来。 在幕后这个作品用一个简单的JS,发送一个HTTP PUT请求,例如,把http://try.yaler.net/gsiot-ffmq-ttd5/led/ff0000放到Arduino上去设置LED的颜色。你可以用Firefox的 Firebug插件,设置NetXHR来看见发送请求。 注意这个URL不依赖于Arduino的当前位置。不管它是否附属于你的家庭网络或者你办公室的局域网 ,这个URL是相同的。只要插上Arduino并控制用你的浏览器控制它。 因为输入URL可能很麻烦,你可以利用一个二维码生成器http://qrcode.kaywa.com/,来得到你的Arduino URL的二维码。 打印出来,贴在你的Arduino上,用一个二维码阅读器来访问它,比如Lynkee(iPhone),Kaywa(Symbian,Java 手机)或者Quickmark(Windows系统移动电话),然后就方便控制Arduino了! 这就是全部内容,谢谢!   翻译自:http://www.instructables.com/id/Arduino-Web-LED/ 感谢您的阅读! 与我们更多交流: WIZnet邮箱:wiznetbj@wiznettechnology.com WIZnet中文主页:http://www.iwiznet.cn WIZnet中文博客:http://blog.iwiznet.cn WIZnet企业微博:http://e.weibo.com/wiznet2012/profile  
  • 热度 20
    2013-5-22 09:18
    5316 次阅读|
    0 个评论
    本教程向您展示了如何构建一个网络使能的三色LED,通过Arduino和WIZnet以太网插板,并且用任何网页浏览器都是可控的。 看现场演示:http://try.yaler.net/~arduino/led 因为LED曝光在一个简单的RESTful web service,运行在Arduino上,颜色变化也可以被Pachube或者其他提供Web hooks的平台引发。 通过Yaler中继服务器发布你的Arduino,使Arduino可以无处不在,即使它隐藏在放火墙和NAT下没有一个公共的IP地址。一个单独的Yaler中继器实例可控制许多Arduino(还有带一个TCP Socket 库的任意设备,例如,Sheevaplug 或者一个Arduino电话)也可以用于商业用途,包括全部的资源代码在 http://yaler.org/ 材料: 三色LED Arduino Duemilanove ATmega 328 Arduino WIZnet 以太网插板 电阻 RJ45 电缆 工具: 烙铁 Helping hands A/B USB 电缆 基础设施: DHCP接入因特网,无需公共IP地址 (可选:PC机 或者带有公共IP地址的云服务器,来运行Yaler) 第一步:将电阻和电线焊接到LED上 注意:所有的图片都展示出Ladyada LED和其相应的电阻和线的颜色 除了最长的LED引线,其余的都要缩短 焊接电阻到LED上,如图所示 剪短那个剩余的引线 如果你使用Ladyada LED,在上面焊接红色线(如图所示) 如果你使用SparkFun LED,在上面焊接黑色线 第二步:连接LED到以太网插板 堆叠以太网插板到Arduino上 连接LED到以太网插板引脚3,5和6(红色) 如果你使用Ladyada LED,连接红色的线到以太网插板5V端 如果你使用SparkFun LED,连接黑色的线到以太网GND端 第三步:上传Arduino LED测试   为了测试LED你可以上传以下例子到你的Arduino。重置Arduino并确信颜色出现在相同的序列中,像如下循环代码注释描述的那样。如果你使用SparkFun LED,消除相应代码行的注释,删除Ladyada LED的三个analogWrite。如果颜色显示在另一个序列,你可能已经交换了一些引脚。 // HelloLed.pde int redPin = 6; int greenPin = 5; int bluePin = 3; void setColor (int red, int green, int blue) { // SparkFun LED: write value for each color //analogWrite(redPin, red); //analogWrite(greenPin, green); //analogWrite(bluePin, blue); // Ladyada LED: write inverted value for each color analogWrite(redPin, 255 - red); analogWrite(greenPin, 255 - green); analogWrite(bluePin, 255 - blue); delay(1000); } void setup () { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop () { setColor(0, 0, 0); // Off setColor(255, 0, 0); // Red setColor(0, 255, 0); // Green setColor(0, 0, 255); // Blue setColor(0, 255, 255); // Aqua setColor(255, 255, 0); // Yellow setColor(255, 0, 255); // Fuchsia setColor(255, 255, 255); // White } 第四步:编辑并上传Arduino LED Web service 一旦你确信LED工作了,你就要准备好编辑并上传LED Web service的代码到你的Arduino. 首先,提取并开放 HelloLedYaler.pde (包含在ZIP压缩文件里--Arduino 0018压缩文件Arduino v1.0或更高版本的压缩文件)如下。请注意源代码有些粗糙,我们不是很精通写Arduino/Processing代码。 然后你必须带着变化去在上一步setColor。如果你确实改变了pin的数字,也要带着这些变化。 仅用于Arduino 0018: 你可以从源代码的#includ看到,代码使用gkaindl的 EthernetDHCP Arduino 库。下载这个 EthernetDHCP库,复制这目录到Arduino库的路径(e.g. C:\Program Files\Arduino\arduino-0018\libraries).现在这个代码在编译时应该没有一个错误信息。 你也必须设置你以太网插板的MAC地址。可以使用源码值,但是要知道在你的局域网里的设备也使用了相同的地址,是可能发生地址冲突的。这个MAC地址 在  byte server = "my-arduino" 设置了;在http://yaler.net/得到一个免费使用的账户,并修改ID到中继域来显示你的账户,例如yalerId = { 46, 137, 106, 125 }; 设置这个IP到Yaler项目的demo瞬间。请注意没有正常运行时间或者其他设备保证和访问是理所当然的实验目的。)想了解更多信息,请访问http://yaler.org/ ,阅读http://hg.yaler.org/yaler/src/tip/README.txt) 所以,剩下的就是上传代码并连接你的Arduino到因特网,用RJ45电缆。为了服务的运行,LAN必须提供DHCP。可以使用一个固定的IP,但是这需要改动一些源代码(这超出了本教程的重点)。为了以太网插板没有启动定时问题,一旦Arduino连接到LAN按下复位按钮。 下载: HelloTriColorLedYalerService_Arduino_v1.0.zip Hello TriColorLedYalerService_Arduino_v0018.zip 第五步:在网页**问控制Arduino 如果Arduino被连接到局域网从而连接到因特网,如果Yaler实例在制定的IP地址启动运行,你应该能够访问Arduino Web LED在http://{Yaler IP}/{Relay Domain}/led,例如http://try.yaler.net/gsiot-ffmq-ttd5 你会得到一个 HTTP 504 Gateway Timeout if the Arduino is not running 。取决于你的浏览器,这时显示为一个空白页或者“网关超时”。在这种情况下,确保一切都是紧紧插在电源插座上,尝试重置Arduino。 如果一切按预期的方式工作,你应该看到一个简单的HTML页面,带有三个彩色按钮。如果你按下一个按钮,Arduino LED应该让相应颜色的灯亮起来。 在幕后这个作品用一个简单的Javascript,发送一个HTTP PUT请求,例如,把http://try.yaler.net/gsiot-ffmq-ttd5/led/ff0000放到Arduino上去设置LED的颜色。你可以用Firefox的 Firebug插件,设置NetXHR来看见发送请求。 注意这个URL不依赖于Arduino的当前位置。不管它是否附属于你的家庭网络或者你办公室的局域网 ,这个URL是相同的。只要插上Arduino并控制用你的浏览器控制它。 因为输入URL可能很麻烦,你可以利用一个二维码生成器http://qrcode.kaywa.com/,来得到你的Arduino URL的二维码。 打印出来,贴在你的Arduino上,用一个二维码阅读器来访问它,比如Lynkee(iPhone),Kaywa(Symbian,Java 手机)或者Quickmark(Windows系统移动电话),然后就方便控制Arduino了! 这就是全部内容,谢谢!   翻译自:http://www.instructables.com/id/Arduino-Web-LED/ 感谢您的阅读!     与我们更多交流: WIZnet邮箱:wiznetbj@wiznettechnology.com WIZnet中文主页:http://www.iwiznet.cn WIZnet中文博客:http://blog.iwiznet.cn WIZnet企业微博:http://e.weibo.com/wiznet2012/profile