Полная версия этой страницы:
gsm - модуль + 16F628
Здравствуйте!
Я здесь новичок , так что если не в тему, то извиняюсь..
Есть задача передачи результатов измерений по SMS на компьютер, для управления использовать PIC.
нашел много ссылок - от сопряжения со старым сименсом, до применения модулей, например, SIM300(SIM900)
Так и не могу понять какой вариант лучше и проще. Может у кого есть опыт решения подобной задачи? (просто передача смс от ацп с помощью PIC) приемное устройство сопрягается с PC по RS232.. вот так как то...
может кто подскажет каким путём пойти проще?
спасибо.
Ildar Belkin
Oct 18 2011, 18:53
Да тут особо-то и нечего мудрить, как бы. Задача, по Вашему описанию, достаточно простая и необъемная.
Система состоит из двух устройств:
1. Устройство-супервизор параметра через датчик:
датчик -------(цифровой или аналоговый - непонятно из описания)---------- > PIC16F628A (PIC16F648A, PIC16F1824 и т.п. с USART и АЦП для аналогого датчика) ----- > SIM900
2. устройство сопряжения с PC:
любой GSM модем + софт под него на нужной ОС. На FreeBSD или прочей unix-подобной системе - просто пишете парсер для модема, например, на PERL - и далее уже что хотите то и делаете.
Я бы в MySQL складывал бы параметры по дате отсылки с устройства 1 (отправленные через СМС со значением, принятого с датчика). Потом можно что угодно сделать - PHP скрипт и веб сервак на Apache - вот мониторинг через WEB.
molecul
Oct 19 2011, 05:21
Вариант 1 - можно существенно упростить, в случае если сигналов немного и алогритмы их обработки простые. Есть практически готовое решение.
Нажмите для просмотра прикрепленного файла
CADiLO
Oct 19 2011, 06:04
Там пик и даром не нужен.
датчик цифровой или аналоговый + АЦП ----- > SIM900 + программа на ЕАТ
со стороны компа модуль через RS232 вешаем на СОМ или USB + программа со столоны компа.
второй вариант - если комп подключен к интернету - отсылаем сообщения с модуля сразу на SMS/MMS центр, емейл, сервер - на выбор
Цитата(molecul @ Oct 19 2011, 09:21)

Вариант 1 - можно существенно упростить, в случае если сигналов немного и алогритмы их обработки простые. Есть практически готовое решение.
Нажмите для просмотра прикрепленного файлаАвтору статьи Алексею Рудневскому + Telit: цитата "Шифрованные кодируются с использованием алгоритма MD5..."
MD5 - это алгоритм хеширования, но не шифрования

Да, для даной задачи вполне достаточно двух копеечных модулей SIM900 или M12 (если двух каналов АЦП хватит).
molecul
Oct 19 2011, 09:10
Цитата(GeGeL @ Oct 19 2011, 12:36)

Автору статьи Алексею Рудневскому + Telit: цитата "Шифрованные кодируются с использованием алгоритма MD5..."
MD5 - это алгоритм хеширования, но не шифрования

Ну, придраться можно, конечно. Но там же не сказано, что "Сообщения
шифруются с использованием алгоритма MD5". А слово "
кодируются" можно неоднозначно трактовать
Romashki
Oct 19 2011, 13:55
Думаю что все таки пик нужен в случае с ЕАТ (как минимум для старта модуля)....
CADiLO
Oct 19 2011, 14:01
Автостарт можно сделать конденсатором на поверкей.
А вот маленький PIC10 в качестве супервизора-накрайнийслучайантизависателя

предусмотреть можно.
Таким даже призводители материнок не гнушаются - видел уже несколько где PIC10 ставят для контроля.
Цитата(Romashki @ Oct 19 2011, 17:55)

