(SKU:TEL0124)SIM7600CE-T 4G(LTE) Shield V1.0 通信模块

来自DFRobot Product Wiki
跳转至: 导航搜索
文件:TEL0124.jpg
SIM7600CE-T 4G(LTE) Shield V1.0通信模块

目录

概 述

SIM7600CE-T 4G(LTE) Shield是一款一款2G/3G/4G和GNSS导航技术的Arduino扩展板。尺寸仅与一块信用卡相当,符合标准Arduino管脚分装,兼容Arduino UNO、 Leonardo、Mega等主控器。,支持 LTE-TDD/LTE-FDD/HSPA+/TD-SCDMA/EVDO和GSM/GPRS/EDGE等频段, 支持LTE CAT4(下行速度为150Mbps)。其性能稳定,外观小巧,性价比高,可以低功耗实现SMS和数据信息的传输。
SIM7600CE-T 4G(LTE) Shield V1.0采用Simcom最新版SIM7600CE模块,与市面上现有的GSM/GPRS/GPS模块相比,模块具有更好的稳定性,并且支持4G通信,GNSS导航技术,拥有更好的定位效果。

技术规格

  • 工作电压:5V
  • 输入电源:VIN(7-23V)/USB(5V)
  • 网络支持
    • TDD-LTE B38/B39/B40/B41
    • FDD-LTE B1/B3/B8
    • TD-SCDMA B34/B39
    • WCDMA/HSDPA/HSPA+ B1/B8
    • CDMA 1X/EVDO BC0
    • GSM/GPRS/EDGE 900/1800 MHz
  • 4G通信速率:上行最大速率:50Mbps/下行最大速率:150Mbps
  • 通过AT指令控制(3GPP TS 27.007,27.005 和 SIM7500_SIM7600 Series_AT Command)
  • 支持GNSS卫星导航技术
  • 支持低功耗模式:20mA@7V-飞行模式
  • 支持LED状态显示:显示电源供应状态,网络状态和工作模式
  • 工作环境:-40℃ ~85℃
  • 大小:69*54mm

接口示意图

正面接口示意图
背部接口示意图





























模块接口及注意事项

  1. 已占用管脚:D0, D1, D12,其中数字口“D12”已内部连接至SIM7600CE模块开/关引脚,可用于SIM7600CE模块开/关机控制。
  2. SIM7600CE板载MIC与3.5mm SIM7600CE麦克风接口使用同一路MIC通道。
  3. Boot开关按钮——SIM7600CE模块开关,短按Boot 1s开机,长按3s关机
  4. 指示灯“ON”——SIM7600CE电源指示灯,只有当您接上外接电源时,模块才能正常工作。
  5. Net——GSM信号指示灯
    1. 常亮:搜寻网络
    2. 快闪(1s一次):网络注册完成
  6. 跳线帽接口
    1. RX/TX——SIM7600CE通讯串口,接受AT指令控制。
    2. D0/D1&D7/D8——与SIM7600CE通信串口选择,根据使用的Ardunio控制器,选择适合的串口。(AT调试使用)
    3. RI——RI通常情况下保持高电平输出,当收到短消息,或URC上报时, RI会输出低电平。 RI在输出低电平后,会一直保持低电平,直到主机使用” AT+CRIRS”命令清除此事件为止。
    4. DTR——DTR可以作为SIM7600CE的休眠唤醒引脚。当SIM7600CE进入休眠模式后,拉低DTR可以唤醒SIM7600CE
    5. FT——飞行模式使能口,低有效。



模块作为4G上网卡样例

在这一部分中,我们将演示如何通过SIM7600CE-T 4G(LTE)通信模块,使得PC能够通过4G访问互联网,并且能拨打接听电话和发送短信,拥有手机的功能。

准备

  • 硬件
    • SIM7600CE-T 4G(LTE) Shield x1
    • Windows PC x1
    • SIM手机卡 x1
    • MicroUSB数据线 x1
  • 软件
    • 下载并安装PC ManagerV1.8_160412 [下载链接待添加 点击下载PC管理软件]
    • 下载并安装win10 7-0816[下载链接待添加 点击下载USB驱动]

