FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Пятница, 20.10.2017, 00:49
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 64«12346364»
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Блок пользователя для работы с GSM (SIM 900 и М590)
Блок пользователя для работы с GSM
Vitez Дата: Пятница, 22.07.2016, 16:32 | Сообщение # 16
Майор
Группа: Проверенные
Сообщений: 167
Награды: 4
Репутация: 1
Статус: Offline
1. Возможно шилд GSM работает на другой скорости. Вот отличная статья для начала работы с шилдом. http://istarik.ru/blog/arduino/17.html
2. Зачем вам вебсервер. Пошлите данные с блока на COM Port 0 блоком "Отправка в UART"  Установить в блоке параметры "Ком порт 0" "Отправлять по переднему фронту" "Заканчивать переводом строки" "Данные для отправки внешние" Вход "send" инвертируйте,  вход "D" соедините с выходом с блока "CALL" или "out_sms" Залейте скетч.
В FLPrig откройте монитор com порта, нажмите соединить. В окно будут выводится все данные с блока.
Прикрепления: 7437492.png(41Kb) · 0609753.png(5Kb) · 4082100.png(49Kb) · 0513697.png(116Kb)


Сообщение отредактировал Vitez - Пятница, 22.07.2016, 16:37
 
Vitez Дата: Пятница, 22.07.2016, 18:51 | Сообщение # 17
Майор
Группа: Проверенные
Сообщений: 167
Награды: 4
Репутация: 1
Статус: Offline
Цитата НовыйUser ()
компортмонитор дает на выбор либо 1 либо 4 порты.
Значит заняли пины 0 и 1

Цитата НовыйUser ()
вебсервер нужен для других задач в части общего проекта...
Да нехай с ним, с проектом. Вы блок отладте.
Цитата НовыйUser ()
вопрос. почему надо хардваресериал порты отключать при заливки скетча ?
Нужно отключать именно  0 и 1 прин, потому что именно по ним идет заливка скетча.

Добавлено (22.07.2016, 18:46)
---------------------------------------------

Цитата НовыйUser ()
Serial3.println("AT+IPR=9600\r"); // Указываен скорость порта в самом модеме
Вообще бессмысленная строка. Используется только при смене скорости. Тое подключаемся на действующей скорости, задаем указаную выше команду, пере подключаемся на указанной скорости. Параметр сохраняется  !!!

Добавлено (22.07.2016, 18:51)
---------------------------------------------

Цитата НовыйUser ()
он же в call то выводит...
Он call выводит криво. Такое возможно, если установлена неправильная скорость


Сообщение отредактировал Vitez - Пятница, 22.07.2016, 18:41
 
Vitez Дата: Вторник, 26.07.2016, 06:35 | Сообщение # 18
Майор
Группа: Проверенные
Сообщений: 167
Награды: 4
Репутация: 1
Статус: Offline
В приложении
Прикрепления: 5008651.png(29Kb)
 
Vitez Дата: Вторник, 26.07.2016, 13:20 | Сообщение # 19
Майор
Группа: Проверенные
Сообщений: 167
Награды: 4
Репутация: 1
Статус: Offline
2 секунды
 
Vitez Дата: Вторник, 26.07.2016, 16:35 | Сообщение # 20
Майор
Группа: Проверенные
Сообщений: 167
Награды: 4
Репутация: 1
Статус: Offline
Я уже слабо помню досконально реализацию. Писалось и отлаживалось зимой. Но по моему, была та же проблема.  Если по очереди слать разные команды, то все работает, При последовательной подачи одной команды, компаратор зависает на первой. Для решения бага и стоит Свитч под названием "Сбрасываем переменную к нулю" то е к независимому значению. Попробуйте полностью реализовать мою схему.

Сообщение отредактировал Vitez - Вторник, 26.07.2016, 18:09
 
TVG Дата: Вторник, 26.07.2016, 22:13 | Сообщение # 21
Сержант
Группа: Проверенные
Сообщений: 47
Награды: 0
Репутация: 1
Статус: Offline
Эх нужно тож поковырять sim 900 а то шилд лежит
 
Vitez Дата: Пятница, 29.07.2016, 13:27 | Сообщение # 22
Майор
Группа: Проверенные
Сообщений: 167
Награды: 4
Репутация: 1
Статус: Offline
Кто может, помогите с изменением оператора Delay на millis в скетче. никак не могу догнать, как правильно сделать.