Думаю что все таки пик нужен в случае с ЕАТ (как минимум для старта модуля)....
Не обязательно. И sim900, и M10 прекрасно стартуют после подачи питания при жестко посаженной на корпус ноге POWERKEY. Кроме того, не знаю, как в еат, но в оцпу есть возможность настроить параметры проекта перед компиляцией, в т.ч. и автозапуск модуля. Как один из вариантов, можно настроить так: после подачи питания запускается задача оцпу, а из нее в любой момент можно запустить модуль void Ql_PowerOnAck(void) и отключить void Ql_PowerDown(u8 powertype)
Другое дело желателен супервайзер (т.к. нигде нет 100% гарантии запуска с первого раза) - или внешний пик, или логика.
Romashki
Oct 19 2011, 17:30
А еще бывает модуль "слетает" с регистрации (по разным причинам). Я не говорю о первом включении!!! "Кто-то" должен постоянно контроллировать "нормальное" состояние модуля. Поэтому контроллер внешний нужен 100%. Вот другое - правильно выбрать этот контроллер именно для этих задач контроля состояния модуля. Думаю тот самы PIC10, как сказал CADiLO, вполне подойдет.
Все, кроме зависания самого оцпу, вполне может контролировать оцпу. Причем лучше внешнего контроллера благодаря наличию прямых функций к ядру, а не АТ (например, void Ql_GetDeviceCurrentRunState(
s32 * simcard,
s32 * creg,
s32 * cgreg,
u8 * rssi,
u8 * ber);
Так что логично поддерживать его работу, а оцпу поддерживает все остальное. Я использовал меандр, генерируемый оцпу, как индикатор его работы. При исчерпывающем кодировании оцпу-программы этого достаточно для обеспечения 100% гарантии работы устройства в целом.
Спасибо что откликнулись, по идее ближе это:
Цитата(Ildar Belkin @ Oct 18 2011, 22:53)

Да тут особо-то и нечего мудрить, как бы. Задача, по Вашему описанию, достаточно простая и необъемная.
Система состоит из двух устройств:
1. Устройство-супервизор параметра через датчик:
датчик -------(цифровой или аналоговый - непонятно из описания)---------- > PIC16F628A (PIC16F648A, PIC16F1824 и т.п. с USART и АЦП для аналогого датчика) ----- > SIM900
2. устройство сопряжения с PC:
любой GSM модем + софт под него на нужной ОС. На FreeBSD или прочей unix-подобной системе - просто пишете парсер для модема, например, на PERL - и далее уже что хотите то и делаете.
Я бы в MySQL складывал бы параметры по дате отсылки с устройства 1 (отправленные через СМС со значением, принятого с датчика). Потом можно что угодно сделать - PHP скрипт и веб сервак на Apache - вот мониторинг через WEB.
все касаемо датчика и ацп и контроллера , и связи по RS232 - уже пройденный этап, остаётся только GSM- часть... по которой вообще нет опыта.
мне бы примерчик конкретного решения со схемкой (примерчик любой), работающий и проверенный... Делать-то буду все равно по-своему, в конечном счете.., но основа нужна.
и примерчик бы этот от человечка, уже сделавшего.. с которым поговорить бы можно было в личке...
а вообще, ещё раз спасибо всем написавшим
kurtsvl
Apr 14 2013, 13:49
делаю простейшую сигнализацию на М10 ,программа уже отлажена,в прототипе POWERKEY через кнопку на землю,устройство включается после нажатия на нее,но дело в том что в серийном образце желательно исключить кнопку , посадив выход на землю
при старте с постоянно закороченным на землю POWERKEY не происходит обработка событий EVENT_KEY , пытался использовать функцию
Ql_PowerOnAck(void) для этого изменял в файле ql_customer_gpio.c значение powerautoon на FALSE ,все бесполезно
void ql_entry()
{Ql_PowerOnAck();<-- вставлял здесь.
..............
...............
}
уважаемому gegel как то удалось это обойти в своем трекере,может кто нибудь знает как исправить ситуацию.
kurtsvl
Apr 14 2013, 13:49
делаю простейшую сигнализацию на М10 ,программа уже отлажена,в прототипе POWERKEY через кнопку на землю,устройство включается после нажатия на нее,но дело в том что в серийном образце желательно исключить кнопку , посадив выход на землю
при старте с постоянно закороченным на землю POWERKEY не происходит обработка событий EVENT_KEY , пытался использовать функцию
Ql_PowerOnAck(void) для этого изменял в файле ql_customer_gpio.c значение powerautoon на FALSE ,все бесполезно
void ql_entry()
{Ql_PowerOnAck();<-- вставлял здесь.
..............
...............
}
уважаемому gegel как то удалось это обойти в своем трекере,может кто нибудь знает как исправить ситуацию.
внешние цепочки тоже нежелательно применять,конденсатор навредит при кратковременной пропаже питания , а более сложные цепи лишний геморрой ,я за простоту
kurtsvl
Apr 14 2013, 19:50
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.