使用PIC16F628A和SIM900A发送SMS的方法

描述

  在本文中,我将向您展示一种使用 PIC 16F628A 和 SIMCOM SIM900A 模块发送 SMS 的方法。

  在上一篇文章中,我对我的 GSM 模块进行了固件升级,因此它会注册到欧洲服务提供商。在那篇文章中,我简要介绍了 AT 命令和指令。

  在本文中,我将更进一步。我会用我的 PIC 16F628A 发送短信。

PIC16F628A

  完整的面包板。

  要求

  要充分利用本文,您需要具备以下条件:

  SIMCOM SIM900A 模块,升级后可以注册到欧洲服务提供商。

  一台运行MPLAB X和XC8编译器的计算机。

  一个 PIC 16F628A和一个 MAX232。

  一种对您的 PIC 进行编程的方法,我使用的是PICkit 3。

  面包板、跳线和液晶显示器。

  零件清单中的零件。

  介绍

  SIM900A模块上电后,会发生很多事情。其中之一是模块正在尝试注册到网络。成功注册到网络后,我们可以发送短信、接收短信并获取服务提供商名称。本文的主要目标是将 SMS 发送到预定义的号码。获得服务提供商的名称是一种奖励。

  该模块通过 TTL 或板载 MAX232 IC 与周围电路通信。我将使用 MAX232 接口。这意味着所有的通信都是通过 PIC 的 UART 完成的,我们来自 PIC 的所有命令都将通过 printf 发送到 UART 端口。

  硬件

  我已经像这样连接了我的面包板:

PIC16F628A

  单击图像以获得全尺寸分辨率。

  由于我使用的是 MAX232,因此我可以使用它来查看微控制器正在发送到 GSM 模块的内容并对其进行故障排除。为此,我断开 GSM 模块,连接串行电缆,然后打开 GtkTerm。波特率设置:9600-8-N-1。

PIC16F628A

  连接到计算机以进行故障排除。

  这是微控制器发送到 GSM 模块的内容。前三行仅用于验证串行通信是否正常并查看我正在发送的内容。最后两行是对 GSM 模块的指令。

PIC16F628A

  我没有收到 GSM 模块的回复,因为它没有连接。

  零件清单

  这是来自 EagleCAD 的 bom.ulp 的屏幕截图。

PIC16F628A

  软件

  尽管该软件已被注释,但我将在这里介绍它的某些部分。当 PIC 通电时,会显示一条简短的欢迎消息。然后开始 15 秒倒计时。我把这个倒计时,有两个原因:

  允许 GSM 模块注册。

  一个视觉显示,向用户显示正在发生的事情并且 PIC 正在工作。

  倒计时结束后,PIC 发送命令:

  AT+CPOL?\r\n

  重要的是添加回车 - 新行,\r\n。这告诉模块执行已到达模块缓冲区的文本字符串。

  然后模块返回字符串:

  +CPOL: 1,0,”N NetCom”,1,0,1

  这意味着该模块已注册到 NetCom。NetCom 是服务提供商的名称。这是我们要在 LCD 上显示的名称。现在我们需要从字符串中提取名称。我这样做的方法是将整个字符串读入一个数组。然后我将搜索“-signs”。找到“-signs”后,我将它们的位置存储在另一个数组中。这就是我所说的“开始和停止”。然后我使用“开始和停止”中的值在 LCD 上显示中间的字符。也许不是最花哨的方法,但它很简单。

PIC16F628A

  要发送短信,我必须发送更多 AT 命令。

  首先,我发送命令:

  AT+CMGF=1\r\n

  这是选择 SMS 消息格式。1 告诉模块进入文本模式。

  其次,我发送命令:

  AT+CMGS=”接收方”\r\n

  “接收者”是我要发送消息的号码。

  第三,我发送命令:

  来自 PIC16F628A 的消息\r\n

  这是实际的消息。由于消息有多个字符,包括空格,所以有一种很好的方法可以告诉模块消息的结尾在哪里。我必须发送 EOF 标志,恰好是 CTRL-Z。

  printf(“%c”,26);

  这是常规 ASCII 表中的 EOF 字符。该模块现在将发送消息。

  使用此链接查找有关 SIM900A 模块的文档。

  下载

  您可以从链接下载 c 源代码。

  jc_pic16f628a-gsm-sms.c.zip

  结论

  您现在应该能够获取您的服务提供商名称,并使用 SIM900A 模块在欧洲网络上发送 SMS。

  图片和视频

PIC16F628A

PIC16F628A

PIC16F628A

PIC16F628A

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分