Recent Posts

Pages: [1] 2 3 ... 10
1
Geogram ONE / Re: 'Call for Balance' function - A pointer or two required please
« Last post by ghosty on October 27, 2017, 07:38:00 AM »
Apologises for the poorly worded question above (admin can stop banging his head against the keyboard now) :D That was due simply to my own, continuing, lack of understanding of some of the the basics!

Trying to bridge the knowledge gap I experimented  with stream.h and other FIFO with varying success and failures. Returning to plan I was discovering how to utilise the sim900.<> and smsData.<> . I had a 'listen' function in the loop but felt there must be a better way to capture the sms arrival. This remains a block towards my understanding at the moment.

I now have a more detrimental issue with the SIM900 inasmuch as I can talk to it through Putty; Set clock time, CSQ, return version and reset  etc. but all to no avail.
The sim, although registered to the network, no longer sends or receives to the wider world. Any manner of resets I have tried have no effect: I think geo#2 is broken :(

Geo #1 is waiting to take up the challenge - hope I don't break this, my last one!


2
Geogram ONE / 'Call for Balance' function - A pointer or two required please
« Last post by ghosty on September 18, 2017, 07:18:39 AM »
Hello,

When my Geo awakens from 'SLEEP' I thought a 'call balance' enquiry would be handy information to know (PAYG sim).

The code is pretty basic and works IF it is run in its own sketch. When I try to incorporate the code into Geo sketch I do not receive the response* on the serial monitor.
*I can see the response arrive if I probe the GSM RX/TX lines.

I have delved into many things blindly hoping to find the issues, but I have to concede I am not having the greatest of success.

My RX capture:
Code: [Select]
RDY

+CFUN: 1

+CPIN: READY

+PACSP: 1

Call Ready
AT+CMEE=1

OK
AT+IPR=9600

OK
AT+CMGF=1

OK
AT+CNMI=0,0,0,0,0

OK
AT
AT
AT+CSCLK=2

OK
AT+CMGF=1

OK
AT+CMGS="150"


> balance


+CMGS: 177

OK
AT
AT
AT+CSCLK=0

OK
AT+CSQ

+CSQ: 7,0

OK
AT+CPMS?

+CPMS: "SM",1,20,"SM",1,20,"SM",1,20

OK
AT+CMGR=1

+CMGR: "REC UNREAD","150","","17/09/13,12:00:34+04"
Your current balance as of today 12:00 is L0.00. Your last top up was L5.00 on 29/06/2017 at 16:26.

OK
AT+CMGD=1
AT
AT
AT+CSCLK=2

OK
AT
AT
AT+CSCLK=0

OK
AT+CSQ

+CSQ: 7,0

OK
AT+CPMS?

+CPMS: "SM",1,20,"SM",1,20,"SM",1,20

OK
AT+CMGR=1

+CMGR: "REC UNREAD","150","","17/09/13,12:00:34+04"
 for 24 hours or L5 for 5 days. Reply ONE or FIVE by midnight 18th of September.

OK
AT+CMGD=1
AT
AT
AT+CSCLK=2

OK

My Serial Monitor:

Code: [Select]
3F
0
true
AT+CMGF=1

OK
AT+CMGS="150"

> balance

+CMGS: 236

OK

AT+CMGD=1
AT
AT
AT+CSCLK=2

OK

AT+CMGD=1
AT
AT
AT+CSCLK=2

OK


The code I am testing with:

Code: [Select]
//Compose SMS request
void sendMessage1()
{
  a = 2;
  oldTime = millis();
  GSM.println("AT+CMGF=1");
}

void sendMessage2()
{
  a = 3;
  oldTime = millis();
  GSM.println("AT+CMGS=\"150\"\r");
}

void sendMessage3()
{
  a=4;
  oldTime = millis();
  GSM.print("balance");
}

void sendMessage4(){
  oldTime = millis();
  GSM.println((char)26);
  a=0; 
}

//Send SMS request if flag set
void dialNumber(){
  if(smsStart){
    sendMessage1();
    smsStart = false;
  }
  if ((millis() - oldTime >=pause)&& (a == 2)){
    sendMessage2();
  }
  else if ((millis() - oldTime >=pause)&& (a == 3)){
    sendMessage3();
  }
  else if ((millis() - oldTime >=pause/10)&& (a == 4)){
    sendMessage4();
  }
}

// here to process incoming serial data after a terminator received
void process_data ( const char * data)
{
 // strcpy (inData,data);
  Serial.println(data);
}  // end of process_data

void processIncomingByte (const char inByte)// inByte == GSM.read()
{
  static char input_line [MAX_INPUT];
  static unsigned int input_pos = 0;
  switch (inByte)
  {
  case '\n':   // end of text
    input_line [input_pos] = 0;  // terminating null byte
    // terminator reached! process input_line here ...
    process_data (input_line);
    // reset buffer for next time
    input_pos = 0; 
    break;
  case '\r':  // discard carriage return
    break;
  default:
    // keep adding if not full ... allow for terminating null byte
    if (input_pos < (MAX_INPUT - 1))
      input_line [input_pos++] = inByte;
    break;
  }  // end of switch
} // end of processIncomingByte

In my Loop() i have:

