当前位置:首页 > 物联网 > IoT设计分享
[导读]短信作为交流的一部分被广泛使用,无论是官方的还是个人的。短信技术具有快捷、方便、经济、环保等特点。短信通信可以通过从电信服务提供商那里获得付费服务来使用。为了构建sms发送项目,GPRS模块、SIM卡和微控制器(如ESP32)是必要的组件。这些组件一起工作以建立与电信服务提供商的连接,从而支持SMS的传输

短信作为交流的一部分被广泛使用,无论是官方的还是个人的。短信技术具有快捷、方便、经济、环保等特点。短信通信可以通过从电信服务提供商那里获得付费服务来使用。为了构建sms发送项目,GPRS模块、SIM卡和微控制器(如ESP32)是必要的组件。这些组件一起工作以建立与电信服务提供商的连接,从而支持SMS的传输

但如果我告诉你,我们只需要使用微控制器和Twilio云API服务就可以做到呢?

是的,使用支持物联网的微控制器板和物联网云服务使得部署这样的机制非常容易。

在这个项目中,我们将使用ESP32板发送短信。ESP32的内置Wi-Fi连接使其能够与互联网通信,以访问Twilio云API发送短信。这个项目对于不同的应用程序有不同的好处,比如传递通知、警报和警报。

在之前的项目中,我们已经学习了如何使用ESP32发送电子邮件警报。

Twilio简介

Twilio是一个云通信平台,它提供了一组api,用于集成短信、语音通话、视频消息、WhatsApp、电子邮件和身份验证。虽然拥有这个API是有成本的,但也可以免费试用。物联网开发微控制器板可以访问互联网并利用Twilio网络服务向注册号码发送短信。

Twilio是一个云平台服务,允许以编程方式为各种项目发送短信。它提供了一个与移动应用程序和软件无缝集成的API。此外,库和模块可用于集成API与微控制器和嵌入式平台。

组件的要求

对于这个项目,我们需要很少的要求,包括软件和硬件

1.ESP32微控制器模块

2.为什么Twilio帐户

3.Arduino IDE

配置Twilio试用帐户

由于Twilio不是免费服务,它是付费服务,但试用账户是免费使用的。我们将创建一个试用帐户,用于测试该平台提供的SMS API功能。

让我们看看创建帐户所涉及的一些基本步骤:

•转到Twilio开始创建一个试用帐户。输入开户所需的基本信息。

•请通过点击发送到所提供的电子邮件地址的验证链接来验证您的电子邮件帐户。另外,通过确认发送到您手机号码的OTP(一次性密码)来验证您的手机号码。

•一旦你完成验证过程,Twilio会将你重定向到一个页面,在那里你可以填写个性化的设置细节。提交这些信息后,您将被引导到Twilio主控制台页面。

添加来电显示

向Twilio添加来电显示意味着我们允许Twilio向给定的来电显示发送消息。必须首先验证每个来电显示,以便在免费试用帐户中使用Twilio Cloud API发送消息。

•转到电话号码部分,展开它,然后单击已验证的来电显示。在这里,您将看到您的验证号码已经列出。

•如果您想添加另一个来电显示,只需点击位于右上角的“添加新来电显示”按钮。填写所需的详细信息并验证附加号码,以成功将其添加为另一个来电显示。

购买Twilio号码

发送短信到来电显示需要一个国家的活跃号码。Twilio提供来自不同国家的不同活跃电话号码,但这些不是免费的。使用活动号码需要付一些钱。但别担心,我们可以免费使用它进行测试。

我们在Twilio上使用了一个免费的试用账户,我们可以免费将一些钱存入我们的账户。我们可以用同样的钱买一个活跃号码。

•现在转到电话号码部分,然后管理>购买号码。

•选择任何想要的国家,特别是不要忘记选择功能作为SMS,因为它会过滤掉发送消息的活动号码。

•在点击“购买”按钮后,将出现一个提示,显示数字并要求接受条款和条件。如果您注意到任何红色标记,则表示在该特定号码上使用SMS服务需要额外的文档。在这种情况下,建议不要仅为测试目的而购买该号码。

•最后,在搜索了不同的国家后,成功地找到了一些提供短信功能的国家,没有任何注册要求或限制。

•现在转到电话号码>活动号码。你会看到你刚刚带来的电话号码。

创建消息传递服务

到目前为止,我们已经增加了来电显示,并带来了一个Twilio号码发送短信。现在将看到如何设置可编程消息传递服务。

•转到消息传递部分,然后转到服务。单击创建消息传递服务。