步骤

  • 选择适合自己系统的USB驱动安装
TEL0124驱动安装.jpg


  • 选择适合自己系统的PC Manager安装
TEL0124 PC Manager安装.jpg


  • 打开PC Manager,配置参数,设置运营商
TEL0124 PC Manager 参数配置界面2.jpg


  • 访问互联网
    • 点击连接网络即可实现PC访问互联网,在Internet界面可以查看流量、网速等相关信息
    • 打开PC 网络共享中心,可以看到建立的网络
TEL0124 PC Manager 网络界面.jpg
PC 网络共享中心.jpg


  • 拨打接听电话,发送短信(需要在首页先断开互联网连接)
    • 打开电话界面,选择电话号码拨打
    • 打开短信界面,新建短信并发送
TEL0124 通话.jpg
TEL0124 短信.jpg
































Arduino开发样例

在这一部分中,我们将演示如何通过Arduino控制SIM808 Shiel,DFRobot_SIM808是一个开源的类库,提供了简单且全面的调用接口,让任何人都可以快速完成项目开发。

准备

  • 硬件
    • Arduino UNO x1
    • SIM808 扩展板 x1
    • 外接电源 x1
    • SIM手机卡



步骤'

  1. 将插好SIM卡的扩展板插到Arduino UNO上去,确保外接电源和USB线已连接
  2. 拨动功能切换开关至None档,下载下方提供的样例代码
  3. 等待程序下载完毕,拨动开关至Arduino'档,这时SIM808即可与Arduino主板进行通信。

拨打电话

本样例样演示了如何通过DFRobot_SIM808 Shield 拨打电话

  1. 打开类库中的SIM808_CallUp样例或者粘贴下面的代码到你的工程里面
  2. 更换此处的电话号码为你希望拨打的号码:#define PHONE_NUMBER "187******39"
  3. 下载程序并将功能开关调整到“Arduino”
  4. sim808将会拨打电话到指定号码
  #include <DFRobot_sim808.h>

  //Mobile phone number, need to change
  #define PHONE_NUMBER  "187******39"   

  DFRobot_SIM808 sim808(&Serial);

  void setup() {
    //mySerial.begin(9600);
    Serial.begin(9600);
    //********Initialize sim808 module*************
    while(!sim808.init()) {
        delay(1000);
        Serial.print("Sim808 init error\r\n");
    }
    Serial.println("Sim808 init success");
    Serial.println("Start to call ...");

    //*********Call specified number***************
    sim808.callUp(PHONE_NUMBER);
  }
  void loop() {
    //nothing to do
  }

发送短信

本样例样演示了如何通过DFRobot_SIM808 Shield 发送短信

  1. 打开类库中的SIM808_SendSMS样例或者粘贴下面的代码到你的工程里面
  2. 更换此处的电话号码为你希望拨打的号码:#define PHONE_NUMBER "187******39"
  3. 下载程序并将功能开关调整到“Arduino”
  4. sim808将会发送短信到指定号码
  #include <DFRobot_sim808.h>

  //Mobile phone number, need to change
  #define PHONE_NUMBER "187*******39"  

  //The content of messages sent
  #define MESSAGE  "hello,world"

  DFRobot_SIM808 sim808(&Serial);

  void setup() {
    //mySerial.begin(9600);
    Serial.begin(9600);

   //******** Initialize sim808 module *************
    while(!sim808.init()) {
        delay(1000);
        Serial.print("Sim808 init error\r\n");
    }  
    Serial.println("Sim808 init success");
    Serial.println("Start to send message ...");

    //******** define phone number and text **********
    sim808.sendSMS(PHONE_NUMBER,MESSAGE);
  }

  void loop() {
    //nothing to do
  }

接听电话与读取短信

