PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Беcпроводные коммуникации > Модемы GSM

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2017, 15:38   #21
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Xellow Посмотреть сообщение
Добрый день. Не могу найти как сформулировать условие выполнения команды по СМС только от одного заданного номера, код из примера - как хотелось бы видеть...

void getsms()
{
sms.GetSMS(pos,n,20,smsbuffer,160);
//Serial.println(n); //номер входящей СМС
//Serial.println(smsbuffer); //текст сМС
input_string =String(smsbuffer);
if ((n) != (n1)) - //Если номер входящей СМС не соответствует заданному (char n1[] = "+79XXXXXXXXX"
{
sms.DeleteSMS(pos); - //Удаляем эту СМС
delay(1000);
}


Собственно вопрос - как правильно сформулировать выделенное цветом условие?
Так попробуйте:
PHP код:
if(strstr(nn1) != NULL) {
если номер совпадает
}
else {
если номер не совпадает

lti1 вне форума   Ответить с цитированием
Старый 11.03.2017, 15:52   #22
skanch
Модератор
 
Аватар для skanch
 
Регистрация: 19.01.2010
Возраст: 58
Город: Санкт-Петербург
Регион: 78, 98
Сообщений: 2,645
skanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant future
По умолчанию

Цитата:
Сообщение от Xellow Посмотреть сообщение
...условие выполнения команды по СМС только от одного заданного номера...
Объявить в "шапке"
PHP код:
char adminNumber[] = "+7**********"//Ваш номер телефона 
и далее

PHP код:
if(strcmp(numberadminNumber) == 0//принимать СМС только с определенного номера 
Как вариант...
skanch вне форума   Ответить с цитированием
Старый 11.03.2017, 16:50   #23
Xellow
Старший Пользователь
 
Регистрация: 23.02.2010
Город: Смоленск
Регион: 67
Машина: Sportage 3
Сообщений: 165
Xellow will become famous soon enoughXellow will become famous soon enough
По умолчанию

Респект! Работает!
Код пишется, в принципе основные хотелки реализованы, но пока без энергосбережения... Что получится - выложу, если будут желающие его улучшить- только "за"). Писатель я не очень..

Последний раз редактировалось Xellow; 11.03.2017 в 21:44.
Xellow вне форума   Ответить с цитированием
Старый 12.03.2017, 17:00   #24
Xellow
Старший Пользователь
 
Регистрация: 23.02.2010
Город: Смоленск
Регион: 67
Машина: Sportage 3
Сообщений: 165
Xellow will become famous soon enoughXellow will become famous soon enough
По умолчанию

Ну вот примерно что получилось... Что работает: Старт - стоп по СМС, возврат данных о напряжении сети и температуре по СМС запросу, старт по температуре и останов от аварийного сигнала(опущен ручник, включена передача). Все события подтверждаются соответствующими СМС. Теперь чего нет: Энергосбережение(((, ардуину не усыпить, т.к. нужно мерить температуру и напряжение, а SIM800, при включении режима энергосбережения - ведёт себя неадекватно(может руки кривые). В общем то сам скетч - это выдержки из разных творений на просторах интернета, собранные в один, так что прошу сильно не пинать если что))). Сам код автозапуска уже полтора года трудится у меня в машине, без особых нареканий. Энергопотребление получилось около 20мА, позже перемерю более точным прибором. Если будет желание, что либо поправить - буду только ЗА. Есть одна замеченная проблема!!! Если в результате каких либо манипуляций СИМ забивается необработанными СМС, то конструкция перестаёт функционировать, до очистки СИМ через АТ команды. Как это прописать в коде я не разобрался((.
Вложения
Тип файла: rar GSM_TERM_2relay_all_new.ino.rar (5.9 Кб, 634 просмотров)

Последний раз редактировалось Xellow; 12.03.2017 в 20:15.
Xellow вне форума   Ответить с цитированием
Старый 12.03.2017, 17:58   #25
skanch
Модератор
 
Аватар для skanch
 
Регистрация: 19.01.2010
Возраст: 58
Город: Санкт-Петербург
Регион: 78, 98
Сообщений: 2,645
skanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant future
По умолчанию

Удаление всех СМС АТ- команда "AT+CMGD=4". Все команды можно посмотреть здесь.
skanch вне форума   Ответить с цитированием
Старый 12.03.2017, 18:36   #26
Xellow
Старший Пользователь
 
Регистрация: 23.02.2010
Город: Смоленск
Регион: 67
Машина: Sportage 3
Сообщений: 165
Xellow will become famous soon enoughXellow will become famous soon enough
По умолчанию

Я эти команды знаю.. но не могу их в скетч корректно встроить.. По чему то все варианты отправки АТ команд, которые я пробовал встроить в скетч - делали его не работоспособным((( Пробовал так:
gsm.SimpleWrite(F("AT+CMGDA=DEL ALL"));
gprsSerial.print("AT+CMGDA=DEL ALL");
GsmSerial.println("AT+CMGDA=DEL ALL");
Xellow вне форума   Ответить с цитированием
Старый 12.03.2017, 20:13   #27
Xellow
Старший Пользователь
 
Регистрация: 23.02.2010
Город: Смоленск
Регион: 67
Машина: Sportage 3
Сообщений: 165
Xellow will become famous soon enoughXellow will become famous soon enough
По умолчанию

Поэкспериментировал ещё... Прописал Serial.print("AT+CMGDA=DEL ALL");
Скетч работает, в сериале команда проходит, но СМС не удаляет(( в порт прописывает следующее:
ATT: "REC READ"
RIC:
+CMGR: "REC READ","+79ххххххххх","","17/03/12,19:10:53+12"
6

OK

AT+CMGDA=DEL ALLATT: OK
RIC: NO STRING RCVDATT: OK
RIC: NO STRING RCVDATT: OK
RIC: NO STRING RCVDATT: OK
RIC:

ATT: OK
RIC:
OK
Xellow вне форума   Ответить с цитированием
Старый 12.03.2017, 21:04   #28
skanch
Модератор
 
Аватар для skanch
 
Регистрация: 19.01.2010
Возраст: 58
Город: Санкт-Петербург
Регион: 78, 98
Сообщений: 2,645
skanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant future
По умолчанию

А такой вариант на прошел?
PHP код:
Serial.println("AT+CMGD=4");//Удаляем всё SMS которые могут содержаться на сим карте. 
skanch вне форума   Ответить с цитированием
Старый 12.03.2017, 22:09   #29
Xellow
Старший Пользователь
 
Регистрация: 23.02.2010
Город: Смоленск
Регион: 67
Машина: Sportage 3
Сообщений: 165
Xellow will become famous soon enoughXellow will become famous soon enough
По умолчанию

Странно, но AT+CMGD=4, не удаляет СМС, даже в режиме подачи АТ команд напрямую из консоли.
Xellow вне форума   Ответить с цитированием
Старый 12.03.2017, 23:41   #30
skanch
Модератор
 
Аватар для skanch
 
Регистрация: 19.01.2010
Возраст: 58
Город: Санкт-Петербург
Регион: 78, 98
Сообщений: 2,645
skanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant future
По умолчанию

Здесь подсмотрел вариант

PHP код:
{
 
gsm.begin(2400);
 
delay(10000);
 for(
1<= 21i++)
 {
   
sms.DeleteSMS(i);
 } 
skanch вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 13:26.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot