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

使用 GSM SIM900 Shield 发送和接收短信 (SMS)

组件和用品

Arduino Mega 2560
× 1
基于 Seeed SIM900 的 GSM/GPRS Shield
× 1

应用和在线服务

Visuino - Arduino 图形化开发环境
Arduino IDE

关于这个项目

构建 IoT 的基本要素之一 项目是连接设备的能力。 Wi-Fi 和蓝牙是不错的低成本选择,但它们只能在近距离或热点区域工作。当设备需要位于远程位置时 GSM 是一个很好且易于设置的选项。

在本教程中,我将向您展示发送和接收短信是多么容易 GSM 上的消息 使用 Arduino .

在以下教程中,我还将向您展示如何通过 GSM 进行连接 到 Internet 和访问服务器,以及如何处理语音呼叫。

第 1 步:组件

  • 一个 Arduino Mega (可以使用其他板卡,但最好使用有2个以上串口的板卡。工程可以修改为使用Software Serial,但建议使用硬件串口)
  • 一个 基于 SIM900 的 GSM Shield 或已安装 SIM 卡的兼容屏蔽或模块(图片 2 )(我使用了 Seeed Studio 的 1.0 版 GSM/GPRS Shield)
  • 2 女-男 跳线
GPRS_Shield_V1.0

第 2 步:将 GSM Shield 连接到 Arduino

  • 删除 跳线帽 来自 GSM 盾RX 和 TX 选择跳线图一 )
  • 插入 GSM ShieldArduino Mega 的顶部
  • 连接男性端 男-女 跳线(橙线 ) 到 RX1 Arduino Mega 的引脚 (图 2 和图 3 )
  • 连接男性端 男-女 跳线(棕线 ) 到 TX1 Arduino Mega 的引脚 (图 2 和图 3 )
  • 连接 RX1 的母端 电线(橙线 ) 到中心销 RX 选择跳线 GSM 屏蔽图 4 )
  • 连接 TX1 的母端 线(棕线 ) 到中心销 TX 选择跳线 GSM 屏蔽图 4 )
  • 图 5 显示已安装并连接的 GSM Shield

第三步:启动Visuino,选择Arduino Board类型

要开始对 Arduino 进行编程,您需要拥有 Arduino IDE 从这里安装:http://www.arduino.cc/。

请确保安装 1.6.7 更高版本,否则本教程将无法运行!

Visuino :https://www.visuino.com 也需要安装。

  • 启动 Visuino 如第一张图
  • 点击“工具 " Arduino 组件上的按钮(图片 1 ) 在 Visuino
  • 出现对话框时,选择“Arduino Mega 2560 " 如图 2 所示

第 4 步:在 Visuino 中:将 Serial 1 通道的速度设置为 19200

GSM Shield 默认配置为 19200 串行端口速度。我们需要为这个速度配置串口1:

  • 在对象检查器中,展开“Serial " 属性,然后是 "Item[ 1 ] " 子属性,然后选择其 "Speed " 子属性(图片 1 )
  • 在对象检查器中,单击“向下箭头速度”值旁边的“按钮 " 子属性(图片 1 )
  • 下拉菜单 列表选择“19200 " (图 2 ), 更改属性值 (图 3 )

第五步:在Visuino中:添加并连接GSM/GPRS串口组件

我们需要添加组件来控制 GSM 模块。 Module是通过Serial通道控制的,所以我们需要连接它。 数字引脚 9 用于为开/关供电 模块:

  • 输入“gsm "在组件工具箱的过滤器框中,然后选择"GSM/GPRS 串行 " 组件(图 1 ),并将其放在设计区域中(图片 2 )
  • 连接“输出 " GSM1 的输出引脚 组件到“In "Serial[1] 的输入引脚 "Arduino 的频道 组件(图 2 )
  • 连接“电源 " GSM1 的输出引脚 组件到“数字 "Digital[9] 的输入引脚 "Arduino 的频道 组件(图 3 )。此引脚将开/关 GSM模块的力量

第 6 步:在 Visuino 中:添加、设置和连接文本值组件

GMS 模块初始化需要一些时间。如果我们有一些迹象表明模块已准备就绪,那就太好了。为此,当模块准备好时,我们将向串行端口发送“GSM Ready”文本:

  • 输入“文本值 "在组件工具箱的过滤器框中,然后选择"文本值 " 组件(图 1 ),并将其放在设计区域中(图片 2 )
  • 在对象检查器中设置“Value”的值 " 属性为 "GSM 就绪 " (图 2 )
  • 连接“就绪 " GSM1 的输出引脚 组件到“In " TextValue1 的输入引脚 组件(图 3 )
  • 连接“输出 " TextValue1 的输出引脚 组件到“In "Serial[0] 的输入引脚 "Arduino 的频道 组件(图 4 )

第七步:在Visuino中:在GSM组件中添加Short Message元素,然后向元素发送消息功能