Code: [Select]
dialNumber();
  while(GSM.available()>0){
    processIncomingByte (GSM.read());
  }

Could anyone offer any pointers if they see any glaring mistakes, but more importantly, why the lack of response to the Serial Monitor?

(I should really ask; Any hints at using the SIMCOM class to achieve the same aim, but more efficiently?)

Thank you
3
Geogram ONE / Re: How to save Power as much as Possible?
« Last post by DSS Circuits on August 17, 2017, 08:13:44 PM »
That is a difficult question to answer because there are several variables involved when it comes to battery life. The GO obviously consumes power when operational however the battery will also self discharge some over time.  Stretching out to a year would be a little difficult to calculate.  It also depends on how long the GO will need to be active for once it wakes.  Remember, the device will need to lock on to the GPS signal before it can compute a position. You will also need to connect to the cell service before you can transmit.  Assuming ideal conditions outside this should be done in under a minute.  But ofcourse that can change if outside conditions are not ideal.  I would look for an external solar rechargeable battery back used to recharge cell phones.  You could then connect the USB charging port to the GO to recharge the battery and the solar panel would recharge the battery pack.  This kind of project is going to a lot of trial and error to get the battery life down.

Actually the original GO firmware version only worked with SMS.  The latest version works on both SMS and GPRS and is configured by default to interface real time with GPS Trace Orange.
4
Geogram ONE / How to save Power as much as Possible?
« Last post by victorregoz on August 17, 2017, 01:32:22 PM »
Hello, I'm currently working on a project that requires to track down animal migration for research purposes. I need to save as much battery as possible since recharging the battery will be almost impossible for my purposes. The usage will be approx. just 1 request of current location per day at most and it should work for at least a year.

I saw the v3 of the firmware is really good at saving power in comparison with many other devices I've been looking at. If I set the device to sleep all day long and only turn on once per day, capture the location and send it and back off, I think it might work but I'm not sure how big should the battery capacity be to last a whole year. Could it be possible to provide a solar cell to recharge the battery while the device is in deep sleep?

According to this forum, the V3 firmware only supports SMS communications. I need it to communicate to a server to visualize and store the information in a database. can this be done?

I Hope I'm not asking too much
Thank you for your support.

5
Geogram ONE / Re: 12v car power supply
« Last post by moryc on March 22, 2017, 04:03:30 PM »
Yeah, that was the problem... I didn't check the eagle board before and I could swear I see usb mount being soldered to ground...

Anyway, now everything works like a treat! Thanks.
6
Geogram ONE / Re: 12v car power supply
« Last post by DSS Circuits on March 18, 2017, 10:25:51 AM »
So if I'm reading your post correctly, you have the negative terminal of the 7805 connected to the USB connector case?  If that is the case then that is your problem. The USB case is not grounded.  Trying connecting to one of the GND pins on the board.
7
Geogram ONE / 12v car power supply
« Last post by moryc on March 18, 2017, 08:19:10 AM »
Hello,

First of all - great project, great community and great support! I have found answer for almost every question I had while doing my car's tracking device.
One thing that I have trouble with is the power. I would like to use car's battery (12V), put it through L7805CV to get constant 5V and hardwire it to the board to use it instead of USB. I tried soldering "+" to V_CHG pad next to USB port, and a "-" to USB port mount.
The problem is that despite having 5V on the output of L7805, the charging circuit of GG1 is not triggered (PG LED is off). Needless to say I tried plugging in the USB charger back to check if the circuit is not burnt and everything worked fine (PG and STAT LEDs lit up).

Is there something I'm missing here? Should I use different components? Or maybe different pads on the board?

Thank you for the great work you have done so far, keep it up!
8
Geogram ONE / Re: Error while trying to upload new code
« Last post by ygreq on March 12, 2017, 06:56:17 PM »
BTW, it gives me another error:

/Users/ygr/Documents/Arduino/libraries/GeogramONEv3/GeogramONE/examples/GO_V3_0_EEPROM_Program/GO_V3_0_EEPROM_Program.pde: In function 'void loop()':
/Users/ygr/Documents/Arduino/libraries/GeogramONEv3/GeogramONE/examples/GO_V3_0_EEPROM_Program/GO_V3_0_EEPROM_Program.pde:112:16: warning: converting to non-pointer type 'char' from NULL [-Wconversion-null]
  char textIn = NULL;
                ^


And also I already tested the UARTbee with a lilypad and I managed to load a simple sketch. So it's no that.


As you can see, I am not giving up yet! ;))
9
Geogram ONE / Re: Error while trying to upload new code
« Last post by ygreq on March 12, 2017, 06:53:18 PM »
Hey there!

I was actually trying right now.

For the part with the EEPROM, I just need to know if I am doing it right. I should just open GO_V3_0_EEPROM_Program.pde, set everything and just upload like a regular sketch? Because I just tried that and it does not work.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

How do you flash the bootloader anyway?
10
Geogram ONE / Re: Error while trying to upload new code
« Last post by DSS Circuits on March 12, 2017, 06:48:38 PM »
If none of the above works and you're still having problems, my guess is something happened to the boot loader. If you don't have the ability to flash a bootloader then PM me your address and ship you a new GO with V3 firmware installed.
Pages: [1] 2 3 ... 10