本样例样演示了如何通过DFRobot_SIM808 Shield 接听电话和读取短信

  1. 打开类库中的SIM808_LoopHandle样例或者粘贴下面的代码到你的工程里面
  2. 下载程序并将功能开关调整到“Arduino”
  3. 打开串口助手
  4. sim808自动接听电话并且将收到的短信发送到串口助手
#include <DFRobot_sim808.h>

#define MESSAGE_LENGTH 20
char gprsBuffer[64];
char *s = NULL;

DFRobot_SIM808 sim808(&Serial);

void setup() {
  //mySerial.begin(9600);
  Serial.begin(9600);

  //******** Initialize sim808 module *************
  while(!sim808.init()) {
      Serial.print("Sim808 init error\r\n");
      delay(1000);
  }
  delay(3000);  
  Serial.println("Init Success, please call or send SMS message to me!");
}

void loop() {
   //******** Wait serial data *************
   if(sim808.readable()){
      sim808_read_buffer(gprsBuffer,32,DEFAULT_TIMEOUT);
      //Serial.print(gprsBuffer);

   //************** Detect the current state of the telephone or SMS ************************
      if(NULL != strstr(gprsBuffer,"RING")) {
          sim808.answer();
      }else if(NULL != (s = strstr(gprsBuffer,"+CMTI: \"SM\""))) { //SMS: $$+CMTI: "SM",24$$
          char message[MESSAGE_LENGTH];
          int messageIndex = atoi(s+12);
          sim808.readSMS(messageIndex, message,MESSAGE_LENGTH);
          Serial.print("Recv Message: ");
          Serial.println(message);
     }
     sim808_clean_buffer(gprsBuffer,32);  
   }
}

读取短信

本样例样演示了如何通过DFRobot_SIM808 Shield 读取短信

  1. 打开类库中的SIM808_SMSread样例或者粘贴下面的代码到你的工程里面
  2. 下载程序并将功能开关调整到“Arduino”
  3. 打开串口助手
  4. Arduino会将SIM808会将收到的短信发送到串口助手
#include <DFRobot_sim808.h>

#define MESSAGE_LENGTH 160
char message[MESSAGE_LENGTH];
int messageIndex = 0;

char phone[16];
char datetime[24];

DFRobot_SIM808 sim808(&Serial);

void setup() {
  //mySerial.begin(9600);
  Serial.begin(9600);

  //******** Initialize sim808 module *************
  while(!sim808.init()) {
      Serial.print("Sim808 init error\r\n");
      delay(1000);
  }
  delay(3000);  
  Serial.println("Init Success, please send SMS message to me!");
}

void loop() {
  //*********** Detecting unread SMS ************************
   messageIndex = sim808.isSMSunread();
    Serial.print("messageIndex: ");
    Serial.println(messageIndex);

   //*********** At least, there is one UNREAD SMS ***********
   if (messageIndex > 0) {
      sim808.readSMS(messageIndex, message, MESSAGE_LENGTH, phone, datetime);

      //***********In order not to full SIM Memory, is better to delete it**********
      sim808.deleteSMS(messageIndex);
      Serial.print("From number: ");
      Serial.println(phone);  
      Serial.print("Datetime: ");
      Serial.println(datetime);        
      Serial.print("Recieved Message: ");
      Serial.println(message);    
   }
}

建立TCP连接并发送GET请求

本样例样演示了如何通过DFRobot_SIM808 Shield 建立TCP连接并发送GET请求

  1. 打开类库中的SIM808_TCPConnection样例或者粘贴下面的代码到你的工程里面
  2. 下载程序并将功能开关调整到“Arduino”
  3. 打开串口助手
  4. 等待几分钟,直到串口输出"Connect mbed.org success",代表此时已经连接成功,否则请重试
  5. SIM808将会按照GET指令发送请求,在本样例中,串口会输出收到的数据“hello world!”
  #include <DFRobot_sim808.h>

  //make sure that the baud rate of SIM900 is 9600!
  //you can use the AT Command(AT+IPR=9600) to set it through SerialDebug

  DFRobot_SIM808 sim808(&Serial);

  char http_cmd[] = "GET /media/uploads/mbed_official/hello.txt HTTP/1.0\r\n\r\n";
  char buffer[512];

  void setup(){
    //mySerial.begin(9600);
    Serial.begin(9600);

    //******** Initialize sim808 module *************
    while(!sim808.init()) {
        delay(1000);
        Serial.print("Sim808 init error\r\n");
    }
    delay(3000);  

    //*********** Attempt DHCP *******************
    while(!sim808.join(F("cmnet"))) {
        Serial.println("Sim808 join network error");
        delay(2000);
    }

    //************ Successful DHCP ****************
    Serial.print("IP Address is ");
    Serial.println(sim808.getIPAddress());

    //*********** Establish a TCP connection ************
    if(!sim808.connect(TCP,"mbed.org", 80)) {
        Serial.println("Connect error");
    }else{
        Serial.println("Connect mbed.org success");
    }

    //*********** Send a GET request *****************
    Serial.println("waiting to fetch...");
    sim808.send(http_cmd, sizeof(http_cmd)-1);
    while (true) {
        int ret = sim808.recv(buffer, sizeof(buffer)-1);
        if (ret <= 0){
            Serial.println("fetch over...");
            break;
        }
        buffer[ret] = '\0';
        Serial.print("Recv: ");
        Serial.print(ret);
        Serial.print(" bytes: ");
        Serial.println(buffer);
        break;
    }

    //************* Close TCP or UDP connections **********
    sim808.close();

    //*** Disconnect wireless connection, Close Moving Scene *******
    sim808.disconnect();
  }

  void loop(){

  }

读取GPS数据

本样例样演示了如何通过DFRobot_SIM808 Shield 读取GPS数据

  1. 安装GPS天线
  2. 打开类库中的SIM808_GetGPS样例或者粘贴下面的代码到你的工程里面
  3. 下载程序并将功能开关调整到“Arduino”
  4. 打开串口助手
  5. 将其移至室外,等待几分钟,直到串口输出GPS数据
  #include <DFRobot_sim808.h>

  DFRobot_SIM808 sim808(&Serial);

  void setup() {
    //mySerial.begin(9600);
    Serial.begin(9600);

    //******** Initialize sim808 module *************
    while(!sim808.init()) {
        delay(1000);
        Serial.print("Sim808 init error\r\n");
    }

    //************* Turn on the GPS power************
    if( sim808.attachGPS())
        Serial.println("Open the GPS power success");
    else
        Serial.println("Open the GPS power failure");

  }

  void loop() {
     //************** Get GPS data *******************
     if (sim808.getGPS()) {
      Serial.print(sim808.GPSdata.year);
      Serial.print("/");
      Serial.print(sim808.GPSdata.month);
      Serial.print("/");
      Serial.print(sim808.GPSdata.day);
      Serial.print(" ");
      Serial.print(sim808.GPSdata.hour);
      Serial.print(":");
      Serial.print(sim808.GPSdata.minute);
      Serial.print(":");
      Serial.print(sim808.GPSdata.second);
      Serial.print(":");
      Serial.println(sim808.GPSdata.centisecond);
    
      Serial.print("latitude :");
      Serial.println(sim808.GPSdata.lat,6);
    
      sim808.latitudeConverToDMS();
      Serial.print("latitude :");
      Serial.print(sim808.latDMS.degrees);
      Serial.print("\^");
      Serial.print(sim808.latDMS.minutes);
      Serial.print("\'");
      Serial.print(sim808.latDMS.seconeds,6);
      Serial.println("\"");
      Serial.print("longitude :");
      Serial.println(sim808.GPSdata.lon,6);
      sim808.LongitudeConverToDMS();
      Serial.print("longitude :");
      Serial.print(sim808.longDMS.degrees);
      Serial.print("\^");
      Serial.print(sim808.longDMS.minutes);
      Serial.print("\'");
      Serial.print(sim808.longDMS.seconeds,6);
      Serial.println("\"");
    
      Serial.print("speed_kph :");
      Serial.println(sim808.GPSdata.speed_kph);
      Serial.print("heading :");
      Serial.println(sim808.GPSdata.heading);

      //************* Turn off the GPS power ************
      sim808.detachGPS();
    }

  }