GSM 组件由执行不同任务的许多模块组成。由于我们只会使用短信,所以只需要添加“短信”模块,然后再添加一个“发送短信”功能:

  • 在设计区域中,选择 GSM1 组件(图 1 )
  • 在对象检查器中,单击“...模块的值旁边的”按钮 "GSM1 的属性 组件(图 1 )
  • 在模块编辑器中选择“短消息 ”,然后点击“”按钮(图片2 ) 添加一个 (图片 3 )
  • 在对象检查器中,单击“...功能”的值旁边的“按钮 "短消息的"属性 " 模块(图 3 )
  • 在功能编辑器中选择“发送短信 ”,然后点击“”按钮(图片2 ) 添加一个

第八步:在Visuino中:配置Send SMS功能,将Received Message Info连接到串口

  • 在对象检查器中,设置“地址”的值 "发送短信的属性 " 元素添加到电话号码 你想发送消息的地方(在我的例子中,为了测试我输入了我的 SIM 卡的号码,这样模块就会接收并打印它发送的消息)(图片 1 - 显示一个编造的数字)
  • 在对象检查器中,选择“文本 " 属性(图 2 )
  • 点击“图钉Text 前面的”按钮 " 属性(图 2 )
  • 下拉菜单 列表中,选择“String SinkPin " (图 3 )。这将添加新的“文本 " 固定到 "发送短信 " 函数(图 4 )
  • 关闭元素编辑器对话框(图片 4 )
  • 连接“输出 "MessageInfo 的输出引脚 GSM1 的块 组件到“In "Serial[0] 的输入引脚 "Arduino 的频道 组件(图 4 )

第 9 步:在 Visuino 中:添加并连接 Char To Text 组件

串行端口一次接收一个字符。要发送 SMS 消息,我们需要从一行中获取所有字符,从中创建一个文本,然后将其发送到 GSM 模块:

  • 输入“字符 "在组件工具箱的过滤器框中,然后选择"Char to Text " 组件(图 1 ),并将其放在设计区域中(图片 2 )
  • 连接“输出 "Serial[0] 的输出引脚 "Arduino 的频道 组件到“In " CharToText1 的输入引脚 组件(图 2 )
  • 连接“输出 " CharToText1 的输出引脚 组件到“文本 "发送短信的输入引脚 " GSM1 的元素 组件(图 3 )

第 10 步:在 Visuino 中:添加、设置和连接延迟组件

我们需要确保在文本正确更新后发送短信。为此,我们可以使用具有短延迟的 Delay 组件:

  • 输入“延迟 "在组件工具箱的过滤器框中,然后选择"延迟 " 组件(图 1 ),并将其放在设计区域中(图片 2 )
  • 在对象检查器中,设置“Interval”的值 " 属性为 "100 " (图 2 )
  • 连接“输出 " CharToText1 的输出引脚 组件到“In " Delay1 的输入引脚 组件(图 3 )
  • 连接“输出 " Delay1 的输出引脚 组件到“时钟 "发送短信的输入引脚 " GSM1 的元素 组件(图 4 )

第 11 步:生成、编译和上传 Arduino 代码

  • Visuino 中 , 按 F9 或点击图片1上显示的按钮 生成 Arduino 代码,并打开 Arduino IDE
  • Arduino IDE 中 ,点击上传 按钮,编译和上传代码(图片2 )

第 12 步:然后玩……

恭喜! 您已完成该项目。

图一 显示连接并通电的项目。在图片2 你可以看到完整的Visuino 图表。如果您将串行终端连接到 Arduino,大约 30 秒后您将看到“GSM Ready " 消息出现(图 3 )

消息出现后,如果您键入一些文本,然后单击“发送 " (图 4 ),文本将作为短信发送。如果您在步骤 8 中选择了电话号码 到Shield上SIM卡的手机,过一会你会收到消息,它会显示在串口终端上(图5 )。如果您在步骤 8 中设置了不同设备的号码 ,消息将发送到该设备。

您可以从其他手机和设备向该电话号码发送短信,也会在串口终端显示。

还附上了 Visuino 我为本教程创建的项目。您可以在 Visuino 中下载并打开它 :https://www.visuino.com

F1FP7L0IQS4L35B.zip


制造工艺

  1. 使用 Arduino 和 RFID 和 Python 的考勤系统
  2. 带 LED 和压电扬声器的 DHT11 传感器
  3. Arduino 温度。使用 3.2 显示的监视器和实时时钟
  4. 使用 Arduino 和 Android 设备控制 Roomba 机器人
  5. DIY 电压表与 Arduino 和诺基亚 5110 显示器
  6. 使用 Arduino 和 MPU6050 控制伺服电机
  7. 森林火灾监测和探测系统(带短信警报)
  8. u-blox LEA-6H 02 GPS 模块,带有 Arduino 和 Python
  9. 如何使用 DHT11 在 Blynk 上读取温度和湿度
  10. 使用 Arduino 进行语音识别和合成
  11. 4x4x4 LED 立方体,带有 Arduino Uno 和 1sheeld
  12. 带 GPS 和 TFT 显示屏蔽的 GPS 位置显示