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)