STM32物联网通讯GPRS

一、GPRS相关概念介绍  

  智能家居和物联网都是目前的新兴产业,智能家居和物联网都是通过无线通讯模块与服务端进行数据通讯。其中GPRS通讯是一种常见的方式。GPRS(通用分组无线业务)的简称,是在现有的GSM系统上新增新GGSM(网络支持节点)和SGSN(服务支持节点)节点发展出来的一种新的分组数据承载业务。GPRS网络传输的主要优点:永远在线、按流量计费、快速登陆、高速传输、覆盖范围内不受限制、数据传输可靠等。

  使用GPRS,一般会选择使用GPRS模块,在这里我选择的是广和通厂商的G510模块。GPRS安装到控制器中,主要功能为通过GPRS网络连接到Internet网络,并主动与监听中心建立通信链路,进行双向数据通讯。GPRS模块主要是由G510模块、天线、SIM卡、相关电平转换电路等组成,GPRS模块通过串口与STM32单片机进行数据通讯。

二、基本初始化流程

  (1)考虑到模块外围电路电容充电效应,建议上电5s后发送开机初始化在命令。

  (2)常用指令

     AT+MRST    OK           -------------  重启模块,应答

     AT+CPIN?         READY  -------------  检查SIM卡是否插好

     AT+CGREG?    OK    -------------  检查网络注册状态

       AT+CSQ     OK           -------------  信号查询

      AT+MIPCALL?         : 0            -------------- 查询网络连接状态(0:未连接;1:连接)

      AT+MIPCALL=1,\"cmnet\"    OK    ----------------连接网络

      AT+MIPOPEN=1,,\"47.105.162.0\",1883,0   -------------- 连接服务器

  (3)数据链路层数据处理:实现GPRS数据接收/发送控制,存储串口中断接收到的数据,发送GPRS数据长度和GPRS数据内容。串口收到数据之后会将数据存储到MIPRTCP_DataStreaming()中,这个函数会将接收到的数据进行解析处理。串口接收数据流程如下:

void USART1_IRQHandler(void) //串口1中断服务程序
{
  u8 Res;

  if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断(接收到的数据必须是0x0d 0x0a结尾)
  {
    Res =USART_ReceiveData(USART1); //读取接收到的数据
    MIPRTCP_DataStreaming(Res);

    if((USART1_RX_STA&(1<<15))==0)//接收完的一批数据,还没有被处理,则不再接收其他数据
    {
      if(USART1_RX_STA<USART1_MAX_RECV_LEN) //还可以接收数据
      {
        TIM_SetCounter(TIM4,0); //计数器清空
        if(USART1_RX_STA==0) //使能定时器7的中断
        {
          TIM_Cmd(TIM4,ENABLE); //使能定时器7
        }
        USART1_RX_BUF[USART1_RX_STA++]=Res; //记录接收到的值
      }
      else
      {
        USART1_RX_STA|=1<<15; //强制标记接收完成
      }  
    }

    // USART_ClearITPendingBit(USART1,USART_IT_RXNE);
  }
}

原文地址:https://www.cnblogs.com/gzqblogs/p/10638377.html

时间: 2024-11-11 00:56:21

STM32物联网通讯GPRS的相关文章

【开源】C#跨平台物联网通讯框架ServerSuperIO(SSIO)

最近学习一个框架,感谢网名:唯笑志在 分享 博客原地址:http://www.cnblogs.com/lsjwq/p/5316577.html 目       录 C#跨平台物联网通讯框架ServerSuperIO(SSIO)正式开源... 1 1.      SSIO的特点 2.      SSIO概述 3.      SSIO与SIO的区别 4.      控制模式 5.      跨平台Windows和Linux 一.SSIO的特点 轻型高性能通信框架,适用于多种应用场,轮询模式.自控模式

开源物联网通讯框架ServerSuperIO,成功移植到Windows10 IOT,在物联网和集成系统建设中降低成本。附:“物联网”交流大纲

[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 一.概述 经过一个多月晚上的时间,终于把开源物联网通讯框架ServerSuperIO成功移植到Windows10 IOT上,暂时全名:ServerSuperIO.WinIOT(以后可能还会移植到Ubuntu上).以后可以把ServerSuperIO框架应用到嵌入式设备上,移植的成功具有标志性意义,意味着软件和硬件的结合,软硬的结合才具有更强的生命力.为什么我特别愿意干这件事呢?源于我对以前工作的总结,如下图: 二.如果利

物联网通讯与普通短信通讯的区别和要注意的地方

CMPP3.0中号码字段增加到32位,还增加了号码类型字段,可能是为了扩展不同类型的卡. Dest_terminal_Id 32*DestUsr_tl Octet String 接收短信的MSISDN号码. Dest_terminal_type 1 Unsigned Integer 接收短信的用户的号码类型,0:真实号码:1:伪码. 可是用CMPP3.0协议,也就是说发送短信到物联网卡.从物联网卡回复短信回来,都可以直接用这套CMPP3.0协议.那么跟发手机短信有何不同之处呢,以下就是几点不同:

物联网通讯框架

C#跨平台物联网通讯框架ServerSuperIO(SSIO) [连载]<C#通讯(串口和网络)框架的设计与实现>-1.通讯框架介绍 [连载]<C#通讯(串口和网络)框架的设计与实现>-2.框架的总体设计 目       录 C#跨平台物联网通讯框架ServerSuperIO(SSIO)正式开源... 1 1.      SSIO的特点 2.      SSIO概述 3.      SSIO与SIO的区别 4.      控制模式 5.      跨平台Windows和Linux

STM32物联网之TFTP文件传输

感言:专注物联网应用开发,分享物联网技术经验. 软件平台:IAR6.5 TCP/IP协议栈:LWIP1.4.1 硬件平台:STM32F103C8T6有线通信板(点击这里可以购买) 1.TCP/IP协议栈LWIP 1.1.LWIP认识 LWIP是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈,是Light Weight (轻型)IP协议,有无操作系统的支持都可以运行.LWIP提供三种API,分别是RAW API.LWIP API .BSD API.其

迅为LORA与S5P6818开发板物联网通讯方案

基于LoRa技术广域物联技术,构建的整体通讯系统,适合应用于数量庞大.分布环境广泛复杂.低功耗场景下终端的数据采集和回传. 预计到2020年,我们将有25亿台设备连接到互联网.换句话说,该数字超过今天地球人口的三倍.随着物联网和工业4.0.物联网汽车和智能城市的概念迅速传播,这种情况最有可能发生.我们已经拥有一些无线协议,如BLE.Wi-Fi.Cellular等,但这些技术并不适合物联网传感器节点,因为它们需要在不使用太多电力的情况下长距离传输信息.这导致了LoRa技术的兴起,它可以以低功耗执行

物联网通讯设备PCB电路板设计的思路:越紧凑越好

物联网正在快速发展,对小型廉价计算硬件的需求也在迅速增长.物联网开发板必须在小型封装中集成高级功能. 物联网(IoT)被设计工程师描述为第四次工业革命.它改变了我们的生活方式,通过智能和自动驾驶汽车,智能城市,无人机,智能机器人,智能电网,工业和农业应用的物联网等等. 物联网板将先进的功能集成到一个电路板上,变得越来越小永远是电路板"进化"的方向.在本文中,我们将讨论物联网板设计人员需要关注的最佳结果. 优化空间 每英寸的布局空间都需要针对所有轨道,组件和过孔进行优化.电路板设计的思路

STM32串口通讯基本知识

STM32 485通讯

在发送中,如果前面的数据出现异常,是切换到发送状态时没有延时