Работа с SIM800L запрос температуры и влажности по смс
Работа с SIM800L запрос температуры и влажности по смс
Для начала хочу поблагодарить автора проэкта за замечательную программу!!! Особенно за огромную работу над modbus RTU. Теперь моя проблемка.
В настоящий момент балуюсь с модулем SIM800L. Накрутил проэктик, опрос датчика DHT11 по sms. Но я столкнулся с проблемой:
1. При отправке смс от модуля на телефон, кроме команд и самой смс , в конце нужно добавить символ ctrl-Z или в нашем случае (char)26, но при компиляции сам IDE заrлючает char 26 в ковычки "(char)26" приходится постоянно редактировать. Ну это мелочи
2. В моем примере для запроса температуры или влажности нужно отправить @ или % , и опять проблемка, хочется буквенный запрос, а сравнить строки не получается пришлось городить, может что не правильно сделал?
3. Не могу добиться Выделить именно ту строку которую мне надо, например вывести на дисплей, к примеру время или входящий смс
Прошу помощи!! Ну и такой вопросик, будет ли в скором времени какой нибудь блок для работы с GSM модулем?
Добавлено (10.06.2016, 12:45)
---------------------------------------------
Смотрю на форуме не сильно пользуется спросом работа с gsm модулями
В настоящий момент балуюсь с модулем SIM800L. Накрутил проэктик, опрос датчика DHT11 по sms. Но я столкнулся с проблемой:
1. При отправке смс от модуля на телефон, кроме команд и самой смс , в конце нужно добавить символ ctrl-Z или в нашем случае (char)26, но при компиляции сам IDE заrлючает char 26 в ковычки "(char)26" приходится постоянно редактировать. Ну это мелочи
2. В моем примере для запроса температуры или влажности нужно отправить @ или % , и опять проблемка, хочется буквенный запрос, а сравнить строки не получается пришлось городить, может что не правильно сделал?
3. Не могу добиться Выделить именно ту строку которую мне надо, например вывести на дисплей, к примеру время или входящий смс
Прошу помощи!! Ну и такой вопросик, будет ли в скором времени какой нибудь блок для работы с GSM модулем?
Добавлено (10.06.2016, 12:45)
---------------------------------------------
Смотрю на форуме не сильно пользуется спросом работа с gsm модулями
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Работа с SIM800L запрос температуры и влажности по смс
Что мешает разбирать присланную строку и выделять нужный фрагмент? Все инструменты для этого есть в разделе "Строки". Все прекрасно разбирается.
Кстати, сам сейчас эксперементирую с модулем SIM800L, он мне больше понравился, нежели модуль M590. Гораздо стабильнее работает.
Кстати, сам сейчас эксперементирую с модулем SIM800L, он мне больше понравился, нежели модуль M590. Гораздо стабильнее работает.
Последний раз редактировалось Max 10 июн 2016, 19:27, всего редактировалось 1 раз.
Работа с SIM800L запрос температуры и влажности по смс
Да я не спорю, может чего не понимаю? Затем и прошу обьяснить, а имено две вещи.Max писал(а):Что мешает разбирать присланную строку и выделять нужный фрагмент? Все инструменты для этого есть в разделе "Строки". Все прекрасно разбира
1. Как из присланного модулем смс, вытащить тот самый текст или буковку , что мне нужна, и после сравнения и получить некое событие, например отправка температуры по запросу T
2. Как вытащить например поступление вх. звонка по присланому RING и поднять трубку или в смс есть параметр заряда АКБ вытащить его и показать на дисплей?????
У меня не получается именно , ВЫТАЩИТЬ слово из строки присланной модулем это сделать, помогите буду благодарен!
Кстати да, модуль стабилен))
Работа с SIM800L запрос температуры и влажности по смс
Вот например:stapmoff писал(а):Как из присланного модулем смс, вытащить тот самый текст или буковку , что мне нужна,
В конце, как раз принятое модулем СМС с кодами 65651 или 65652 (они могут быть любыми). При помощи инструмента "получение подстроки" отсекаете ненужное и выделяете нужное. Учтите, в строке передаются невидимые символы. Для распарсивания лучше подключите дисплей и выводите на него принятую строку, дабы видеть, что там. Подсчитывая символы вычисляете нужное место в теле строки.
Далее, компаратором сравниваете и используете дальше. Можно и буквенный-цифровые сочетания (на латинице, естественно). Таких блоков обработки строки можно много наделать. Для каждой нужной команды и соот. отрабатывать ответ, или действие.
Кстати, в примере, который я выложил тут пример и там есть разбор строки и так же есть видео.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Max 10 июн 2016, 22:14, всего редактировалось 1 раз.
Работа с SIM800L запрос температуры и влажности по смс
Спасибо за ответ! Но что то не получается, какие индексы только не пробовол от 0 до 100 и наоборот, на дисплее ничего нет кроме индекса 0 который показывает все
Добавлено (11.06.2016, 11:25)
---------------------------------------------
Ваш пример я смотрел, от куда вы брали индексы я не понял
Добавлено (13.06.2016, 18:13)
---------------------------------------------
Добавлено (13.06.2016, 19:34)
---------------------------------------------
Добавлено (14.06.2016, 05:20)
---------------------------------------------
Вчера с помощью блока подсчета символов в строке, от модема, на юарт компьютера, любой ответ от модема считает как один символ. И правда, подцепил сумму строк и зада константу z по идеи должен был увидеть, строка от модема и в конце z. Не тут то было, z вставляется после каждой буквы, ответа от модема - это получается что от модема прихожят не строки, а буквы по одному?
Добавлено (11.06.2016, 11:25)
---------------------------------------------
Ваш пример я смотрел, от куда вы брали индексы я не понял
Добавлено (13.06.2016, 18:13)
---------------------------------------------
Я все еще раз прочел внимательно! То что написано все понятно! Но дисплей показывает билиберду, по одному символу! Опраляю на юарт, прилитает пачка символов, пробовал считать, НЕ РАБОТАЕТ! Так то по идеи длина должна быть одинакова, а как у вас в проэкте с 48 индекса, у меня поче му то не прокатывает((( что за беда прям незнаюMax писал(а):В конце, как раз принятое модулем СМС с кодами 65651 или 65652 (они могут быть любыми). При помощи инструмента "получение подстроки" отсекаете ненужное и выделяете нужное. Учтите, в строке передаются невидимые символы. Для распарсивания лучше подключите дисплей и выводите на него принятую строку, дабы видеть, что там. Подсчитывая символы вычисляете нужное место в теле строки.
Далее, компаратором сравниваете и используете дальше. Можно и буквенный-цифровые сочетания (на латинице, естественно). Таких блоков обработки строки можно много наделать. Для каждой нужной команды и соот. отрабатывать ответ, или действие.
Добавлено (13.06.2016, 19:34)
---------------------------------------------
Сейчас попробовал, цепляю блок "получение подстроки" на выход с юарт модема, какие только индексы не ставил, даже начиная с 1 просто показывает 0. Далее на блок "получение подстроки" подаю константу , типо СМС он все корректно фильтрует то что мне надо! Это как понимать? Блок не принимает с порта модема??? Помогите решить проблемуstapmoff писал(а):Я все еще раз прочел внимательно! То что написано все понятно! Но дисплей показывает билиберду, по одному символу! Опраляю на юарт, прилитает пачка символов, пробовал считать, НЕ РАБОТАЕТ! Так то по идеи длина должна быть одинакова, а как у вас в проэкте с 48 индекса, у меня поче му то не прокатывает((( что за беда прям незнаю
Добавлено (14.06.2016, 05:20)
---------------------------------------------
Вчера с помощью блока подсчета символов в строке, от модема, на юарт компьютера, любой ответ от модема считает как один символ. И правда, подцепил сумму строк и зада константу z по идеи должен был увидеть, строка от модема и в конце z. Не тут то было, z вставляется после каждой буквы, ответа от модема - это получается что от модема прихожят не строки, а буквы по одному?
Работа с SIM800L запрос температуры и влажности по смс
Количество символов у М590 и SIM800L разные. Так что блоки чтения строк надо подправлять. Возьмите дисплей (на 4 строки 2004) и выводите туда строки, а не в COM порт (UART) компьютера. В ком порту компа. невидимые символы не выводятся, отсюда и ошибки в подсчете символов в строке у Вас.stapmoff писал(а):с 48 индекса, у меня поче му то не прокатывает
В настройках "получения подстроки" возьмите начальную константу 0, а конечную константу, например, 30 и выведете на дисплей(!) указанный выше, к тому же выведете не напрямую, а заведите переменную, а переменную уже в дисплей.stapmoff писал(а):даже начиная с 1 просто показывает 0
Последний раз редактировалось Max 14 июн 2016, 09:30, всего редактировалось 1 раз.
Работа с SIM800L запрос температуры и влажности по смс
Разобрался)) Ошибка была в том, что я не накапливал данные в uart и буфер чистился после каждого принятого байта. Теперь все понятно, только не могу ни как корректно очищять буфер, там накапливается много
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Работа с SIM800L запрос температуры и влажности по смс
Сделайте так. Можно поиграть временем задержки. Сигнал на сброс приходит, если данных нет более 50мсек. Этого времени вполне должно хватить на обработку результата.
П.С. промышленный протокол ModBus-RTU работает на этом же принципе, только время другое.
П.С. промышленный протокол ModBus-RTU работает на этом же принципе, только время другое.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 15 июн 2016, 19:33, всего редактировалось 1 раз.
Работа с SIM800L запрос температуры и влажности по смс
Спасибо за ответы, разобрался полность))) С модулем делаю все что пожелаю. Спасибо разработчику Flprog
Работа с SIM800L запрос температуры и влажности по смс
Ну это не пользовательские блоки, а полноценная программа!НовыйUser писал(а):выложите пожалуйста новые версии ваших пользовательских блоков. очень интересно узнать функционал и применимость их в программе..Ну это н
Добавлено (22.06.2016, 21:17)
---------------------------------------------
Кому интересно? В данный момент добился следующего:
1. Запрос температуры и влажности смс
2. Запрос баланса сим в модуле смс
3. Запрос статуса модема по нагрузкам и охранным шлейфам смс
4. Смс при критической влажности и температуры
5. Смс при сработке 2-х шлейфов
6. Смс вкл.или выкл 2-е нагрузки
В данный момент пытаюсь отправлять смс на тот номер, что в записной книге и на именно тот, кто прислал смс. Пока не совсем корректно работает
-
- Лейтенант
- Сообщения: 595
- Зарегистрирован: 10 янв 2016, 13:47
- Благодарил (а): 1 раз
Работа с SIM800L запрос температуры и влажности по смс
Могу скинуть файлик, там только номерок поменять, думаю разберетесьholodaleksey писал(а):Мне интересно п.п. 1-6 ))
Работа с SIM800L запрос температуры и влажности по смс
СМС запросы, только маленькие буквы
status - Запрос статуса модема по нагрузкам и охранным шлейфам
meteo - Запрос температуры и влажности
balance - Запрос баланса сим в модуле (опреатор мтс если другой, то нужно поменять цифры в запросе)
redon - вкл. нагрузки на PIN4 arduino (естевственно redon можно менять)
redoff - тут понятно
greenon - аналогично redon только PIN4 arduino
greenoff - понятно
Это пока так сказать набросок программы, хочется отточить до почти идеала, времени маловато на это, а вообще если были бы блоки или блок, по работе с gsm модулями, то это облегчило нам жизнь)))
status - Запрос статуса модема по нагрузкам и охранным шлейфам
meteo - Запрос температуры и влажности
balance - Запрос баланса сим в модуле (опреатор мтс если другой, то нужно поменять цифры в запросе)
redon - вкл. нагрузки на PIN4 arduino (естевственно redon можно менять)
redoff - тут понятно
greenon - аналогично redon только PIN4 arduino
greenoff - понятно
Это пока так сказать набросок программы, хочется отточить до почти идеала, времени маловато на это, а вообще если были бы блоки или блок, по работе с gsm модулями, то это облегчило нам жизнь)))
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Работа с SIM800L запрос температуры и влажности по смс
Цитата stapmoff ()200?'200px':''+(this.scrollHeight+5)+'px');">Это пока так сказать набросок программы
Спасибо! Все хорошо, но есть одно но: почти во всех проектах Arduino+GSM, которые я видел, нет проверки работоспособности модуля GSM. Принял модуль команду или нет, зарегистрировался в сети или нет, повис или еще чего... Довольно просто такую проверку реализовать, но только на си, иначе в коробочках FBD запутаешься. Нужен лишь счетчик состояния системы ("конечный автомат").
Ниже представлена довольно абстрактная блок-схема работы одного моего устройства на PIC16F628. Там еще есть контроль дискретных входов, контроль питания и т.д. Вся программа выполняется циклически без всяких Delay и застреваний где-либо.
Спасибо! Все хорошо, но есть одно но: почти во всех проектах Arduino+GSM, которые я видел, нет проверки работоспособности модуля GSM. Принял модуль команду или нет, зарегистрировался в сети или нет, повис или еще чего... Довольно просто такую проверку реализовать, но только на си, иначе в коробочках FBD запутаешься. Нужен лишь счетчик состояния системы ("конечный автомат").
Ниже представлена довольно абстрактная блок-схема работы одного моего устройства на PIC16F628. Там еще есть контроль дискретных входов, контроль питания и т.д. Вся программа выполняется циклически без всяких Delay и застреваний где-либо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 23 июн 2016, 12:00, всего редактировалось 1 раз.
Работа с SIM800L запрос температуры и влажности по смс
Ну я в языке си не силен, да что не силен, вообще плохо знаю. Я проверку делал, но только с использованием задержки, т.е через определенное время происходил опрос модема! Это не правильно и я проверку убрал. А с другой стороны сколько я работал с sim800 он уже почти месяц во включеном состоянии и хоть бы что))
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Работа с SIM800L запрос температуры и влажности по смс
Ну для локальной (для себя) информационной системы отсутствие контроля GSM модуля не столь критично, но если это охранка или система диспетчеризации, то контроль очень важен. Даже промышленные модемы от Сименса и Овна виснут раз в пару-тройку месяцев (всегда релюшки по питанию модемов в шкафы ставим). С модемом серии Easy xLogic тоже самое, но тут только передергивание питания всей системы поможет. О зависаниях сим900 тоже много тем в инете, человеки релюшки маленькие по питанию ставят.
Последний раз редактировалось Boroda 23 июн 2016, 16:08, всего редактировалось 1 раз.
Работа с SIM800L запрос температуры и влажности по смс
Да согласен полностью, сброс при зависании нужен и контроль состояния нужен, но пока так как есть. Если есть мысли по этому поводу, давайте объединим усилия и состряпаем стабильный проэктик для применения в сфере охраны или промышлиности, оно же лишним не будет)))
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Работа с SIM800L запрос температуры и влажности по смс
Времени свободного будет побольше, постараюсь на СИ блок написать. Да и модем никак с китая не приедет, протестировать пока неначем, а из готовых устройств таскать туда-сюда не хочется.
Работа с SIM800L запрос температуры и влажности по смс
Немного допилил проэкт! Теперь запросы обрабатываются в том случае если номер совпадает с тем, что в записной книжке. Всего можно записать 4 номера
Работа с SIM800L запрос температуры и влажности по смс
У меня в макетном состоянии прекрасно напрямую работает. Но, в будущем лучше согласовывать.НовыйUser писал(а):800ая пробрасывается на ардуино контактами TX и RX напрямую ?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя