Seeed-Studio / GPRS_SIM900

library for GPRS shield with sim900 module.
MIT License
138 stars 96 forks source link

can't gprs.print ? #21

Closed beryindo closed 6 years ago

beryindo commented 6 years ago

help me sir

#include <GPRS_Shield_Arduino.h>
#include <SoftwareSerial.h>
#include <Wire.h>

#define PIN_TX    7
#define PIN_RX    8
//make sure that the baud rate of SIM900 is 9600!
//you can use the AT Command(AT+IPR=9600) to set it through SerialDebug
#define BAUDRATE  9600

char http_cmd[] = "GET /media/uploads/mbed_official/hello.txt HTTP/1.0\r\n\r\n";
char buffer[512];
GPRS gprs(PIN_TX, PIN_RX, BAUDRATE);
void setup(){
  Serial.begin(9600);
  // use DHCP
  while(!gprs.init()) {
      delay(1000);
      Serial.print("init error\r\n");
  }
  delay(3000);    
  // attempt DHCP
  while(!gprs.join(F("cmnet"))) {
      Serial.println("gprs join network error");
      delay(2000);
  }

  // successful DHCP
  Serial.print("IP Address is ");
  Serial.println(gprs.getIPAddress());

  if(!gprs.connect(TCP,"mbed.org", 80)) {
      Serial.println("connect error");
  }else{
      Serial.println("connect mbed.org success");
  }

  Serial.println("waiting to fetch...");
  gprs.println("AT+CIPSEND");
  gprs.print(fix.latitude());
  gprs.print(F(","));
  gprs.print(fix.latitude());
  gprs.print(F(","));
  fix.longitudeDMS.printDDDMMmmmm(gprs);
  sim900_send_byte(0x1A);
//  gprs.send(http_cmd, sizeof(http_cmd)-1);
//  while (true) {
//      int ret = gprs.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);
//  }
  gprs.close();
  gprs.disconnect();
}

void loop(){

}
KillingJacky commented 6 years ago

Could you please give more detail about " can't gprs.print "?

lanselambor commented 6 years ago

Use "sim900_send_cmd" instead of "gprs.print"

#include "sim900.h"

sim900_send_cmd("AT+CIPSEND\r\n");
sim900_send_cmd(fix.latitude());
sim900_send_cmd(F(","));
sim900_send_cmd(fix.latitude());
sim900_send_cmd(F(","));