if ( In_sms   ==  true)
    {  
    Serial1.print("AT + CMGS = \"");
    delay(300);
    Serial1.print( Phone );
    delay(300);
    Serial1.println("\"");
    delay(300);
//
    Serial1.println(  text  );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
    Serial1.println(    text1    );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
    Serial1.println(    text2    );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
Serial1.println(     text3     );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
Serial1.println(     text4     );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
Serial1.println(     text5     );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
Serial1.println(      text6      );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
    Serial1.println((char)26);
    delay(300);
    Serial1.println();
    delay(300);
}
 
Vitez Дата: Пятница, 29.07.2016, 16:33 | Сообщение # 23
Майор
Группа: Проверенные
Сообщений: 167
Награды: 4
Репутация: 1
Статус: Offline
НовыйUser, Алгоритм работы блока меня устраивает полностью. 5 месяцев работы, 704 смс принято и отправлено. Зависаний и ошибок нет. Единственно, сейчас вылез баг из за оператора Delay.
 
Vitez Дата: Пятница, 29.07.2016, 18:55 | Сообщение # 24
Майор
Группа: Проверенные
Сообщений: 167
Награды: 4
Репутация: 1
Статус: Offline
Когда приходит смс, основная программа тормозится на Delay, при работе с Каскадой вылетает ошибка

Сообщение отредактировал Vitez - Пятница, 29.07.2016, 18:55
 
Слимпер Дата: Пятница, 29.07.2016, 20:21 | Сообщение # 25
Генерал-лейтенант
Группа: Проверенные
Сообщений: 969
Награды: 54
Репутация: 40
Статус: Offline
Цитата Vitez ()
Кто может, помогите с изменением оператора Delay на millis в скетче. никак не могу догнать, как правильно сделать.
На пальцах объяснять было не охота, поэтому взял блок из первого сообщения и переделал его.
Но так как устройства нет, проверить не могу, если не заработает пишите, будем разбираться.
Прикрепления: 0290974.ubi(70Kb)


Сообщение отредактировал Слимпер - Пятница, 29.07.2016, 20:23
 
Vitez Дата: Пятница, 29.07.2016, 20:38 | Сообщение # 26
Майор
Группа: Проверенные
Сообщений: 167
Награды: 4
Репутация: 1
Статус: Offline
Слимпер, спасибо.Интегрирую, отпишусь.

Сообщение отредактировал Vitez - Пятница, 29.07.2016, 20:40
 
Слимпер Дата: Суббота, 30.07.2016, 06:08 | Сообщение # 27
Генерал-лейтенант
Группа: Проверенные
Сообщений: 969
Награды: 54
Репутация: 40
Статус: Offline
Цитата НовыйUser ()
но как это сделать - не знаю....если кто вкурсе - накидайте возможные решения кода, проверю....
Если я правильно понял, что вам надо ( в чем я не до конца уверен  happy ), то вот так передел ваш проект.
Но проверить опять же нет возможности, пробуйте.

Когда Vitez, проверит тот вариант кода что я выкладывал раньше, и ваш блок лучше переделать.

Vitez, вопрос, а вариант SoftwareSerial не рассматривали?
Прикрепления: test.flp(298Kb)
 
Слимпер Дата: Суббота, 30.07.2016, 11:43 | Сообщение # 28
Генерал-лейтенант
Группа: Проверенные
Сообщений: 969
Награды: 54
Репутация: 40
Статус: Offline
Цитата НовыйUser ()
выход в терминал от модема при поступлении смс телефонный номер выглядит так:-сначала номер с некоторой доп инфой (онда строка)
-потом текст сообщения (вторая строка ниже)
Можете выложить скриншот терминала что приходит (передает модуль) при получении SMS?
Не могу понять последовательность.


Сообщение отредактировал Слимпер - Суббота, 30.07.2016, 11:47
 
Слимпер Дата: Суббота, 30.07.2016, 12:27 | Сообщение # 29
Генерал-лейтенант
Группа: Проверенные
Сообщений: 969
Награды: 54
Репутация: 40
Статус: Offline
Как не удобно без возможности самому проверить sad
Попробуйте эту версию.
Вроде нашел в коде пару косяков.
Прикрепления: test_2.flp(307Kb)
 
Слимпер Дата: Суббота, 30.07.2016, 13:23 | Сообщение # 30
Генерал-лейтенант
Группа: Проверенные
Сообщений: 969
Награды: 54
Репутация: 40
Статус: Offline
Цитата НовыйUser ()
25 и 26 молчат
Странно, а можно глянуть, что на выходе Call, скажем вот
Прикрепления: test_4.flp(316Kb)
 
Форум » Основной » Спросить у знатоков » Блок пользователя для работы с GSM (SIM 900 и М590)
Страница 2 из 64«12346364»
Поиск:

FLProg © 2017
Яндекс.Метрика