Перейти к содержанию

I am mechanic

Members
  • Постов

    105
  • Зарегистрирован

  • Посещение

Информация о I am mechanic

  • День рождения 18.11.1975

Информация

  • Пол
    Мужчина
  • Интересы
    RaspPi, C, C#, MUT-III&Mut3Decoder, semiconductors
  • Город
    Блаблатов

Электроника

  • Стаж в электронике
    10-20 лет
  • Сфера радиоэлектроники
    АСУТП техпроцесса
  • Оборудование
    RaspPi, C, C#, MUT-III&Mut3Decoder

Посетители профиля

2 667 просмотров профиля

Достижения I am mechanic

Стажер

Стажер (3/14)

  • 10 постов на форуме
  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

5

Репутация

  1. Продублирую здесь, не все хотят читать по ссылке - как устанавливать донглы.. Список моделей модемов выдернут из драйвера донгла, поэтому только эти мопеды будут работать в Диспетчере... static const char * const seven_bit_modems[] = { "E1550", "E1750", "E160X", "E150", "E173", "E1552", "E171", "E153",
  2. Теперь немного, но конкретно - о том что достало и наболело... Юзеры работающие в сфере такси периодически интересуються - как и что надо что-бы оживить и запустить Диспетчер в работу.. Я стараюсь всем ответить подробно-доходчиво.. Затем происходит следующее, приобретя железо для Диспетчера, на стадии какого-то осознания что и как работает, начинаются озвучиваться хотелки.. Кому то надо прикрутиться к ГЛОБАЛЬНОМУ биллингу и они готовы предоставить список всех биллинг-сервисов для этого (далеко не понимая как это работает), кому-то видиться счастье в многоканальности - которой они в Диспетчере НЕ видят (написано же выше - что мешает клонировать нужное кол-во раз железо на борту с Диспетчером) и ТЭДЭ и ТЭПЭ.. Исходя из всего сказанного ОТВЕЧАЮ - Диспетчер каков есть - такой он и предлагается.. ОН отлаженное рабочее решение, если кого-то что-то не устраивает, ОН может сам доработать Диспетчер до вершины своих хотелок.. Мне же этим заниматься безвозмездно, да и за те мизера которые светят - нет ни желания, ни главное - времени.. Короче хотелки не предлагать - берем что дают.. Или не тратим мое и свое время.. The end...
  3. Если программу с циклом: запустить, он разве не съедает всю память и система прихлопнет процесс? Или как-то иначе код работает?
  4. Вот сваял проектик gsm-сигнализации в зачаточном виде.. Работает это "чудо мысли" так - к RaspPi подключен обычный геркон типа ИО102-2, через резистор 1 кОм (см. комменты в gerkon.c - прикрепил).. При размыкании геркона - производиться запуск скрипта - alarm_gerkon.sh (прикрепил..) Который в свою очередь посредством call-файла (прикрепил..) производит дозвон на нужный номер.. Тема разъжевана здесь http://forum.cxem.ne...2 У себя прогу gerkon - закинул в cron.. Почему не запустил в цикл? - читаем комменты.. */2 * * * * /root/gerkon/gerkon Кто доваяет прогу до уровня цикла - просьба выложить.. gerkon.rar alarm_gerkon.rar gkalarm.rar
  5. Иногда требуется ребутнуть RasPi или ребут произошел сам собой - отработал watchdog например.. Обратной связи нет - когда система загрузится и прошел ли ребут, например, по набору допномера 44, мы не знаем? Поэтому дополнил GSM-Диспетчер - алгоритмом коллбека при ребуте системы.. Работает это так.. При перезагрузке Pi посредством строки в /etc/rc.local : /home/call/alarm_event.sh exit 0 Запускается скрипт - alarm_event.sh, прикрепил... Данный скрипт посредством call-файла (прикрепил) производит коллбек на прописанный в call-файле номер админа. Тема аналогична этой - http://forum.cxem.ne...40#comment-1883129 Только без команды halt в диалплане: [out_alarm] exten => +7ХХХХХХХХХХ,1,Dial(Dongle/dongle1/${EXTEN}) exten => +7ХХХХХХХХХХ,n(indbagent),Playback(/var/lib/asterisk/answer/голосом-система_ребутнулась exten => +7ХХХХХХХХХХ,n,Playback(beep) exten => +7ХХХХХХХХХХ,n,WaitExten(10) exten => +7ХХХХХХХХХХ,n,HangUp() include => disa Функции - Playback и WaitExten - можно не включать (у меня выключены - для сбережения баланса).. Получив коллбек и так знаем - почему..WaitExten - предлагается для ожидания ввода допномера, например 69 для получения фотки (snapshot) как здесь http://forum.cxem.ne...40#comment-2436254, для контроля обстановки рядом с малиной или еще для чего.. Для этого же приинклюден диалплан disa.. Контекст в sip.conf для дилплана - такой же как через ссылку выше. В итоге что имеем - при любом ребуте RasPi производится коллбек, как быстрая обратная связь - на указанный админский номер.. У меня есть также хард-ресет всей связки RaspPi+USB-hub посредством gsm-сигнализации - https://vk.com/topic...=-114574137_168, тоже работало без обратной связи, что было не очень неудобно... alarm_event.rar alarm.rar
  6. Приинклюдил модуль бипера к проге ssensor - теперь при внешнем звуке, запускается модуль beeper и Малина отзывается - пикает бипером - подключенным к RPI_GPIO_P1_12 и GND, через резистор 1 кОм.. См.комменты.. Можно вместо бипера навесить диод или... все что фантазия подскажет.. Естесстно с правильной схемой подключения, любой нагрузки.. Прикрепил исходники... ssensor_beeper.rar
  7. А так можно контролировать любое помещение посредством Asterisk + RaspiCam http://forum.cxem.net/index.php?showtopic=114312&st=440#comment-2436254, с доставкой фотки (snapshot) на мыло в любой момент времени, для контроля обстаноки - Who is there?
  8. Сваял полезную фичу в связке Asterisk + motion. Как поднять motion см. здесь - http://forum.cxem.ne...40#comment-2284732... (449 - пост) Как поднять Asterisk см. здесь - http://forum.cxem.ne...5 Can i go... Фича пашет следующим образом - при дозвоне на Asterisk и наборе допномера 69 - производится запуск скрипта: [sendcam] exten => 69,1,System(/home/astr/sendcam.sh) exten => 69,n,Playback(/var/lib/asterisk/answer/mailgo) exten => 69,n,Hangup С последующим голосовым оповещение что мыло отправлено... А отправляется фотка (snapshot), которая делается motion - как написано по указанной выше ссылке... Фотка выбирается из дирректории по времени звонка, из скрипта sendcam.sh - все станет, may be ясно - прикрепил... Теперь пошагово - что делает скрипт: - обновляет dns - сервера на гугловский 8.8.8.8 (на всякий случай).. - зипует с паролем выдернутую из папки motion фотку, сделанную в момент дозвона, реалтайме. Бывает пролет - фотка еще не сделана мотионом - не было движения например, а скрипт отработал и приходит пустое письмо. Тогда надо повторить дозвон с донабором 69.. (не нашел пока решения для устранения этого бага).. - кодирует zip-архив в base64 кодировке, иначе ssmtp - не сможет отправить вложение - фото.. Кстати его хоть и обозвали эмулятором почтовика, а работает он как часики и без танцев с бубном.. Как поднять его здесь - http://forum.cxem.ne...2 (пост №5) - отправлят посредством ssmtp - зазипованно-закриптованную и закодированную фотку (snapshot) на нужный адрес... - шредером скребет диры где все добро лежало.. Вот собственно и все.. Можно поставить в Авто все это хозяйство скрыто и делать фоты при включении зажигания, тогда надо в rc.local - до строки exit 0, прописать путь до нашего скрипта, например: /home/sendcam.sh Тогда при старте ОС, будет стартовать и наш скрипт - но успеет ли запустится мотион и сделать фотку - до этого момента - большой вопрос!? Для решения этого - в скрипте sendcam.sh - первой строкой надо дописать - спать 30 секунд, после этого исполняться - например.. sleep 30 Можно также закинуть в cron, дальше фантазия рулит... Прикрепил 7zip, ставится так: tar jxvf p7zip_15.14.1_src_all.tar.bz2 cd p7zip_15.14.1/ make sudo ./install.sh 7za Теперь как увидеть фотку в Винде (мой вариант).. Приходит письмо в теле которого белиберда в кодировке base64, вот кусок кода: AMxH6uSfUMFhmi3I3XXbpAJVVogV8zJoMvESCw0VfBAV+GLnq28nmrJzNpqS+rjw3l+nCHYn4kD6 t+T0rNV8Zx7nBAjCwdX9bqIksKqMpXIXjRYGPiuI6cUn8ZB5cvzNrKVxSteUuQfVttORWUWWnzjw Yj744aft0/oYO+Wu12gEFoWkAf2XGH57yKK3glR/xm2IoSH04x9kh1GBY4rV+0232St3R9kVdUu7 cGnlZWtLjTDUyqDnB9SCFStE1aSFqQYyoxPxTDob5swZmDpJLa7/QB09aPq2HSwARcjqr2EqkQGH bFBPNCEx0weD0BqXUY2HeKI6MQDF2J4uR/wALKoZ0INg1Qe4tEXP1n3w3f0rf3V8+cTy/g20jpTN T6SnH26MFWRs/uofJhaC6HejGnnzrWKI3zAPVWDxn5og+5uda8q1ufxJoMqvbllQ1RZ6hrmp8WzA u1Rn1gg6w//EjOXbdrZRgr1nAPjq4w4BEjvAkpWfEWkNfe+nwF/CUlhNO3ZijyHigAwgTvhBpWI4 t2PwmjeRzxdYUnkT18nHYDbMb3Lu82jLcx1GbnaE+701oxY6UGT6tQtBOhp0lOU7KD9j3NWFdy+U UZNogDMvmitCSBFWuieZ50D/1SxOkGKBaaw9fxLrtckBJkoEAtoRofagdTL/yvvJaLLYNMe0HUxL iUqC3U5mg67hivGrBkGlxKEBXLgr1MHeeYnxZMnjttqtj+trTcY/oXdh7ajpX/h2jXUGIFYKWFfq vaGaaVQpFHOSjLhe/9sSeKYJydHxxYKx3A7CkpQ80pexzkaLEEckLL5N0xDgywdUMOdUdtG/6KTp pJLm0zEEp6rmlHaTPRrTlLD1xWmGgOH9zuzAYGC4K3cVNwzxWolD8rqPc0kJowxu+gsfVcGO5RW2 i5tfBsfaJJCz9BFFb7IMoFNCj6Pf9TjlPK7Py+JKwkAovqZICabhwxgzn+u3inwZoED16PfvQsHc rN2jTjn525nDLinFb1pP3pEgDpfS0skEZZMniSaZup7D5TqkZgiWepyffg5g0O/n9iGN1tN4rHUU Все это дело надо декодировать программой - base64.exe - прикрепил... Выделяем Ctrl-A, весь код в письме (а НЕ сохраняем письмо в .txt) так как будет сохранена и обертка smtp-письма - декодировщик выдаст ошибку.. Открываем пустой текстовик - вставляем код и сохраняем с расширением .b64. Натравливаем на него программу base64.exe, напримет так: base64.exe -d send.b64 send.zip Получаем на выходе zip-архив, распаковываем с вводом пароля и зрим фотку, можно всю эту процедуру загнать в батник, здесь поле для творчества.. The End... sendcam.rar base64.zip p7zip_15.14.1.rar
  9. Делая образы системы - обнаружил неприятную штуку - флешка Transcend 16 Гб, с которой ранее делал образ, бОльше емкостью, чем купленные позже на Али, левые Transcend_ы... Разница достигает до 196 Мб!? Что оказалось нехилым гемором, так как образ не влазил на новые флехи.. Покупал 2 шт.. Купленные в МВидео Sony и Transcend, тоже оказалиь маловаты на эти же Мб!? Какой-то тотальный наплыв урезанных по размеру флешек.. Пришлось заново поднимать Диспетчер уже на флеш, нового размера..
  10. Вот прога на Си, считывает с gpio_07 RasPi уровень сигнала - 1 или 0. На gpio подключен Sound sensor module. Like this - http://ru.aliexpress...2319235663.html Программа ваялась как модуль - для прикручивания к Asterisk посредством agi - sound sensor, но не нашел решения, пока забил (если кто подскажет код - как прикрутить к asterisk через agi, stdout, stdin и тэдэ, буду признателен). Прогу можно задействовать, например - для включения света (или еще чего) по хлопку или произнесенному слову - с выводом управления через другие GPIO.... Прикрепил исходник и готовый вариант... ssensor.c.rar ssensor.rar
  11. Проверка баланса донглов (для МТС - для других соответстно меняем ussd - *100# на свой).. В CLI Asterisk вводим: dongle ussd dongle0 *100# dongle ussd dongle1 *100# Туда же сыпется ответ от оператора - находим данные по балансу - в куче из рекламы и других данных..
  12. Привет Господа! Я часто бываю здесь, мой блог - https://vk.com/club114574137 pchupail@rambler.ru - мое мыло... Проект не умер - в нирест планах привязать рассылку рекламного CMC при дозвоне на каллбек.. естестно параллельно с обработкой заказа..
  13. Для данного Диспетчера GSM-сигнализаций актуальны обновления отсюда http://forum.cxem.net/index.php?showtopic=155802&st=0&gopid=2333653entry2333653
  14. Мда.. видимо второй блог нужен для параллельного проекта - иначе запутаться можно будет, поэтому он здесь. Правила вроде не нарушены - тема другая и тэдэ.. So, lets go.. Этот проектик, в начале своего пути, видел аналоги в железе, на базе Астериски не видел. По мере отладки функций буду выкладывать их описание. После того как все стабильно заработает - выложу конфиги или образ (закачаю всем желающим) Пробегу по описанию, оно отсюда :http://forum.cxem.ne...7 Программно-аппаратный на базе Raspberry и Asterisk - Диспетчер GSM-сигнализаций. Диспетчер будет принимать и обрабатывать тревожные сообщения от GSM-сигнализаций, записывать тревожные аудио-сообщения и сразу обзванивать номера заданных телефонов для оповещения о событиях и срабатываниях разнообразных датчиков. Исходя из собственного опыта эксплуатации GSM-сигнализации (системы оповещения ) можно сказать следующее, все сигнализации должны куда-то отправлять SMS-сообщения и(или) посредством дозвона на номер, сообщать о тревожных событиях и срабатывании разнообразных датчиков.. Запись всех соединений и времени - в базу данных (БД)... Приемом этих самых сообщений, тревожных звонков и последующим дозвоном на номера оповещаемых (групп реагированияв), и будет заниматься данный Диспетчер GSM-сигнализаций.. Контроль работы (жизни) GSM-сигнализации(ций) будет осуществляется, посредством приема данным Диспетчером, смс-сообщений "сигнала жизни", через запрограммированный в сигнализации (на стороне абонента) промежуток времени. Сообщения будут "складываться" в определенную директорию (папку ) системы... Все охраняемые объекты - разбиваются на зоны охраны... Каждая из сигнализаций - привязывается к такой зоне (по месту нахождения -естестно..) При входящем звонке, Диспетчер определив зону охраны к которой привязан входящий номер, ищет в этой же зоне - зарегистрированную, в процессе дежурства, группу реагирования и соединяет сигнализацию с телефоном группы... Группа в начале дежурства, может привязаться к любой зоне охраны и сменить ее в любой момент... Если никакая группа не привязана к данной зоне охраны - звонок попадает в очередь (телефонов всех групп на линии) с определенной стратегией. Реагировать тогда будет - первая принявшая звонок группа.. Надо сказать, что время обзвона одного номера - в настройках GSM-сигнализаций, стараются минимизировать.. Поэтому обзвон каждого в очереди - будет не более 10-15 сек. Соответственно, Диспетчер будет вести аудио-запись всех соединений и сохранять все дозвонившиеся и пытавшиеся сделать это номера телефонов в БД.. Есть черный список - для внесения нежелательных номеров, вносятся Админом посредством dtmf-набора... Есть фильтрация по преффиксу номеров - если надо... Номера групп реагирования в систему вносит Админ посредством dtmf-набора... Группы реагирования Сами - регаются в системе в начале рабочего дня и удаляются в конце - система узнает их по номерам, допнабор не нужен. Сами привязываются (отвязываются) к зонам охраны посредством dtmf-набора... Сигнализации клиентов к зонам охраны привязываются с телефона Администратора, посредством также dtmf-набора... Также и отвязываютя, т.е. гибкое управление. Номера дополнительных Администраторов, можно вносить также посредством dtmf-набора, но с телефона Главного Админа и также удалять и т.д. Также при неудачном дозвоне Всем группам (если бывает такой бардак ), в Диспетчере будет реализован ящик голосовой почты, куда и будет переадресован звонок для записи сообщения, в случае неудачного обзвона... Туда же будут направлены все звонки для Админа, если последний не поднял трубу - при отсутствии регистрации у группы или например, после отказа в регистрации на работе, звонок переадресуется на Админа - если он не берет трубу - в голосовой почтовый ящик... И так будут обработаны все звонки которые "неизвестны" системе... Любой номер с соответствующими правами - может прослушать голосовую почту - дозвонившись на служебный и набрав допномер 00.. Короче Диспетчеру не нужен будет, спящий на стуле (вышедший на горшок, покурить и тэдэ - человек).. В Диспетчера реализована сторожевая логика - от зависания, система Сама ребутнется, если что зависнет.. Можно также перегрузить Систему, дозвонившись на служебный номер и набрав допномер 44, Админ только со своего номера может это сделать.. В системе Диспетчера реализовано - два номера (донгла) - клиентский и служебный Буду выкладывать готовность функций - по мере отладки ниже. Let's go... Первый желающий и проявивший интерес к Диспетчеру сигнализаций - получит "вечную" поддержку и разъяснялки, по мере неободимости... Конфиги или образ системы - Всем желающим будет передан безвозмездно (бесплатно)... Все спасибо за это - Марку Спенсеру. Запрограммировано и отлажено следующее: В работе два донгла (GSM-модема) - Служебный (для групп реагирования и Админа) и Клиентский (для входящих от GSM-сигнализаций) 1. Если поступает звонок от сигнализации (тревожный) на Клиентский номер - Диспетчер делает следующее: - принимает звонок - проверяет номер в своем "черном списке" - если есть - "До свидания" и дисконнект. - если номер не из черного списка - проверяется наличие номера в БД номеров сигнализаций (клиентов), если его там нет, происходит соединение с Админом, если Админ не взял трубу - предлагается оставить голосовое сообщение в его voicemail-ящике. - если номер есть в БД номеров сигнализаций (клиентов), система определяет его номер зоны охраны (напр. -01,02,03 и т.д). Определив номер зоны, где находится данная сигнализация, система определяет - зарегистрирована ли в этой же зоне, группа реагирования, и если да, переводит звонок на номер этой группы... - далее группа может сама среагировать или перевести звонок на другую группу - привязавшуюся к другой зоне... Если группа не приняла звонок, он перенаправляется - в общую очередь, где находятся ВСЕ группы реагирования. В независимости - привязывались они к зоне или нет. Стратегия данной очереди: random -- звонить произвольному из очереди... Можно поставить другую из следующих: ringall — звонить всем доступным, leastrecent -- звонить тому который дольше всех не отвечал на звонки, fewestcalls -- звонить - обработавшему наименьшее к-во звонков, random -- звонить произвольному из очереди, rrmemory -- звонить по кругу(round-robin) - в Диспетчере такси стоит такая linear -- звонить в заданном порядке, всегда обрабатывается с начала списка, первый будет работать не разгибая спины - Производится аудиозапись всех соединений, пары номеров соединений - будут вноситься в отдельную таблицу БД... - входящие SMS складываются в свою директорию, USSD-сообщения в свою, в текстовом формате - каждое сообщение в виде текстового файла. Можно скопировать файлы и прочесть - по удаленке, если будет инет или локально. Реализована одна уматная штука - Диспетчер может зачитать СМС-ски по буквам (символам) и если записать бу-бу-бу на бумагу, можно прочесть СМС полностью. Для прослушки сообщений - Админ дозванивается на Служебный номер и набирает допномер 123 (для прослушки СМС) или 321 (для прослушки ussd-сообщений). Регистрация групп реагирования и привязка их к зоне охраны (микрорайону, улице) происходит по тому же принципу - как и в Диспетчере такси у таксистов... (блог рядом)
×
×
  • Создать...