Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- do {
- if (!digitalRead(rainsensor) == 1) {
- sendSMS("+37369777175"," RAIN! Check Camera or Close the Roof, bitch!");
- }
- _response = sendATCommand("AT+CMGL=\"REC UNREAD\",1", true);// Отправляем запрос чтения непрочитанных сообщений
- if (_response.indexOf("+CMGL: ") > -1) { // Если есть хоть одно, получаем его индекс
- int msgIndex = _response.substring(_response.indexOf("+CMGL: ") + 7, _response.indexOf("\"REC UNREAD\"", _response.indexOf("+CMGL: ")) - 1).toInt();
- int i = 0; // Объявляем счетчик попыток
- do {
- i++; // Увеличиваем счетчик
- _response = sendATCommand("AT+CMGR=" + (String)msgIndex + ",1", true); // Пробуем получить текст SMS по индексу
- Serial.println("readsms");
- _response.trim(); // Убираем пробелы в начале/конце
- if (_response.endsWith("OK")) { // Если ответ заканчивается на "ОК"
- if (!hasmsg) hasmsg = true; // Ставим флаг наличия сообщений для удаления
- sendATCommand("AT+CMGR=" + (String)msgIndex, true); // Делаем сообщение прочитанным
- sendATCommand("\n", true); // Перестраховка - вывод новой строки
- parseSMS(_response); // Отправляем текст сообщения на обработку
- Serial.println(_response);
- break; // Выход из do{}
- }
- else { // Если сообщение не заканчивается на OK
- Serial.println ("Error answer"); // Какая-то ошибка
- sendATCommand("\n", true); // Отправляем новую строку и повторяем попытку
- }
- } while (i < 10);
- break;
- }
- else {
- lastUpdate = millis(); // Обнуляем таймер
- if (hasmsg) {
- sendATCommand("AT+CMGDA=\"DEL ALL\"", true); // Удаляем все сообщения
- hasmsg = false;
- }
- break;
- }
- } while (1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement