一、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);
  }
}

STM32物联网通讯GPRS相关推荐

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

    GPRS模块 SIM800C模块介绍 SIM800C模块可支持4频GSM/GPRS,工作的频段为:GSM850.EGSM900.DCS1800和PCS1900 MHz. 模块的尺寸只有17.6 * 1 ...

  2. STM32物联网项目-GPRS模块通信编程

    GPRS模块通信-编程 实验目的 32单片机通过串口2发送AT指令控制SIM800C检测GPRS网络,连接TCP服务器,连接服务器成功后,通过Doit.am远程信息转发服务将上传至公网服务器的温湿度值 ...

  3. 基于stm32物联网开发板(1)

    基于stm32物联网开发板(1)   本开发板采用了STM32F103RET6作为核心CPU,72MHZ工作频率,512KB flash,64KB Sram.本开发平台外设模块有ESP8266 WIF ...

  4. 基于stm32物联网开发板(2)--LCD屏幕

    基于stm32物联网开发板(2)–LCD屏幕 LCD应用展示: LCD屏幕应用 1.概述 屏幕尺寸为1.3寸,分辨率240*240,颜色格式RGB565,驱动IC:ST7789VW: 超大可视角度:大 ...

  5. OneNET Studio云平台STM32物联网开发(2)- STM32+Air724UG(4G模组)数据采集显示上报

    实现效果视频 STM32 Air724UG 4G OneNET数据传输 本章教学视频(1) OneNET StudioSTM32+Air724UG -1 本章教学视频(2) OneNET Studio ...

  6. STM32物联网套件基础版05-外部中断

    前言 上一节我们学习了单片机独立按键操作,实际上我们采用的是查询的方法,MCU实时检测有无按键按下比较占用MCU资源,本节我们将使用中断的方法实现按键操作. 一.基础知识 1. STM32物联网套件简 ...

  7. 物联网的十大应用场景,带你认识真正的物联网通讯技术

    如今,"万物互联"不只是一种愿景,在很多实际的应用场景里面,已经实现了局部的物联网,如工业自动化.智慧农业.智能公交.高端酒店等场所.物联网是未来十年最具有市场前景的领域,相关的无 ...

  8. 【立创开源】基于N32/STM32物联网终端设备

    1.项目功能介绍 STM32终端控制器,设计的初衷是做一款拥有蓝牙BLE与LORA传输功能的室内外传感控检测控制的产品. 该项目基于目前DIY爱好者经常使用的STM32F103C8T6型号,通过LOR ...

  9. 基于stm32物联网开发板(3)--SYN6288语音模块

    基于stm32物联网开发板(3)–SYN6288语音模块 1.SYN6288语音模块展示示例 SYN6288语音模块 2.概述   SYN6288-A语音合成模块是一款性价比更高,效果更自然的一款中高 ...

最新文章

  1. Java Review - 并发编程_ScheduledThreadPoolExecutor原理源码剖析
  2. python中abc属于字符串吗_Python基础学习:字符串
  3. [你必须知道的.NET]第十三回:从Hello, world开始认识IL
  4. Elasticsearch7.X ILM索引生命周期管理(冷热分离)
  5. Linux设备驱动入门----globalmem字符设备驱动
  6. Java基础——Java NIO详解(一)
  7. 漫谈广告竞价模式(四)
  8. Vue 项目创建并发布
  9. Docker技术入门与实战 第二版-学习笔记-9-Docker Compose 项目-1-举例说明
  10. Android 离线文字转语音功能-TTS(Text To Speech)
  11. The endpoint reference (EPR) for the Operation not found 可能问题以及解决办法
  12. 《用计算机写作文》说课稿,《我用电脑写作文》说课稿
  13. 2020安徽省程序设计省赛知识点
  14. HTML+CSS小白入门与进阶教程
  15. 2020年数学建模国赛C题
  16. php sql多字段求和,JSP_sql实现多字段求和并查询,下面就sql多字段求和并作为sql - phpStudy...
  17. linux桌面文件夹路径是什么,【已解决】Ubuntu中右键(桌面和文件夹)打开终端(定位到当前路径)...
  18. 三防手持平板电脑在工业的发展趋势
  19. 图片如何修复清晰度?好用的图片修复方法介绍
  20. 游戏抽奖界面html,基于JavaScript实现幸运抽奖页面

热门文章

  1. 监控摄像头卡顿_监控画面卡顿的解决方法
  2. 调剂云南师范大学计算机专硕,云南师范大学2018年硕士研究生调剂公告
  3. C语言入门Part8--操作符篇
  4. 基于matlab的相干信号的doa 估计,基于空间平滑MUSIC算法的相干信号DOA估计(1)
  5. 常用音频编码格式简介(PCM、G726、ADPCM、LPCM、G711、AAC)
  6. idea30天免费试用,看看到底好不好用
  7. Content-Type一览 1
  8. 二手房数据的分析与挖掘(七)-- 预测房价
  9. iOS初级开发学习笔记:微信充值
  10. python123m与n的数学运算_python入门基础,全网最详细教程