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

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引脚状态变化可能被忽略。

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【RT-Thread作品秀】基于RT-Thread的智慧农业物联网网关作者:frankpyq 概述智慧农业是目前物联网一个比较广泛的发展方向,基于从事农业物联网相关硬件的开发,结合这次RTT大赛,决定基于RT-Thread设计一款物联网网关。本物联网网关基于STM32H7为主芯片进行设计,分为硬件网关和物联网平台。硬件网关有以ART-PI开发板为核心板,自行设计了一个扩展板,板载一路4G通讯模块,一路LORA无线采集模块,一路RS485电路,2路继电器输出,4路LED指示,1路DS18B20温度采集,1个蜂鸣器;硬件网关可以通过无线LORA采集节点数据,最多可以接收32路无线节点采集;也可以通过RS485电路采集传感器数据。采集到数据后,通过4G模块发送到物联网平台。这里物联网平台我使用的是深圳市模拟科技有限公司的TLINK物联网平台。板载2路继电器和LED指示灯,可以通过平台下发命令控制开关。 开发环境硬件:ART-PI(STM32H750XB), ART-PI_TOP扩展板; RT-Thread版本:RT-Thread V 4.0.3 开发工具及版本:RT-Thread Studio版本: 2.0.0 RT-Thread使用情况概述(1)内核部分:调度器,信号量等。 调度器:创建多个线程来实现不同的工作。 信号量:用来线程间的同步。 (2)组件部分:UART框架,SENSOR框架。 UART框架:使用了3个串口,分别连接4G模块,LORA模块,RS485;分别用于跟平台通讯和采集传感器数据。 SENSOR框架:使用DS18B20采集设备机箱温度。 (3)软件包:暂未使用相关软件包。 硬件框架软件框架说明软件模块说明项目工程文件是基于官方SDK的点灯示例程序开始的。 (1)read_temp_entry线程:用于读取板载DS18B20温度传感器的数值。 (2)LoraU6RxData线程:用于采集无线LORA传感器节点的数据。传感器节点采用主动上报方式传输数据,最多挂载32个节点。 (3)led_shine_entry线程:LED灯闪烁,用于指示设备状态; (4)Task_Tlink_Tx线程:跟TLINk云平台通讯,包含登录和主动上报数据。 (5)TlinkRxData线程:用于接收和解析TLINK云平台下发的控制指令,并执行相关继电器动作。 演示效果(1)设备照片: (2)平台接收数据照片: (3)云组态照片: (4)演示视频: 比赛感悟认识RT-Thread已经是很多年前的事情了,当初也买了第一代的魔笛网络收音机开发板,但是很遗憾一直都没有在实际项目中使用到。主要原因都是我手头的项目都是基于裸机开发的,都没有使用过RTOS。基于RTT大赛的机缘,我就想努力尝试一把,先用起来,然后决定以后项目中有需要的都上RTT系统。但是完事开头难,我这个项目当初想起来挺容易,但是实际做起来的时候,真的还是很不容易的。主要还是我的RTOS编程经验匮乏,对系统内核以及进程通信机制没有理解透彻,导致写程序的时候出了不少问题。从最开始的点灯,到后面的添加传感器驱动框架,添加串口驱动框架,实现了DS18B20传感器采集,实现了串口跟GPRS模块和LOR模块的通讯,实现了数据上TLINK云平台。完成数据上报云平台以及云平台下发控制指令和执行动作等等功能。这其中,我基本没有使用额外的软件包和驱动等,主要还是对RTT不是很熟悉,可以说还基本没有上手。按照当初的设想,本来是要使用广和通的L610的模块,使用AT指令软件包,ONENET软件包等上移动ONENET云平台。但是由于时间太紧和基础太差的原因,20号之前只能完成这么多了。其实这两天我已经用L610模块连上了ONENET云平台,但是详细功能还没有实现,后面我会继续把这个项目做下去,争取把这个产品做完善。最后感谢举办方给我一个很好的学习和锻炼的机会,RTT我相信我会一直用下去。
2022 / 01/ 30: 新版esptool 刷micropython固件指令不是 esptool.py cmd... 而是 esptool cmd... 即可;另外rshell 在 >= python 3.10 的时候出错解决方法可以查看:  已于2022年发布的: 第二章:修复rshell在python3.10出错 免费内容: https://edu.csdn.net/course/detail/29666 micropython语法和python3一样,编写起来非常方便。如果你快速入门单片机物联网而且像轻松实现各种功能,那绝力推荐使用micropython。方便易懂易学。 同时如果你懂C语音,也可以用C写好函数并编译进micropython固件里然后进入micropython调用(非必须)。 能通过WIFI联网(2.1章),也能通过sim卡使用2G/3G/4G/5G联网(4.5章)。 为实现语音控制,本教程会教大家使用tensorflow利用神经网络训练自己的语音模型并应用。为实现通过网页控制,本教程会教大家linux(debian10 nginx->uwsgi->python3->postgresql)网站前后台入门。为记录单片机传输过来的数据, 本教程会教大家入门数据库。  本教程会通过通俗易懂的比喻来讲解各种原理与思路,并手把手编写程序来实现各项功能。 本教程micropython版本是 2019年6月发布的1.11; 更多内容请看视频列表。  学习这门课程之前你需要至少掌握: 1: python3基础(变量, 循环, 函数, 常用库, 常用方法)。 本视频使用到的零件与淘宝上大致价格:     1: 超声波传感器(3)     2: MAX9814麦克风放大模块(8)     3: DHT22(15)     4: LED(0.1)     5: 8路5V低电平触发继电器(12)     6: HX1838红外接收模块(2)     7:红外发射管(0.1),HX1838红外接收板(1)     other: 电表, 排线, 面包板(2)*2,ESP32(28)  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值