38    void sendSms    (
const String &message);
 
   41    bool readValues (String &value, 
const String message);
 
   42    bool readValues (
long   &value, 
const String message);
 
   43    bool readValues (
long   &value, 
long &value2, 
const String message);
 
   75    MyDbg(F(
"MySmsCmd::begin"));
 
   94          return F(
"No Gps position.\n");
 
   96          return F(
"Gps not enabled.\n");
 
  110    MyDbg(F(
"checkSMS"));
 
  112       String messageLower = sms.
message;
 
  114       messageLower.toLowerCase();
 
  118       if (messageLower.indexOf(F(
"on")) == 0) {
 
  120       } 
else if (messageLower.indexOf(F(
"off")) == 0) {
 
  122       } 
else if (messageLower.indexOf(F(
"status")) == 0) {
 
  124       } 
else if (messageLower.indexOf(F(
"psm")) == 0) {
 
  126       } 
else if (messageLower.indexOf(F(
"gps")) == 0) {
 
  128       } 
else if (messageLower.indexOf(F(
"sms")) == 0) {
 
  130       } 
else if (messageLower.indexOf(F(
"mqtt")) == 0) {
 
  132       } 
else if (messageLower.indexOf(F(
"phone")) == 0) {
 
  155    int idx = message.indexOf(
':');
 
  158       value = message.substring(idx + 1);
 
  168    int idx = message.indexOf(
':');
 
  171       value = atoi(message.substring(idx + 1).c_str());
 
  180    int first = message.indexOf(
':');
 
  183       int second = message.indexOf(
':', first + 1);
 
  186          value1 = atoi(message.substring(first + 1, second).c_str());
 
  187          value2 = atoi(message.substring(second + 1).c_str());
 
  216    status += (String) F(
"Status: ")      + 
myData.
status              + 
'\n';
 
  217    status += (String) F(
"Voltage: ")     + String(
myData.
voltage, 2)  + F(
" V\n");
 
  219    status += (String) F(
"Humidity: ")    + String(
myData.
humidity)    + F(
" %\n");
 
  220    status += (String) F(
"Pressure: ")    + String(
myData.
pressure)    + F(
" hPa\n");
 
  223          status += F(
"No Gps positions.");
 
  225          status += F(
"Gps not enabled.");
 
  239    if (sms.
message.indexOf(F(
":")) == -1) {
 
  251          MyDbg((String) F(
"psm:[") + off + F(
"]"));
 
  260    if (sms.
message.indexOf(F(
":")) == -1) {
 
  306    info += F(
"wrong command\n");
 
  309    info += F(
"status\n");
 
  310    info += F(
"psm[:off] - power saving mode\n");
 
  311    info += F(
"gps[:15] - check every (sec)\n");
 
  312    info += F(
"sms[:15] - check every (sec)\n");
 
  313    info += F(
"mqtt[30:60] - (moving:standing (sec)\n");
 
  314    info += F(
"phone:1234\n");
 
MyOptions & myOptions
Reference to the options. 
 
String phoneNumber
Pone number for sms answers. 
 
bool isGpsEnabled
Is the gps part of the sim808 active? 
 
long smsCheckIntervalSec
SMS check intervall. 
 
String status
Status information. 
 
class MyData::RtcData rtcData
Data to store in the RTC memory. 
 
MyOptions myOptions
The global options. 
 
String phoneNumber
Sms sender number. 
 
long gpsCheckIntervalSec
Time interval to check the gps position. 
 
void MyDbg(String info, bool fromWebServer=false, bool newline=true)
 
bool powerOn
Is the GSM power from the DC-DC modul switched on? 
 
void cmdSms(const SmsData &sms)
 
double temperature
Current BME280 temperature. 
 
bool sendSMS(String phoneNumber, String message)
 
MyGps lastGps
Last known gps location without timeout. 
 
String message
Sms content. 
 
void cmdPhone(const SmsData &sms)
 
String satellitesString()
 
MySmsCmd(MyGsmGps &gsmGps, MyOptions &options, MyData &data)
 
bool deleteSMS(long index)
 
double pressure
Current BME280 pressure. 
 
MyGsmGps myGsmGps(myOptions, myData, PIN_RX, PIN_TX)
sim808 gsm/gps communication class. 
 
MyData & myData
Reference to the data. 
 
void cmdOff(const SmsData &sms)
 
MyGsmGps & myGsmGps
Reference to the gsm/gps instance. 
 
long index
Sms index on sim card. 
 
String getGoogleMapGpsUrl()
 
double voltage
Current supply voltage. 
 
void cmdGps(const SmsData &sms)
 
void cmdPsm(const SmsData &sms)
 
void sendSms(const String &message)
 
bool readValues(String &value, const String message)
 
void cmdMqtt(const SmsData &sms)
 
void cmdStatus(const SmsData &sms)
 
void cmdOn(const SmsData &sms)
 
bool isGsmActive
Is the sim808 modul connected to a gsm network? 
 
bool fixStatus
Are the gps is valid received? 
 
void sendOk(const SmsData &sms)
 
double humidity
Current BME280 humidity. 
 
MyData myData
The global collected data. 
 
bool secondsElapsedAndUpdate(long &lastCheckSec, const long &intervalSec)
 
long mqttSendOnNonMoveEverySec
Send data interval to MQTT server on non moving. 
 
bool isDeepSleepEnabled
Should the system go into deepsleep if needed. 
 
long lastSmsCheckSec
Timestamp of the last sms check. 
 
bool getSMS(SmsData &sms)
 
long mqttSendOnMoveEverySec
Send data interval to MQTT server on moving. 
 
void cmdDefault(const SmsData &sms)