功能调试(AT命令)

除了上述方式通过Arduino控制SIM7600CE-T之外,你也可以在PC上通过板载USB虚拟串口或者Arduino串口发送AT指令的方式对SIM7600CE-T扩展板进行调试。在这一部分中,我们将以图文形式,演示如何通过串口发送AT命令的方式来对SIM7600CE-T扩展板进行调试。更多的指令和功能,请参考页末更多中的AT指令集。

准备

  • 硬件
    • Arduino UNO x1
    • SIM7600CE-T 扩展板 x1
    • 外接电源 x1


  • 软件
    • Arduino IDE 版本最新版 点击下载Arduino IDE
    • 串口调试助手(任意,能够发送16位进制数即可,可根据需要自己选择)


步骤

  1. 将SIM卡插在扩展板上,并把SIM7600CE-T扩展板插上Arduino UNO,同时接上接上外接电源
  2. 按下Boot开机键,等待SIM卡网络注册正常,即Net状态指示灯进入快闪状态(1s一次)
  3. 根据控制板的类型,通过跳线帽来选择使用D0/D1或者D7/D8作为通信串口。
  4. 下面以使用Arduino UNO为例,下载如下的代码至UNO,并使用跳线帽连接RX-D8/TX-D7
#include <SoftwareSerial.h>
SoftwareSerial myserial(7, 8); //定义虚拟串口名为myserial,Rx为7号端口,Tx为8号端口
void setup()
{
  myserial.begin(115200); //初始化虚拟串口
  Serial.begin(115200); //初始化Arduino默认串口
}

void loop()
{
  while(1){
  while (myserial.available()) {
    Serial.write(myserial.read());//如果Serial收到数据则通过mySerial输出
  }
  while(Serial.available()) {
    myserial.write(Serial.read());//如果myserial收到数据则通过Serial输出
  }
}
}

拨打电话

SIM7600CE-T拨打电话

在串口助手中发送AT,得到返回OK代表通信正常。
按图所示,输入AT指令,应该得到相同内容。注意:电话号码后面需要跟一个英文分号“;”.

接听与挂断电话

SIM7600CE-T来电接听与挂断

发送短信

SIM7600CE-T发送短信

读取短信

SIM7600CE-T读取短信

TCP通讯

SIM7600CE-T TCP连接发送

GPS信息输出

注意:GPS天线必须置于室外,才可以获得稳定的GPS定位数据输出。

 发送AT+CGPS=1命令(打开GPS)
 发送AT+CGPSINFO命令(读取GPS数据)
SIM7600CE-T定位.jpg
 如果GPS天线已经放置露天位置并收到GPS数据,等待几分钟后,会有正确的GPS定位数据输出。
 当想关闭GPS,可发送AT+CGPS=0命令关闭GPS。
 发送AT+CPOF,将模块关机。

更多精彩指令,请参考页末的AT指令表。

SIM7600CE-T省电模式

最小功能模式

最小功能模式就是将模块功能减小到最少,所以也使得模块的电流消耗减小到最少。可以通过命令"AT+CFUN=<fun>"把模块设置到该模式下,这条命令提供三种选择,用于设置不同功能。

  1. AT+CFUN=0:最小功能模式。这种模式下,串口仍然可以继续使用,但是与射频和SIM卡相关的功能以及部分AT命令不能使用。
  2. AT+CFUN=1:全功能模式(默认)。
  3. AT+CFUN=4:飞行模式。这种模式下,模块仍然可以使用串口,但是与射频相关以及部分AT指令不能使用。

更多功能请参考页末AT指令

更多




DFshopping car1.png DFRobot商城购买链接

个人工具
名字空间

变换
操作
导航
工具箱