STM32物联网项目-GPRS模块介绍

SIM800C模块是一款4频GSM/GPRS模块,尺寸小巧,支持多种接口如串口、USB和音频。它可以实现公网通信,适合远程控制单片机。模块提供了UART接口、SIM卡接口和网络指示灯等功能,并可通过AT指令控制。流控制方面,SIM800C支持软件和硬件流控,确保数据传输的可靠性。硬件流控通过RTS/CTS信号控制,软件流控则使用XON/XOFF字符暂停和恢复数据传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GPRS模块

SIM800C模块介绍

在这里插入图片描述

SIM800C模块可支持4频GSM/GPRS,工作的频段为:GSM850、EGSM900、DCS1800和PCS1900 MHz。

模块的尺寸只有17.6 * 15.7 * 2.3 mm,几乎可以满足所有用户应用中的对空间尺寸的要求。

模块的物理接口为42引脚的SMT焊盘,提供了模块的所有硬件接口。

  1. 两路串口(一路三线串口与一路全功能串口)
  2. 一路USB接口,便于用户调试、下载软件
  3. 一路音频接口,包含麦克风输入和受话器输出
  4. 可编程的通用输入输出接口(GPIO)
  5. 一路SIM卡接口
  6. 支持BT功能(需要软件版本支持)
  7. SIM800C采用省电技术设计,在休眠模式下耗电流低至0.6毫安。

更多介绍可以参考官方的手册

简单来说,SIM800C模块是一个联网模块,需要搭配手机卡使用,可以将单片机的数据上传到云端服务器,可在公网上传输

SIM800C模块与ESP-12S模块的比较

SIM800C模块与ESP-12S模块一样是联网的模块,通过联网模块就可以实现云端远程控制单片机,都是通过AT指令来控制,但两者还是有点区别

ESP-12S模块实验时是在局域网内的通信,模块充当的客户端与服务器连接的是同一个路由器IP地址,所以在同一个网络下的客户端与服务器可以随时通信

SIM800C模块需要搭配手机卡使用,所以不局限于局域网通信,可实现公网通信,这样就不必让客户端与服务器处在同一个网络下

模块引脚功能

在这里插入图片描述

PWRKEY:开关机信号,当单片机引脚给高电平,三极管导通,模块的PWRKEY引脚被拉低,模块开机

STATUS:模块状态引脚,没开机低电平,开机之后变高电平

NETLIGUT:网络指示灯,模块开机后通过熄灭时间长短判断模块处于哪种工作状态

在这里插入图片描述

UART1_TXD、UART2_RXD:串口通信引脚,模块与单片机是通过串口进行通信的

UART1_DCD:TCP连接状态引脚,当连接TCP服务器时为低电平,与TCP服务器断开则为高电平

SIM_xxx:SIM卡相关引脚,在实战板上还有个插手机电话卡的卡座,模块通过这些引脚与卡座引脚通信

GSM_ANT:GSM天线引脚,模块使用需要一根天线,并没有板载天线

流控制

这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。我们在网络上通过modem进行数据传输,这个问题就尤为突出。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不再接收”的信号,发送端就停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据的丢失。 pc机中常用的两种流控制是硬件流控制(包括rts/cts、dtr/dsr等)和软件流控制xon/xoff(继续/停止)

流控对于模块(DCE)和终端(DTE)之间数据传输的可靠性非常重要。比如如下应用场景:数据发送端发送速率快于接收端,当接收端缓冲过载,接收端可以通知发送端暂停数据发送,直到接收端缓冲区有足够空间继续处理数据。

SIM800系列模块默认未启用流控功能。可以使用命令“AT+IFC”来开启硬件流控或软件流控功能。

1、软件流控(XON/XOFF)

软件流控通过发送不同特征字符来暂停(XOFF,0x13)和恢复(XON,0x11)数据传输。常用于非全功能串口模式下。
命令“AT+IFC=1,1”开启软件流控。

开启软件流控功能后,PC端串口通信工具(比如 ProComm Plus,Hyper terminal或者WinFax Pro)也必须同时开启软件流控功能。

注意:
当有二进制数据被发送或接收时,应关闭软件流控功能,因为DTE可能把二进制数据当作软件流控字符。

2、硬件流控(RTS/CTS flow control)

硬件流控制必须将相应的电缆线连上。硬件流控制常用方式为:RTS/CTS(请求发送/清除发送)流控制和DTR/DSR(数据终端就绪/数据设置就绪)流控制。

硬件流控通过RTS/CTS信号来实现。当接收缓存快满的时候,模块(DCE)把CTS信号设置为无效,数据传输被暂停;当模块的接收缓存可以接收更多数据时,CTS信号重新被设置为有效。

命令“AT+IFC=2,2”开启硬件流控功能。

要实现硬件流控功能,请确保RTS/CTS线的正确连接。

注意:
终端(DTE)发送数据时,必须拉低DTR引脚;否则,CTS引脚状态变化可能被忽略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值