亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

呼叫我的 Arduino

组件和用品

Arduino UNO
× 1
Arduino 以太网扩展板
× 1
模拟温度传感器
× 1

关于这个项目


(来自 http://www.instructables.com/id/Call-my-Arduino/)

如何为您的 Arduino 启用电话 , 使用 Twilio 和 Yaler.net

Twilio 是一种 Web 服务,可以将所有东西都变成电话。它是用于电话的 REST API,托管在云中。在这种情况下,每当有人拨打 Arduino 的预定义电话号码时,Twilio 都会要求 Arduino 提供一个新的 voice.xml 文件。响应的内容由 Alice(Twilio 的文本到语音引擎的声音)读出给呼叫者。

Yaler.net 允许对防火墙、NAT 或移动网络路由器后面的嵌入式设备进行 Web 访问。在这里,它使 Twilio 能够访问 Arduino 上的 voice.xml 文件,该文件位于本地网络中,因此没有自己的公共 IP 地址(披露:我是 Yaler 的创始人)。

该演示使用温度传感器,但任何其他传感器也可以。一个真实世界的产品示例是 Canary(现在是 Birdi)烟雾探测器,它让有关的房主打电话询问电池是否仍然正常。

在更抽象的层面上,这个 Instructable 试图展示如何在开放的物联网中,模块化云服务可以自由组合以构建新颖、简单和可靠的解决方案。 HTTP 和 Webhooks FTW!但是让我们开始吧...

(这是 IoTLive 2014 年 IoTDay 的一部分,用于解释该项目的视频)


材料

- Arduino Uno(例如 https://www.adafruit.com/products/50)

- USB 电缆标准 A-B(例如 http://www.adafruit.com/products/62)

- Arduino 以太网扩展板(例如 http://www.adafruit.com/products/201)

- 以太网电缆(例如 http://www.adafruit.com/products/995)

- 模拟温度传感器(例如 https://www.adafruit.com/products/165)

- 面包板线束(例如 http://www.adafruit.com/products/153)

- 面包板(例如 http://www.adafruit.com/products/64)

http://www.youtube.com/watch?v=4IPwkW38oIw

第 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 服务器,用于侦听传入的 HTTP 请求。一旦有请求进来,程序就会用一个 XML 文档进行响应。服务器不关心 URL 路径是否为 //voice.xml。

更改 MAC 地址

确保 Arduino 代码中的 MAC 地址是唯一的。如果同一本地网络中有多个 Arduino,这一点尤其重要。获得(希望如此)唯一地址的一种简单方法是查找计算机的 MAC,然后在最后一位数字上加 1。

输入您的中继域

而不是使用 EthernetServer 服务器 (80) 创建本地服务器; 我们创建了一个可以通过 Yaler 中继访问的try.yaler.net , 在以下行中:

YalerEthernetServer server("try.yaler.net", 80, "RELAY_DOMAIN");

替换 RELAY_DOMAIN 使用您的中继域,例如对于 gsiot-ffmq-ttd5 类型:

YalerEthernetServer 服务器("try.yaler.net", 80, "gsiot-ffmq-ttd5");

请注意,如果您知道如何配置端口转发以在本地防火墙中为传入的 HTTP 请求打开一个漏洞,那么您也可以使用本地服务器。重要的是,Twilio 可以从云端访问 Arduino。

保存更改并上传

保存所有更改并将程序上传到您的 Arduino。暂时将 USB 电缆连接到您的开发计算机,然后打开串行控制台查看调试输出。

第 4 步:访问 Arduino

从任何浏览器访问您的 Arduino

Yaler 库使您的 Arduino(以及带有它的 XML 文档)可以从位于 http://RELAY_DOMAIN.try.yaler.net/、 的公共 Internet 上访问 例如对于中继域 gsiot-ffmq-ttd5 网址是 http://gsiot-ffmq-ttd5.try.yaler.net/ 或者,为了让 Twilio 看起来更好:http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml

检查 XML 文档

XML 文档的内容告诉 Twilio 要回复来电的内容。您甚至可以选择文字转语音。这是爱丽丝。 Twilio 的 XML 格式称为 TwiML。有关详细信息,请参阅 https://www.twilio.com/docs/api/twiml。请注意,回复文本包含实际温度。加热传感器并使用 F5 刷新 Web 浏览器中的文档以查看它的变化。

疑难解答

如果出现空白页面或错误,请确保已插入以太网电缆并检查 https://yaler.net/browser 以进行浏览器特定的调试。

第 5 步:设置 Twilio 号码

注册

首先,要获得 Twilio 帐户,您必须在 https://www.twilio.com/

上注册

购买电话号码

为了接听电话,您需要一个号码,费用(小)。登录,导航到 Numbers 并选择 Twilio 数字 子菜单,查看管理号码 标签。

点击购买号码 按钮,选择语音 复选框并点击搜索 ,然后选择一个号码并点击购买 买它。

配置 voice.xml Webhook 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 步:发出测试呼叫

设置 Arduino 后,您可以通过任何电话(甚至是您爷爷的电话)拨打电话。


就是这样,感谢阅读。 @tamberg

代码

比特桶
https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default

示意图


制造工艺

  1. 止汗/除臭棒
  2. Raspberry Pi Garage Door Opener,带有门状态流媒体视频。
  3. 铅笔状 GaN/(In,Ga)N 核壳纳米线的电子断层扫描
  4. Arduino Spybot
  5. FlickMote
  6. 自制电视 B-Gone
  7. 呼叫我的 Arduino
  8. 主时钟
  9. 找到我
  10. Arduino Power
  11. 在 MDF 木箱中用 Arduino 制作数码时钟
  12. 维护软件/ CMMS – 准备商业案例