•为消息传递服务指定一个名称,然后单击“创建消息传递服务”。

•要添加发件人,请单击“添加发件人”,并选择发件人类型为“电话号码”。之后,点击“Continue”继续。

•选择您之前购买的电话号码。这个Twilio号码将作为发件人号码。点击“添加电话号码”。

•最后,在服务内部,您可以看到最近创建的消息传递服务。

发送测试消息

现在,让我们看看如何初始化Message send。

•转到消息>试用>发送短信。然后,您注意到您的来电显示号码已经写好了,而在“发件人”部分选择“消息传递服务”。

•然后选择您之前创建的消息传递服务。

•根据您的选择给出适当的消息正文。然后单击Send Message。

你可以看到我们收到的真实短信。

基于Arduino IDE的ESP32编程

为ESP32编程以访问Twilio帐户是一项相对简单的任务。首先,我们必须在代码中包含Twilio内置库。通过其WiFi功能将ESP32连接到互联网,我们可以访问Twilio云API。该程序允许自定义消息内容,并使我们能够指定我们想要发送消息的收件人的手机号码。

我们正在使用Arduino IDE来编程我们的ESP32,它内置了WIFI和其他必要的库。

Twilio ESP32客户端库

安装Twilio ESP32库是通过访问Twilio云API来使用Twilio可编程消息服务的必要条件。让我们看看如何在Arduino IDE中安装它。

通过Sketch进入Arduino的库管理器> include libraries> manage libraries。

搜索“Twilio esp32 client”,你会发现Adam Demuri创建的第一个名为“Twilio -esp32-client”的库。

安装它,这就是如何容易库安装。

程序说明发送短信ESP 32

我们已经包含了连接到Twilio云API所需的所有基本库。我们还包含了一些变量和对象来存储数据,以便进一步编程。

在上面的代码行中,我们使用SSID和Password指针来存储WIFI网络凭据的字符值,我们的物联网板通过这些凭据连接到互联网。

访问API密钥

为了访问Twilio云API可编程消息服务,我们需要获得正确的API密钥来安全地连接到我们的Twilio帐户。API密钥,包括帐户SID和认证令牌应采取登录到Twilio帐户。为了成功发送消息,帐户SID和认证令牌需要替换为代码中的凭据。

登录到您的Twilio帐户。转到右上角,然后帐户> API密钥和令牌。

在这里,您可以看到API密钥所需的详细信息。

此外,我们还定义了指针来存储发送方和接收方的编号。您需要将发件人号码替换为您在Twilio帐户上购买的号码。如果您使用的是免费试用版Twilio帐户,则收件人的手机号码应该是添加到验证来电显示列表中的号码。指针消息存储消息的字符,您可以直接将消息放入双引号内。

最后,初始化库Twilio类的一个对象。

在Setup()函数中,我们初始化波特率为115200的串行端口。然后我们开始命令WIFI .begin()通过提供正确的SSID和密码来初始化WIFI连接到网络。

然后,我们通过命令WL_CONNECTED监视连接,并以500毫秒的延迟将周期作为进度指示器打印到串行监视器。最后,连接成功后将在串行监视器上打印。

下面的代码行初始化一个新的Twilio实例,参数传递为Account SID和Auth Token。

要使用Twilio API发送SMS,可以调用send_message()函数,提供接收方号码、发送方号码、消息内容和存储响应的变量。这个函数在后台处理HTTP请求,将所有必需的参数发送给Twilio API以成功发送SMS。

如果消息成功发送,该函数返回True,否则它将打印从HTTP获得的响应。

由于发送SMS不是免费的,因此我们将代码放在Setup()中,该代码在主板启动时只发送一条SMS,并使循环为空。

使用ESP32发送短信的工作原理说明

现在,您只需将草图加载到Arduino IDE中。在代码中填写所需的必要细节,例如正确提供API密钥和WiFi网络凭据以将其连接到互联网。另外,不要忘记替换发送人和接收人的手机号码。

下一步工作步骤:

•在Arduino IDE中打开代码草图,通过micro-USB连接线连接ESP32模块。

•选择板为ESP32 Dev Module(仅当您已经安装了ESP32板管理器时有效)

•选择COM端口

按照上面已经讨论过的步骤上传代码并尝试一下。打开串行监视器设置正确的波特率,等待,直到它显示已连接。

在串行监视器上,如果成功完成,您将获得一条成功消息

最后,为了确保收件人成功收到短信,您可以检查收件人的手机号码是否存在短信。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