使用Twilio和FME Server自动拨打电话和发送短信

原文发布时间:2014-07-07 08:50:13

翻译:小新

原文地址:http://blog.safe.com/2014/05/automate-phone-calls-sms-twilio-fme-server/

通过诸如Twilio这样的应用服务,使得建立自动电话系统变得比任何时候都容易。Twilio建立了一个交互平台,将诸如发送和接收电话以及短信息这样的动作转换为简单的API方式,传统方式则需要投资重要的硬件设备。Twilio的一个用例为:当一组业务规则为真时,可以对一群人自动拨打电话。这也是这篇文章的重点。然而,我们真正想做的是智能的自动电话——接收到位置信息——只对在这个位置以内的用户发出通知。

 

无需编码的电话和消息

我要做的第一件事是创建一系列与Twilio有关的FME自定义转换器,使得你在FME Desktop中与Twilio的交互变得容易。

TwilioMakeCalls:创建自动电话。可以在运行时设置电话内容。

TwilioSendSMS:发送短消息。在运行时可以设置短信内容,包括文本和图片。

 

自动电话警报方案

这个方案与洪水有关。我们想通过河水的高度来模拟实时洪水信息,动态生成洪水平面图,然后选择在洪水平面图范围内的所有人,如果有不妙的情况,将自动给他们发送信息。我们希望不用编写任何服务器端代码就可以完成这个过程。

                  

                                                自动拨打电话和发送短消息的工作流

数据源

Flood data(洪水数据)USGS现在提供了整个美国实时的排水和高度信息。我们读取吉尔默(Gilmer)流域的数据。

Flood plain map(洪水平面图)该流域的点云的数据,点云包含Z值。

Users(用户)订阅了警报的用户数据库。你需要制作一个订阅工作流,让用户可以注册该服务。关于订阅工作流的具体细节见这里

 

工作流程

         第一步:处理源数据

         通过FME Server的计划任务功能每隔1分钟读取一次USGS的数据。

第二步:动态选择订阅用户

      通过点云数据,我们可以创建代表不同洪水危险区域的多边形。我创建了两个区域:危险区域和需要被警告的区域。通过洪水高度动态绘制这些多边形。例如,如果当前测量高度为10英寸,已经达到了洪水预警水平,我们创建如下的多边形:

      危险区包含在测量高度到该高度以上5英寸范围内的陆地面。

   警报区:在测量高度5英寸到15英寸范围内的陆地面。

  下面是我们用来实现这个复杂工作流的所有转换器,一共只有12个转换器!

第三步:通知用户

         我们现在已经选择了在洪水危险区的订阅用户,然后需要给他们发送一个警告通知。我们通过Twilio网络服务实现该功能。在FME Store中有两个自定义转换器,TwilioMakeCallTwilioSendSMS。使用数据库中的电话号码,我们自动给在危险区的人拨打电话,给在警报去的人发送短消息。

第四步:发布到FME Server自动运行

我们需要每分钟运行一次该工作空间来检测USGS最新的数据。为此,我们将工作空间发布到FME Server并为它制定每分钟运行的任务计划。FME Sever的故障转移和容错能力确保了工作空间能够一直运行。

这样就完成了一个工作流,可以读取实时数据并进行计算,然后通过Twilio发送通知,在整个过程中没有任何服务器端代码。这是一个典型示例,利用FME的空间特性,真的可以提高你的工作流的智能化。工作空间和更多信息可以在这里找到。你也可以在最近的一个视频培训中找到更多关于实时数据处理的信息,这个视频中还包含了洪水这个例子的演示。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Twilio 发送短信的第一步是在 Twilio 网站上注册一个账户。注册后,你将获得一个账户 SID 和一个认证令牌,这些信息将用于通过 API 连接到 Twilio。 接下来,你需要验证你想要发送短信的号码。在 Twilio 控制台上,转到 "Phone Numbers" 页面,点击 "Verify a Number" 按钮。输入要发送短信的号码,并按照指示进行验证。验证可以通过短信或电话进行。 完成号码验证后,你可以使用 Twilio 的 API 发送短信。你可以使用任何支持 RESTful API 的编程语言来调用 Twilio 的 API。下面是一个使用 Python 和 Twilio Python 库发送短信的示例代码: ```python from twilio.rest import Client # 在 Twilio 控制台中获得的账户 SID 和认证令牌 account_sid = 'your_account_sid' auth_token = 'your_auth_token' # 创建 Twilio 客户端 client = Client(account_sid, auth_token) # 发送短信 message = client.messages.create( body='Hello, this is a test message from Twilio!', from_='your_twilio_phone_number', to='recipient_phone_number' ) print(message.sid) ``` 在上面的代码中,你需要将 `your_account_sid` 和 `your_auth_token` 替换为你在 Twilio 控制台中找到的账户 SID 和认证令牌。还需要将 `your_twilio_phone_number` 替换为你购买的 Twilio 电话号码,将 `recipient_phone_number` 替换为你要发送短信的目标号码。 通过这种方式,你可以使用 Twilio 验证的号码发送短信。记得根据你的需求进行适当的配置和处理错误情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值