Роутер + GPRS модем = mini VoIP АТС или GSM шлюз своими руками. Plc модем своими рукамиРеализация «умных» сетей на базе компонентов PLC от Texas InstrumentsТехнология передачи данных по сетям электропитания (PLC — power line communications) позволяет ввести автоматизированную систему управления в новую или уже существующую инфраструктуру, минимизируя затраты как при разработке проекта инфраструктуры, так и при прокладке дополнительных сетей передачи данных. Идея PLC ведет начало с 1838 года, когда Эдвард Дэйви предложил использовать подобную технологию для дистанционного измерения уровней напряжения батарей на Ливерпульской телеграфной системе. Однако, лишь с появлением современных компонентов, позволяющих бюджетно реализовать необходимую вычислительную мощность (OFDM, о котором будет сказано ниже, достаточно долго «пылился на полке» из-за сложности реализации), технология PLC действительно стала актуальной и доступной в промышленном и в домашнем секторах, обеспечив необходимую надежность, скорость и простоту развертывания. В настоящее время PLC используется, в основном, в системах энергоучета, простой автоматизации (освещение, приводы механизмов). Реже — это «последняя миля» в сетях передачи данных (Интернет), в голосовой связи. Развитие технологии сделало возможным использование не только в сетях переменного тока. Отсутствие дополнительных проводов оказалось настолько привлекательным, что сейчас осуществляется интеграция PLC даже в системы электропроводки автомобилей.
ТехнологияОснова PLC — модуляция фазы силовой линии, использование ее как несущей. Вариантов модуляции четыре: частотная (FSK — Frequency Shift Keying), частотная с разнесенными частотами (S-FSK — Spread Frequency Shift Keying), двоичная фазовая (BPSK — Binary Phase Shift Keying) и ортогональное мультиплексирование с частотным разделением каналов (OFDM — Orthogonal Frequency Division Multiplexing). Выбор варианта определяется двумя критериями — эффективностью использования полосы частот и сложностью реализации, что, в свою очередь, определяет скорость передачи данных и помехоустойчивость. OFDM — наиболее скоростной и помехоустойчивый, но сложен в реализации, так как требователен к вычислительным ресурсам, в то время как BPSK и FSK легко реализуются, но обеспечивают лишь низкие скорости. Для FSK требуется синхронизация при переходе фазы через ноль, что ограничивает его использование только сетями переменного тока. Кроме того, PLC-системы реализуются с учетом требований стандартов (IEC 61334, PRIME, G3 и других) или местных регуляторных требований (CENELEC, FCC и т.д.). В таблицах 1 и 2 показаны сравнительные характеристики основных вариантов модуляции, стандартов и требований. Таблица 1. Основные стандарты для PLC, поддерживаемые компанией TI
Таблица 2. Регуляторные инструкции
PRIMEАльянс PRIME разработал стандарт с возможностью адаптации к параметрам физической среды передачи. Экспериментальным методом было обнаружено, что для достижения оптимальных результатов передачи данных необходимо 96 поднесущих. Топология сети — древовидная, с двумя типами узлов — базовым (корень дерева сети) и сервисными. Сервисные узлы способны работать в двух режимах — терминала и коммутатора, причем, переключение между режимами возможно в любой момент, в зависимости от требований сети, а режим коммутатора совмещает в себе режим терминала. Всего в сети может быть 1200 узлов, 32 из которых могут находится в режиме коммутатора, и осуществляется адресация до 3600 подсоединений. Основное преимущество данного стандарта в открытости технологии, высокой скорости передачи данных и поддержке огромным числом производителей, что обеспечивает взаимозаменяемость оборудования, а также — возможность работы в режиме SFSK, обеспечивая совместимость с более старым оборудованием.
G3В отличие от PRIME, изначально стандарт G3 разрабатывался компанией Maxim Integrated для французской компании ERDF, и лишь позже произошло объединение более десяти компаний в G3-PLC Alliance, что сделало G3 открытым. G3 имеет более сложную систему кодирования (код Рида-Соломона), топологию ячеистой сети с максимальным количеством узлов — 1024. Стандарт более помехоустойчив, чем PRIME, но скорость передачи данных существенно ниже. Помимо топологии и скорости, у G3 имеются два серьезных преимущества перед PRIME: первый — это возможность осуществлять связь через трансформаторы. Учитывая, что дальность связи без повторителей может достигать 10 км, данная особенность снижает количество концентраторов до максимально эффективного числа, что уменьшает общую стоимость проекта. Вторая особенность — наличие 6LoWPAN-уровня, что позволяет осуществлять передачу IPv6-пакетов для интеграции с сетью Интернет. G3 не поддерживает устройства SFSK, но допускает параллельную работу с ними на одной линии.
PLC-LiteПомимо международных стандартов, существуют иные решения. Компания Texas Instruments предлагает собственный стандарт PLC-Lite. Преимущество этого стандарта — более гибкий подход к реализации PLC, разработчики оборудования могут оптимизировать характеристики для улучшения передачи данных, и там, где G3 и PRIME испытывают затруднения из-за помех, PLC-Lite успешно справится. Кроме того, реализация PLC-Lite имеет низкую стоимость, что позволяет использовать его в недорогих проектах. Существует еще одно важное свойство PLC-Lite: для небольших задач предусмотрено использование микроконтроллера PLC-модема, что позволяет обойтись от использования хост-контроллера. Это настолько упрощает разработку устройств и снижает стоимость, что становится экономически возможной интеграция PLC-модемов в сеть на бытовом уровне «выключатель — лампочка». Ниже будет описан один из проектов, показывающий эффективность такого решения.
Аппаратная реализацияДля реализации данной технологии используются PLC-модемы, которые условно можно разделить на три составляющие: согласующий модуль с силовой сетью, аналоговая и цифровая части. Реализация модемов разнообразна — существуют как одночиповые решения, так и многоэлементные. На рисунке 1 показана типичная схема PLC-модема для OFDM (для FSK и G3 дополнительно потребуется детектор перехода фазы через ноль (Zero-Cross detector).
Рис. 1. Стандартный PLC-модем от TI Для обеспечения обработки аналогового сигнала компания TI предлагает микросхемы AFE030, AFE031 и AFE032, которые отличаются величиной выходной токовой нагрузки передатчика, количеством детекторов перехода фазы через ноль (два — у AFE030 и AFE031, три — у AFE032) и возможностью программирования фильтра (AFE032). Эти микросхемы позволяют реализовать FSK-, SFSK- и OFDM-модуляцию в соответствии с требованиями CENELEC. Блок-схема микросхем на примере AFE031 представлена на рисунке 2, а подробная функциональность и особенности описаны в нашем журнале ранее: НЭ №10/2012: «Любой протокол — по проводам: решения Texas Instruments для PLC-систем передачи данных» и НЭ №7/2011: «Концерт для счетчика и сети: PLC-модемы компании Texas Instruments».
Рис. 2. Блок-схема AFE031 — аналоговой части PLC-модема «Мозгом» модема является микроконтроллер семейства C2000 компании TI, оптимизированный для работы в PLC-модемах в качестве DSP. В настоящий момент компания TI предлагает несколько решений, базирующихся на региональных требованиях и стандартах и учитывающих оптимальность требуемых параметров. К примеру, если требуется разветвленная сеть системы сбора данных энергоучета в соответствии с CENELEC и стандартами G3 и/или PRIME, то идеальным решением будет PLC-модем, построенный на базе F28PLC83 в связке с аналоговым блоком AFE031, это же решение с использованием FlexOFDM (PLC-Lite) позволит осуществить связь в условиях сильных помех. Если же требуется относительно простая система на уровне «точка-точка», то пара F28PLC35/AFE030 стандарта PLC-Lite подойдет наилучшим образом. В частности, F28PLC35/AFE030 идеально подходит для построения связей внутри одного объекта, например, для управления/автоматизации освещения, водоснабжения и прочих систем. Разумеется, решения можно использовать комплексно, например, недорогой F28PLC35/AFE030 может использоваться для передачи данных от энергосчетчика к домашнему дисплею и к коллектору данных, более мощный — от коллектора к дата-центру. В таблице 3 приведены сравнительные характеристики вышеназванных решений. Таблица 3. Решения PLC-модемов от TI
Практическое применениеСпособность легкой интеграции технологии PLC практически везде, где есть силовые сети, открыла широкие возможности для энергосбытовых компаний, позволив реализовать управление потребителем и обратную связь с потребителем. Оснащение приборов учета PLC-модемами позволит:
На данный момент существует потребность в счетчиках для ЖКХ различного типа. Компания TI готова предложить различные варианты решений (в том числе — программно-отладочные средства), позволяющие построить «умную» сеть практически под любые требования (рисунок 3). Рассмотрим практический пример энергоучета на базе этих решений.
Рис. 3. Блок-схема автоматической системы измерения Обычно в домах присутствует как минимум три счетчика — счетчик электроэнергии и два счетчика водоснабжения. Однако, их может быть гораздо больше: существуют проекты домов, где есть газоснабжение, водоснабжение подводится дважды, что требует наличия уже четырех счетчиков. И, если с электросчетчиком особых проблем нет, то с остальными необходимо осуществить достоверную связь с помощью иного интерфейса. Да и существование в сети каждого счетчика индивидуально не представляется практичным. Добавим необходимость аварийного отключения систем энергоснабжения (а за рубежом — еще и отключение по окончанию оплаты) — это потребует дополнительных датчиков и исполнительных механизмов. Кроме того, конечному пользователю крайне любопытно, сколько, где, когда и чего потрачено, а возможности «умной» сети сообщить ему такую информацию гораздо выше, чем у простого счетчика. Значит, необходим модуль отображения информации. А теперь давайте умножим все это на некоторое число квартир в доме, районе… Поэтому в автоматизированной измерительной инфраструктуре (AMI) присутствует важный элемент — концентратор данных (рисунок 4).
Рис. 4. Пример концентратора данных от TI Условно модуль концентратора можно разделить на четыре части: основной процессор приложений, модуль связи c сервером данных (и с некоторыми счетчиками) на базе PLC-модема, блок питания и интерфейсные модули для связи со счетчиками и пользователями по множеству различных интерфейсов. Основой концентратора служит процессор TI семейства Sitara AM335x (ARM Cortex-A8) или семейства Stellaris (Cortex-M4) или ARM-DSP, что позволяет разработчику выбрать оптимальное по стоимости решение в зависимости от технических условий. Большое количество интерфейсов у концентратора данных позволит собрать данные со счетчиков или обеспечить связь с сервером там, где применение технологии PLC по каким-либо причинам оказалось невозможным. Благодаря возможности процессора PLC-модема от TI выполнять пользовательские приложения, схема автоматизированной системы измерения становится достаточно проста, а ее построение весьма гибко: электросчетчик совместно с PLC-модемом и дополнительными интерфейсами способен осуществлять сбор данных с других счетчиков, управлять исполнительными механизмами и отображать информацию для пользователя. На рисунке 5 показано типовое решение электросчетчика, рассчитанного на широкую универсальность.
Рис. 5. Пример электросчетчика на базе компонентов TI Типовые решения счетчиков газо- и водоснабжения выполнены на базе микроконтроллеров TI серии MSP430, отличающихся низким потреблением тока, что делает возможным батарейное питание. На рисунке 6 и 7 видно, что, помимо основных систем измерения, отображения и связи, присутствует RFID-модуль. который обеспечивает режим авансовой оплаты услуг газо- и водоснабжения.
Рис. 6. Пример счетчика газоснабжения на базе компонентов TI
Рис. 7. Пример счетчика водоснабжения на базе компонентов TI Помимо возможности контроля показаний непосредственно на счетчиках, в «умной» сети присутствует In-Home Display — центральный информационный дисплей (рисунок 8), благодаря которому нет необходимости проверять каждый счетчик по отдельности, все можно увидеть сразу. Это позволяет монтировать счетчики более удобно и/или не нарушать дизайн дома — как правило, в обычных случаях либо доступ к счетчику затруднен, и считывание показаний становится проблемой для пользователя, либо счетчик становится несимпатичной частью интерьера.
Рис. 8. Информационный дисплей Оснащение ЖКХ системами такого рода позволяет получить множество положительных моментов:
Кроме того, система настолько гибка, что позволяет вносить существенные дополнения без какого-либо глобального перестроения. Например, интеграция в систему датчиков утечек газа позволит внести превентивные меры по обеспечению безопасности. К сожалению, для внедрения такой системы требуется решение серьезных организационных вопросов (и некоторые капиталовложения) со стороны энергосбытовых компаний и ЖКХ. Однако, такая система вполне оправдывает свое существование ради, удобства пользователя. Автоматизация измерений — лишь одно из направлений применения технологии PLC. Немаловажная часть — возможность автоматизированного управления различными системами, такими как освещение, вентиляция, электроприводы ворот и жалюзи, системы альтернативного электропитания (рисунок 9).
Рис. 9. Блок-схема автоматизированной системы управления Благодаря широким возможностями микроконтроллера концентратора данных TI осуществляется целый ряд удобных, а иногда и необходимых возможностей управления:
Разумеется, существуют альтернативные решения: собственные решения производителей освещения, электроприводов ворот и проч. Преимущество же решения на базе PLC-компонентов от TI — в возможности интеграции в уже существующий объект без каких-либо значительных изменений, а также — в универсальности. В конечном итоге, единое управление намного проще, надежнее и удобней (неплохим примером могут служить два варианта аудио-видео техники: одного производителя с единым пультом управления и нескольких разных, с соответствующим количеством пультов), и дает возможность легкого расширения системы. В некоторых случаях использование PLC-модемов может вообще быть единственным простым и экономически выгодным решением. Рассмотрим следующий типовой пример: коттедж, гостиная с четырьмя точками входа (улица, двор, лестница на второй этаж, кухня). Включение освещения в гостиной становится проблематичным — дешевое решение (один выключатель) просто неудобно. Удобно наличие четырех перекрестных (проходных) выключателей, по одному в каждой точке входа. Это позволит управлять освещением с любой точки, не делая лишних движений (при выключении — в темноте). Но для реализации необходимо к двум выключателям провести три провода, а еще к двум — четыре. И ведь это управление одной лампой. Если же в люстре две и более групп ламп, количество проводов резко возрастает. Стоимость двухклавишного перекрестного выключателя даже без учета стоимости проводов уже сравнима со стоимостью PLC-модема. Стоимость работ по монтажу такой системы также достаточно высока. Попробуем создать такую же систему с возможностью регулировки яркости, и придется интегрировать что-то дистанционное непосредственно в лампу. Применение PLC-модема производства компании TI избавляет от необходимости прокладки дополнительных кабелей, более того, заставляет несколько по-иному взглянуть на классическую систему: PLC-модем в роли выключателя и регулятора может быть интегрирован не только в точку подключения выключателя, но и в линию розеток. Подключение ламп также упрощается (не требуется разводки с выключателями). Количество и характер управления лампами становится несущественным. Дизайн выключателей (регуляторов) получает безграничные возможности. Кроме того, объединение в общую «умную» сеть позволяет реализовать систему аварийного освещения, не прокладывая ни единого дополнительного кабеля.
Отладочные средства производства TIДля разработки систем на базе технологии PLC компания TI предлагает следующее:
Набор TMDSPLCKIT-V3 включает в себя два PLC-модема, две управляющие карты на базе TMS320F28069, имеет встроенный USB-JTAG-эмулятор и все необходимые кабели. Также прилагается программное обеспечение для PLC, поддерживающее стандарты OFDM (PRIME, G3 и FlexOFDM) и S-FSK, и среда разработки Code Composer Studio v4.x с ограничением размера исполняемого кода 32 кбайт. Используемая микросхема аналоговой обработки сигнала — AFE031. Внешний вид одного из модемов показан на рисунке 10.
Рис. 10. TMDSPLCKIT-V3 Data Concentrator Evaluation Module TMDSDC3359 (рис. 11). Этот продукт позволяет отладить системы на базе концентратора данных. Построен на процессоре AM335x семейства Sitara ARM Cortex-A8 с OC Linux BSP. Плата имеет широкую периферию:
Рис. 11. Data Concentrator Evaluation Module TMDSDC3359
Есть возможность подключения модуля для коммуникации по трехфазным сетям. Импульсный блок питания встроен. Поддерживаемые стандарты — G3, PRIME.
ЗаключениеИспользование технологии PLC для передачи данных обладает множеством преимуществ, позволяя в кратчайшие сроки и с минимальными затратами развернуть «умную» сеть, способную быстро адаптироваться под требуемые задачи, а благодаря возможностям стандартов G3 и PRIME — под среду передачи данных. Компания Texas Instruments предоставляет комплексное решение, от микросхем до ПО, для реализации PLC-сетей в системах управления и сбора информации. Благодаря своей гибкости, такое решение позволяет реализовать систему для любого типа протокола и удовлетворяет возможные требования регуляторных инструкций. Компания КОМПЭЛ является официальным дистрибьютором Texas Instruments и может обеспечить разработчиков как самими процессорами и аналоговыми микросхемами, так и средствами разработки для реализации собственных PLC-проектов.
Литература1. http://www.prime-alliance.org/wp-content/uploads/2013/03/MAC_Spec_white_paper_1_0_080721.pdf 2. http://www.maximintegrated.com/products/powerline/pdfs/G3-PLC-Physical-Layer-Specification.pdf 3. http://www.ti.com/lsds/ti/apps/smartgrid/end_equipment.page 4. Андрей Самоделов. Концерт для счетчика и сети: PLC-модемы компании Texas Instruments//Новости Электроники №7/2011. 5. Алексей Пазюк. Любой протокол — по проводам: решения Texas Instruments для PLC-систем передачи данных//Новости Электроники №10/2012. Получение технической информации, заказ образцов, поставка — e-mail: [email protected]
Приложение Bluetooth Smart SensorTag от TI облегчает разработку Bluetooth-приложений в устройствах на AndroidTM 4.3
Компания Texas Instruments объявила о выходе на рынок приложения для ОС Android под названием Bluetooth Smart SensorTag, последовавшем за интеграцией поддержки приложения Bluetooth Smart Ready в ОС Android 4.3 "Jelly Bean". Новый продукт, доступный для бесплатного скачивания по адресу www.ti.com/sensortag-app-android-eu, устраняет препятствия для разработчиков приложений, желающих воспользоваться преимуществами миллионов смартфонов и планшетов на ОС Android, которые вскоре будут оснащены Bluetooth Smart Ready. Разработка блока приложений Bluetooth Smart, поддерживаемых теперь ОС Android и iOS, стала проще и быстрее при помощи набора разработчика Sensor Tag на базе CC2541. В набор входят шесть датчиков широкого применения, размещенных на одной плате для быстрой оценки и демонстрации. Дополнительная информация о наборе Sensor Tag размещена по адресу www.ti.com/lprf-stdroid-pr-eu. Набор Sensor Tag не требует знаний в области программного или аппаратного обеспечения, чтобы быстро запустить приложения Bluetooth Smart на смартфоне или планшете. Разработчики делятся своими достижениями, сделанными при помощи Sensor Tag, на странице Texas Wiki (http://processors.wiki.ti.com/index.php/Bluetooth_SensorTag?DCMP=lprf-stdroid-eu&HQS=lprf-stdroid-pr-wiki1-eu) и в Твиттере по хештэгу #SensorTag. Шесть встроенных датчиков набора Sensor Tag, включая бесконтактный инфракрасный температурный датчик TMP006 от TI, помогают разработать многочисленные приложения в таких областях, как здравоохранение и образование, а также создавать новые аксессуары для мобильных устройств. С набором работает бесплатное, обновляемое «по воздуху», ПО BLE-StackTM от TI. Набор Sensor Tag на базе CC2541 служит дополнением к другим решениям от TI — двухрежимному Bluetooth на базе СС2564 и WiLinkTM. Наши информационные каналыРубрика: новинки элементной базы Метки: DC/DC, G3, PLC, PLC-Lite, PLC-модем, PRIME, TI, Передача данных по электросети, Средства разработки и отладки, Умный дом О компании Texas InstrumentsВ середине 2001 г. компании Texas Instruments и КОМПЭЛ заключили официальное дистрибьюторское соглашение, которое явилось результатом длительной и успешной работы КОМПЭЛ в качестве официального дистрибьютора фирмы Burr-Brown. (Как известно, Burr-Brown вошла в состав TI так же, как и компании Unitrode, Power Trend и Klixon). С этого времени компания КОМПЭЛ получила доступ к поставке всей номенклатуры производимых компанией TI компонентов, ...читать далее www.compel.ru Настройка ПЛК для работы через GSM-модем по протоколу Modbus TCP в режиме Slave - PLCЧтобы настроить работу ПЛК1хх по протоколу Modbus TCP в режиме Slave, необходимо: 1. Подключить модем ПМ01 к ПЛК по одному из последовательных портов, в соответствии с руководством по эксплуатации, установив необходимые перемычки на модеме (В случае RS-232 обязательно перемычка 6-9 на разъеме модема Х1). Схемы кабелей и рекомендации можно найти в разделе «часто задаваемые вопросы» для GSM/GPRS модема ПМ01: http://www.owen.ru/catalog/74944685 2. В среде программирования Codesys2.3,перейти в область PLC_Configuration(Конфигурация_ПЛК) и добавить там модуль Modbus(Slave)(рис.1). 3. Задать адрес в сети Modbus для ПЛК, параметр «Address» модуля «Modbus(slave)» вкладка «Module parameters» (рис.1). Рис.1 Настройка адреса ПЛК в режиме Slave 4. К появившемуся подмодулю «Modbus[FIX]» добавить подмодуль «Modem» (выделить подмодуль «Modbus[FIX]», нажать правую клавишу мыши и через контекстное меню выделить «Append Subelement» и далее «Modem…») и настроить его на вкладке «Module parameters»1 как показано на рис.2. Подробнее о параметрах модуля Modem см. в документе «PLC_Configuration.pdf» на диске ПЛК в разделе Документация Рис.2 Добавление и настройка подмодуля «Modem» 5. Выбрать интерфейс, через который GSM-модем подключен к ПЛК, заменив интерфейс, установленный по умолчанию, с помощью правой кнопки мыши. 6. Установить параметры выбранного интерфейса в соответствии с настройками модема, на вкладке «Module parameters»(рис.3). Рис.3 Настройка интерфейса обмена ПЛК и модема (приведен для стандартных настроек GSM-модема ПМ01) 7. Добавить к подмодулю «Modem» подмодуль «PPP_Driver» (выделить подмодуль «Modem[VAR]», нажать правую клавишу мыши и через контекстное меню выбрать «Append PPP_Driver»), рис.4. Настроить его на вкладке «Module parameters» задав параметры «Login» и «Password», необходимые для дозвона до провайдера-поставщика Интернет услуг (предоставляются поставщиком GSM-услуг). Подробнее о параметрах подмодуля «PPP_Driver» см. в документе «OWEN_PLC_Configuration.pdf». 8. К подмодулю «Modbus(Slave)» добавить подмодуль «TCP[VAR]» (выделить подмодуль «Modbus[FIX]», нажать правую клавишу мыши и через контекстное меню выбрать «Append Subelement», а затем «TCP…»), рис.4, на вкладке «Module parameters» модуля «TCP[VAR]» параметр «RemotePort» должен быть равен 502. 9. Добавить к модулю «Modbus(slave)» необходимые переменные, например «2 byte» (выбрать модуль «ModBus (slave)», нажать правую клавишу мыши, через контекстное меню выбрать «Append Subelement», а потом «2 byte…»),рис.4. Рис.4 Конфигурация ПЛК100 для обмена по GPRS, с подключенным модемом к порту Debug После этого можно привязывать пользовательскую программу к объявленной в конфигурации переменной. 10.Установить связь с ПЛК командой Online|│Login, при этом программу в ПЛК можно не изменять. 11.В подключенном состоянии, перейти в область PLC_Browser (ПЛК-Браузер) и задать настройки TCP/IP подключения для контроллера, соответствующие настройкам используемой в GSM-модеме SIM-карты: a. SetIP XXX.XXX.XXX.XXX b. SetGATE XXX.XXX.XXX.XXX c.SetMASK XXX.XXX.XXX.XXX Рис.5 Сетевые настройки ПЛК, работа через ПЛК-Браузер 12.Создать файл инициализации модема с именем «extconf.cfg» с адресом «точки доступа» (даётся провайдером сотовой связи). Для этого можно воспользоваться стандартным текстовым редактором Windows – «Блокнот». Пример файла инициализации для SIM-карты Beeline со статическим IP-адресом: AT+CGATT=1 AT+CGDCONT=1,»IP»,»static.beeline.ru» AT Рекомендуем файл инициализации заканчивать командой «AT». 13. Перед загрузкой файла, проверить отсутствует ли старый файл инициализации в ПЛК, а так же файлы CoDeSys.cfg и modem.cfg (Последние задают настройки удаленного подключения Codesys к ПЛК и имеют приоритет над настройками в ПЛК_Конфигурации, что может мешать работе совпадающих последовательных портов). Рис.6 Проверка отсутствия файлов модема 14.Загрузить созданный файл инициализации модема «extconf.cfg», Online|│Write file to PLC. 15.После Задания настроек TCP и загрузке файла инициализации, необходимо перезагрузить ПЛК нажав кнопку «Cброс». 16.Спустя 15 секунд, после перезагрузки, повторно установить связь с ПЛК командой Online|│Login и загрузить созданную программу в ПЛК 17.В области конфигурации, подключением к GPRS можно управлять и контролировать с помощью специальных байт (рис.7). Время подключения к серверу, интервалы между дозвонами и кол-во дозвонов до GSM-сервера задаётся на вкладке «Module parameters» подмодуля modem. Рис.7 Байты управления модемом, статус: «подключен по GPRS» 18.Удаленно проверить подключение ПЛК к сети Интернет с помощью «ping» в командной строке Windows, подключенного к Интернет ПК. Например, «ping 83.220.242.28 –t» результат на рис.8. Рис.8 Проверка подключения ПЛК к сети интернет через GPRS Мой блог находят по следующим фразам plc24.ru Модемы - PLC - это просто!!Описание:Существует несколько удаленных объектов диспетчеризации и диспетчерский пункт (ДП). ДП с заданным периодом времени, поочередно, опрашивает все объекты, по беспроводному каналу. По причине последовательного беспроводного опроса большого количества удаленных объектов с большим количеством параметров, возникает следующая ситуация: При возникновении аварийной ситуации на объекте диспетчер узнает об этом спустя время, т.е только в момент следующего обращения к данному объекту. Особенность:
Связь:Беспроводное CSD соединение по средствам GSM-связи. Протокол передачи данных — Modbus ASCII Объект:Представляет собой ПЛК100R-L, к которому по интерфейсу RS-485 подключен GSM-модем ОВЕН ПМ01. ДП:Представляет собой Персональный компьютер. Для организации связи через CSD-соединение на ПК установлен Modbus OPC/DDE сервер «Lectus». Данный OPC поддерживает работу с модемом, и позволяет работать, как в режиме Master, так и в режиме Slave. Для передачи данных, в рамках поставленной задачи, к двум COM-портам ПК подключены два GSM-модема ОВЕН ПМ01: основной для опроса объектов и резервный для отработки от них аварийных сообщений. Принцип организации связи:
Через основной модем OPC сервер опрашивает удаленные ПЛК с заданным периодом. После срабатывания аварии (в данном примере – замыкание входа1) ПЛК, через тот же самый модем, начинает дозваниваться на аварийный модем ДП ( О том, как сконфигурировать ПЛК и Модем для одновременной работы в режиме «ожидания вызова» и «дозвона», будет рассказано ниже). После дозвона на ДП, ПЛК обменивается необходимыми данными с Lectus, заданное в параметрах модуля «Modem» ПЛК время. Для организации подобного обмена нужно: 1) Настроить Modbus OPC/DDE сервер «Lectus» 2) Сконфигурировать ПЛК Настройка Modbus OPC/DDE сервер
Master Slave Подключение Slave настраивается в окне открывающимся по нажатию кнопки «Параметры». В настройках подключения для Master, кроме используемого для этого соединения порта (к которому подключен соответствующий модем) необходимо указать телефонный номер сим-карты, вставленной в модем на опрашиваемом данным узлом объекте. В параметре начальная фаза для разных объектов, желательно указать разную фазу.
Для внеочередного опроса переменных и подузлов текущего узла по команде, а не только по периоду, необходимо в узел добавить переменную POLL. (См. справку Modbus OPC/DDE сервера). Конфигурирование ПЛК Особенность конфигурирования ПЛК состоит в следующем: Порт, к которому подключен модем, опрашивается в ПЛК и в режиме Master и в режиме Slave. Только в случае Slave ПЛК работает с ним, как с обычным портом, а в режиме Master полноценно через встроенный модуль интерфейса Modem. В случае опроса ПЛК, модем, при входящем звонке, снимает трубку сам и данные через него поступают в порт ПЛК, как по сквозному проводному интерфейсу. В случае же аварии, ПЛК сам посылает команду дозвона на аварийный модем сервера. Такое решение обусловлено невозможностью привязки двух модулей Modem к одному порту. Последовательность действий:
а) Для прошивок ПЛК выше 2.11.0 это можно сделать, предварительно подключив модем к ПК через Hiper Terminal Windows. Введя команды:
б) Для прошивок ПЛК 2.10.5-2.11.0 это делается ТОЛЬКО путем добавления в ПЛК файла строки инициализации extconf.cfg с командой ATS0=1 (есть в архиве с проектом).
plc24.ru ПЕРЕДЕЛКА МОДЕМА В 3G РОУТЕРИнструкция по самостоятельной переделке модема в 3G роутер. Самая распространённая проблема при покупке модема заключается в том, что нет такого модема, который бы не зависал через некоторое время. Задача заключается в следующем - сделать небольшой стабильный 3G роутер. И в этом нам помогут материалы с сайта Хабрахабр. Для работы нужно: • Роутер DIR-320• 3G модем• Внешняя антенна Для начала эксперимента воспользуемся стационарным ПК с Linux. Настроив 3G соединение, посредством Huawei E173, запустить вызов команды ping + wget с интервалом раз в 10 минут. Соединение длилось около 4 часов, после чего модем перестал отвечать на PPP команды, AT при этом работали. Попробуем потушить USB порт: 1. Находим модем из списка всех USB устройств: 2. for f in `ls /sys/bus/usb/devices/*/product`; do echo -e "$f\t`cat $f`"; done 3. Выключаем порт на 5 секунд а потом включаем: 4. echo "suspend” | sudo tee /sys/bus/usb/devices/1-1/power/level 5. sleep 5 6. echo "on" | sudo tee /sys/bus/usb/devices/1-1/power/level В ходе эксперимента мы увидели, что все отлично перезагружается. И соединение может быть опять установлено. Повторим эксперимент с четырьмя прошивками для роутера: D-Link, Asus, OpenWRT или DD-WRT, но ни в одной из прошивок не оказалось возможности управления питанием USB. И после перезагрузки роутера модем оставался проинициализированным. Далее разберем роутер. Нужно сделать модернизацию платы и источника питания. Нужно построить дистрибутив на базе OpenWRT самостоятельно, при этом с минимумом предустановленных пакетов и сервисов, так как оперативная память роутера маленькая. Но для начала нужно выбрать целевой модем/оператора и внешней антенны. Наиболее подходящим является MTS. У них можно всю статистику и управление совершить из удобного WEB интерфейса. Попытаемся подключиться к этому модему. Он отображается как CD-ROM. Анализ dmesg показал, что CD-ROM монтируется как SCSI, и его нужно отключать именно как SCSI, никакие usb_modeswitch тут не работают. Первый же проход по папке с man’ами показал, что есть пакет sdparm. Далее приступаем к работе. Сборка OpenWRT Все шаги выполняются в консоли Linux. Обратите внимание, релиз Backfire выбран из-за того, что это последний релиз с ядром 2.4. Это очень важно, так как ядро 2.6 само по себе очень требовательно как к производительности процессора, так и к системным ресурсам. • Скачиваем исходник OpenWRT:• svn co svn://svn.openwrt.org/openwrt/branches/backfire openwrt-backfire• Переходим в папку с исходником• cd openwrt-backfire• Обновляем все пакеты• ./scripts/feeds update -a• Добавляем из пакетов sdparm• ./scripts/feeds install sdparm• Открываем меню настройки• make menuconfig• Выбираем интересующую платформу• Target System (Broadcom BCM947xx/953xx [2.4])• Встраиваем интересующие нас пакеты (по умолчанию они не включены даже как модули)• <*> sdparm........................ Read or modify SCSI or USB disk parameters• <*> chat................................. Establish conversation with a modem• <*> comgt............................... Option/Vodafone 3G/GPRS control tool• <*> kmod-scsi-generic........................ Kernel support for SCSI generic• <*> kmod-usb-core............................................ Support for USB• <*> kmod-usb-ohci............................... Support for OHCI controllers• <*> kmod-usb-serial..................... Support for USB-to-Serial converters• <*> kmod-usb-storage..................................... USB Storage support• <*> kmod-usb2................................... Support for USB2 controllers• Все остальные пункты оставляем без изменения• Выходим из меню конфигуратора с сохранением• Собираем инструменты• make tools/install -j`grep -c processor /proc/cpuinfo`• make toolchain/install -j`grep -c processor /proc/cpuinfo`• Открываем меню настройки ядра Linux• make kernel_menuconfig• Настраиваем MTD• [*] Support 2-chip flash interleave• Выходим из меню конфигуратора с сохранением• Собираем OpenWRT• make -j`grep -c processor /proc/cpuinfo`• После того как прошивка собрана, её нужно прошить в устройство. Проверка прошивки После прошивки и перезагрузки роутера подключите к нему модем и соедините роутер посредством Ethernet с вашим ПК. Настройте на интерфейсе вашего ПК IP адрес, выполнив команду: ifconfig eth0 inet 192.168.1.2/24 Потом подключитесь к роутеру по Telnet. Для этого из консоли выполните следующую команду: telnet -l root 192.168.1.1 Вход будет совершен автоматически без запроса пароля. Это в корне не верно. Чтобы исправить ситуацию, задайте пароль, выполнив команду в консоли: passwd Выполните команду «exit», для выхода из telnet сессии. Выполните вход по ssh: Далее, удостоверимся, что модем был распознан ядром, выполнив команду в консоли: grep "^P\:.*22de.*6803" /proc/bus/usb/devices Результатом выполнения этой команды, будет строка с VID и PID модема. В противном случае, проверьте, что было сделано не по инструкции. Модернизация аппаратного обеспечения роутера Для управления питанием USB порта нужна свободная ножка процессора. У этого роутера масса светодиодных индикаторов на передней панели и один из них можем приспособить под наши нужды. Выбираем пал на индикатор со значком принтера, так как он соответствует светодиоду USB на proc-fs (/proc/diag/led/usb). Управление питанием будет осуществлять дополнительная плата с минимально необходимым набором деталей. Вот её уменьшенная схема: Оба транзистора работают в качестве ключей. При подаче логической единицы на вход «CTRL», транзистор VT1 откроется и далее также откроется транзистор VT2 и питающее напряжение подастся на USB порт. Не обязательно использовать печатную плату, можно – монтажную. Вот так выглядит конечный вариант: Зелёными надписями отмечены одноименные порты на схемы. Резистор R4, припаян непосредственно к ножке светодиода. Пошаговая инструкция по модификации: • Обесточьте роутер и разберите его • Уберите не нужный R48 – этот резистор соединяет светодиод с ножкой процессора • Удалите предохранитель F1 – этот предохранитель, должен обеспечить защиту в случае короткого замыкания на линиях питания USB. • Надписями желтого цвета отмечены места подключения платы управления • Удалите защитное покрытие с проводника, ведущего сигнал от процессора к резистору R48. К этому проводнику, должен быть подпаян порт «CTRL» платы управления • Приклейте плату управления в наиболее удобное для вас место. • Припаяйте резистор R4 непосредственно к аноду светодиода, как указанно на фотографии. Также обратите внимание на подключение соединительных проводов • Закончите монтаж соединительных проводов • Итоговый результат • Соберите и включите роутер Модернизация программного обеспечения роутера Подключитесь к роутеру по ssh, и все следующие шаги будут выполняться на нём. Создание утилит для управления USB Перейдите в папку /etc/ppp. cd/etc/ppp • Создайте usb-up.sh. Этот скрипт будет включать питание на USB порте• $ cat usb-up.sh• #!/bin/sh• logger -t "USB PwrCtrl" "Turn-on USB power"• echo 1 > /proc/diag/led/usb• Создайте скрипт для перезагрузки USB порта• $ cat resetusb.sh• #!/bin/sh• logger -t "USB PwrCtrl" "Turn-off USB power"• echo 0 > /proc/diag/led/usb• # Sleep in 3 sec is an optional, but may be useful for some modem types• #sleep 3• logger -t "USB PwrCtrl" "Turn-on USB power"• echo 1 > /proc/diag/led/usb• Создайте скрипт для проверки существования процесса pppd• #!/bin/sh• if ps | grep -q /usr/sbin/pppd; then• logger -t "PPP watcher" "PPP alive"• else• logger -t "PPP watcher" "No PPP daemon"• /etc/ppp/resetusb.sh• fi• Сделайте скрипты исполняемыми• chmod a+x /etc/ppp/*.sh• Добавим корректную обработку подключения модема к USB. Обратите внимание на то, что в OpenWRT, по умолчанию, нет udev, а вместо этого используется hotplug «демон»• $ cat /etc/hotplug.d/usb/11-modem• #!/bin/sh•• # Copyright (C) 2013 Sergey Shcherbakov <[email protected]>•• case "$ACTION" in• add)• (grep -q "^P\:.*22de.*6803" /proc/bus/usb/devices) && {• logger -t "WM-D300" "Detected ZeroCD of WM-D300 modem"• # Checking ZeroCD status• while [ "$(sdparm -q --command=ready /dev/scsi/host0/bus0/target0/lun0/generic)" != "Ready" ]; do• logger -t "WM-D300" "ZeroCD yet not ready"• # Workaround for bug with multiple calls of scripts• (/usr/bin/lsusb | grep -q 22de:6801) && {• logger -t "WM-D300" "Seems that script called twice and device already initialized"• return 0• }• sleep 2• done•• logger -t "WM-D300" "ZeroCD ready and will be ejected"• /usr/bin/sdparm --command=eject /dev/scsi/host0/bus0/target0/lun0/generic• }•• (grep -q "^P\:.*22de.*6801" /proc/bus/usb/devices) && [ ! -c /dev/usb/tts/0 ] && {• logger -t "WM-D300" "Updating USB Serial driver with D200/D300 vendor and product ID"• rmmod usbserial && insmod usbserial vendor=0x22de product=0x6801• }•• (grep -q "^P\:.*22de.*6801" /proc/bus/usb/devices) && [ -c /dev/usb/tts/2 ] && ! (ifconfig 3g-wan 1>/dev/null 2>/dev/null) && {• logger -t "WM-D300" "All modem interfaces installed, turning on WAN"• ifdown wan && ifup wan• }• ;;• remove)• ! (grep -q "^P\:.*22de.*6801" /proc/bus/usb/devices) && {• logger -t "WM-D300" "Modem disconnected, turning off WAN interface"• ifdown wan• }• ;;• esac Внесение изменений в существующие скрипты • Запретите WAN интерфейс, заданный по умолчанию, выполнив команду• sed -i 's/interface\ wan$/interface\ wan_dflt/' /etc/config/network• Добавьте новый описатель WAN интерфейса с настройками для 3G• $ cat /etc/config/network• …• config interface wan• option ifname ppp0• option device /dev/usb/tts/0• option service evdo• option proto 3g• option username 'mobile'• option password 'internet'• option pppd_options 'noipdefault maxfail 3'• option connect '/etc/ppp/usb-up.sh'• option disconnect '/etc/ppp/resetusb.sh'• option keepalive 20• Для того чтобы добавить автоматическое включение USB порта при инициализации роутера, нужно модифицировать стандартный скрипт /etc/init.d/usb, добавив в конце функции start() вызов скрипта /etc/ppp/usb-up.sh• $ cat /etc/init.d/usb• …• start() {• ...• # Turn-on power on USB• /etc/ppp/usb-up.sh• }• …• Дополнительно можно модифицировать, но необязательно, Chat скрипт (/etc/chatscripts/evdo.chat).• ABORT BUSY• ABORT 'NO CARRIER'• ABORT ERROR• ABORT 'NO DIAL TONE'• ABORT 'NO DIALTONE'• ABORT 'NO ANSWER'• REPORT CONNECT• TIMEOUT 10• '' AT• OK ATDT#777• CONNECT ''• Добавляем в Cron задачу, которая будет проверять наличие процесса pppd каждые пять минут. Для этого следует вызвать команду "crontab -e” и добавить следующую строку:• */5 * * * * /etc/ppp/check.sh• Разрешаем выполнение Cron и запускаем его• /etc/init.d/cron enable && /etc/init.d/cron start Далее перезагрузить роутер и можете пользоваться с удовольствием. Без сбоя работал 40 дней, что гораздо больше, чем у обычных модемов. В зависимости от местоположения скорость достигала 350 Кбит/с. Полный вариант статьи находится тут. Поделитесь полезными схемами
samodelnie.ru Роутер + GPRS модем = mini VoIP АТС или GSM шлюз своими руками / ХабрНа днях появилась необходимость поднять в удаленном, маленьком, офисе телефонию. Стабильного канала Интернет, как и в большинстве удаленных регионов, в городке не нашлось, по этому задача свелась к созданию бюджетной АТС с локальным GSM каналом + VoIP связь с центральной (корпоративной) АТС.Описание решенияСистема состоит:1. Роутер — DLink DIR-320. Конечно можно было посмотреть на более производительные (например ASUS RT-N16, 400Мгц против 200Мгц), но задача собрать бюджетное рещение (4500р. Asus против 1500 Dlink). 2. GPRS модем — Huawei E1550, этот выбор обаснован техническими особенностями, причины будут ясны по мере прочтения статьи. 3. USB Hub 7 портов — StLab, можно любой другой, главное — внешнее питание. 4. MicroSD Flash на 1ГБ — любая (объем тоже может быть большим).Предстоящие задачи:1. Прошиваем роутер «альтернативной» прошивкой. 2. Подготовка GPRS модема. 3. Монтируем MicroSD карту для устанавливаемого на роутер ПО. 4. Установка и настройка на роутер IP-PBX Asterisk.Прошиваем роутер «альтернативной» прошивкой Этот пункт наверное очень «замылен», и тем неменее крадко приведу последовательность действий. Саму прошивку можно взять отсюда, ее особенностью является ядро верси 2.6, т.к. 2.4 не поддерживает тайминги процессора, что очень необходимо как астериску так и его модулю chan_datacard (с помощью которого мы и будем использовать GSM модем как канал). В связи с ограничениями Flash выбранного роутера из прошивки исключены Samba, FTP, SSH, что без труда можно доустановить потом. Прошивку скачали, осталось прошить. Предпологается что в руках DIR-320 «из коробки». В корне системного диска на ПК (для удобства) создадим каталог «bin», в него помещаем прошивку и переименовываем ее в firmware.bin. Там-же (в каталоге bin), создаем скрипт flashing.bat со следующим содержимым:@Echo Off :BEGIN ping -n 1 -w 1 192.168.0.1 If errorlevel 1 Goto BEGIN If errorlevel 0 Goto FLASH Goto END:FLASH Echo *** Start Flashing **** tftp -i 192.168.0.1 put c:\bin\firmware.bin :END В строке «c:\bin\firmware.bin» букву диска меняем на свою. Устанавливаем настройки сетевой карты (к которой подключен роутер): IP адрес — 192.168.0.2 Маска подсети — 255.255.255.0 При выключенном питании роутера нажимаем и удерживаем кнопку Reset (задняя панель роутера), включаем питание. Как только на роутере загорится индикатор LAN порта отпускаем кнопку Reset и запускаем скрипт flashing.bat. Прошивка займет 1-2 минуты, как только загорится индикатор статуса — сбрасываем настройки роутера, нажатием с удержанием кнопки Reset пока не заморгает индикатор статуса. Настройки сетевой карты возращаем на «получать автоматически». IP адрес роутера — 192.168.1.1, логин от WEB интерфейса управления — admin/admin.Кратко необходимые настройки роутера: 1. Change Name — для удобства можно сменить на root. 2. Change Password — меняем на свой. 3. Убеждаемся что telnet разрешен. 4. Примеряем настройки и перезагружаем роутер. Подготовка GPRS модема В своем «нормальном» состоянии модем E1550 виден ОС как составное USB устройство. Роутеру мешает наличие эмуляции модемом CDRom с ПО, вот ее то (эмуляцию) мы и отключим, а заодно и привязку к симкарте оператора снимем.1. Нам потребуется dc-unloker для ввода команд и отображения состояния устройства, скачать его можно здесь. Качаем, устанавливаем. 2. Подключаем GSM модем с MicroSD картой к ПК, дожидаемся установки драйверов и обнаружения уствройства. 3. Запускаем dc-unloker и нажимаем «Поиск». 4. Как только устройство будет найдено увидим краткое его описание, с перечислением IMEI, версии ПО и прочее. Копируем IMEI в буфер. 5. Идем на страницу OnLine генератора кодов разблокировки. 6. Вставляем IMEI и заполняем капчу. В резултате получаем 2 кода Unlock и Flash (код для перепрошивки устройства). Нам нужен Unlock, копируем в буфер. 7. В dc-unloker необходимо выполнить 2 команды, в текстовом окне:AT^U2DIAG=256 (девайс в режиме модем + Card Reader) AT^CARDLOCK="<Unlock код из буфера>" Модем отвязан от опеторских SIM и не эмулирует CDRom. Монтируем MicroSD карту для устанавливаемого на роутер ПО 1. Используемое ПО:PuttyWinCP 2. Подключаем модем к роутеру. Включаем питание роутера. 3. Используя протокол Telnet в Putty подключаемся к роутеру IP 192.168.1.1, логин/пароль admin/admin. 4. Используя утилиту fdisk удаляем существующие разделы с карты, MicroSD будет видна как /dev/sda. Выполняем команды:fdisk /dev/sda Command (m for help): p Если разделы есть, последовательно удаляем их:Command (m for help): d Если разделов нет либо удалили на предыдущем этапе:Command (m for help): n p 1 далее везде по умолчанию (просто Enter) Command (m for help): w 5. Созданный раздел отформатируем:mke2fs -j /dev/discs/disca/part1 6. Смонтируем раздел в каталог /optmount /dev/discs/disca/part1 /opt 7. Следующие команды позовлят в дальнейшем использовать ipkg для установки пакетов из репозитория:mkdir -p /opt/tmp/ipkg ipkg.sh update ipkg.sh install ipkg-opt ipkg update 8. Установим необходимый (либо просто удобный) софт из репозитория:ipkg install mc (файловый менеджер) ipkg install nano (текстовый редактор) ipkg install opnenssh (SSH сервер и SFTP) ipkg install asterisk16 (IP АТС астериск) 9. Настроим автомонтирование MicroSD карты и автозапуск OpenSSH сервера и Asterisk: в каталоге /etc создаем файл fstab, наприемр так:touch /etc/fstab открываем (nano /etc/fstab) и пишем в него:#!/bin/sh /dev/discs/disca/part1 /opt ext3 rw,noatime 1 1 в каталоге /tmp/local/ создаем файл .files:touch /tmp/local/.files записываем в него:/etc/fstab в каталоге /tmp/local/ создаем каталог sbin и в нем следующие файлыmkdir /tmp/local/sbin touch /tmp/local/sbin/pre-mount (скрипт вызывающийся перед монтированием) touch /tmp/local/sbin/post-mount (скрипт вызывающийся после монтирования) touch /tmp/local/sbin/pre-shutdown (скрипт вызывающийся перед выключении/перезагрузке) в файл pre-mount записываем:#!/bin/sh e2fsck -f -y -v /dev/discs/disca/part1 (проверка файловой системы перед монтированием) в файл post-mount записываем:#!/bin/sh /opt/etc/init.d/S40sshd (запуск OpenSSH демона) /opt/sbin/asterisk (запуск astrisk) в файл pre-shutdown записываем:#!/bin/sh /bin/umount /opt (отмонтировать каталог /opt) назначаем на созданные скрипты права на исполнение:cd /tmp/local/sbin chmod +x /usr/local/sbin/* сохраняем все изменения в энергонезависимой памяти:flashfs save flashfs commit flashfs enable перезагружаем роутер:reboot После загрузки, если все было выполнено верно, к роутеру можно подключится по SSH и SFTP.Установка и настройка на роутер IP-PBX Asterisk Установку Астериск мы выполнили на предыдущем шаге, осталось настроить его. Для начала скачиваем архив с модулем chan_datacard отсюда (можете собрать сомостоятельно его, но описывать весь процесс сборки не хочу, по этому выкладываю). Файл chan_datacard.so копируем в каталог /opt/lib/asterisk/modules/ Файл datacard.conf копируем в каталог /opt/etc/astrisk/ В конфиге /opt/etc/astrisk/modules.conf пишем (оригинал желательно сохранить в другое место):[modules] autoload=no load => format_pcm.so load => codec_ulaw.so load => codec_alaw.so load => app_dial.so load => app_macro.so load => app_playback.so load => app_setcallerid.so load => app_disa.so load => app_transfer.so load => func_timeout.so load => func_callerid.so load => func_logic.so load => func_strings.so load => pbx_config.so load => pbx_spool.so load => chan_sip.so load => res_musiconhold.so load => func_shell.so load => func_channel.so load => chan_datacard.so load => chan_oss.so В конфиге /opt/etc/asterisk/datacard.conf пишем (обратите внимание, в данном конфиге подключено 2 модема):[datacard0] context=datacard-incoming ; context for incoming calls audio=/dev/ttyUSB1 ; tty port for audio connection data=/dev/ttyUSB2 ; tty port for AT commands resetdatacard=yes ; reset datacard during initialization disablesms=yes rxgain=3 ; increase the incoming volume txgain=3 ; increase the outgoint volume group=1 ; calling group[datacard1] context=datacard-incoming ; context for incoming calls audio=/dev/ttyUSB4 ; tty port for audio connection data=/dev/ttyUSB5 ; tty port for AT commands resetdatacard=yes ; reset datacard during initialization disablesms=yes rxgain=3 ; increase the incoming volume txgain=3 ; increase the outgoint volume group=1 ; calling group В конфиге /opt/etc/asterisk/sip.conf пишем (оригинал желательно сохранить в другое место):[general] context=from-pstn-unauth allowoverlap=yes allowguest=yes alwaysauthreject=yes bindport=5060 bindaddr=0.0.0.0 srvlookup=no nat=yes canreinvite=no insecure=invite tos_sip=cs3 tos_audio=ef tos_video=af41 disallow=all allow=ulaw allow=alaw [101] type=friend defaultuser=101 secret=test host=dynamic context=test disallow=all allow=alaw allow=ulaw В конфиге /opt/etc/asterisk/extensions.conf пишем (оригинал желательно сохранить в другое место):[general] static=yes writeprotect=no autofallthrough=no clearglobalvars=no priorityjumping=yes [globals] [test] exten => _8XX.,1,Dial(Datacard/g1/${EXTEN}) exten => _8XX.,n,Hangup() [datacard-incoming] exten => _.,1,Dial(SIP/101) exten => _.,n,Hangup() Убеждаемся что симкарты используемые в модеме не требуют PIN (в противном случае отключаем). Перезегружаем роутер. Подключаемся SIP клиентом к серверу с учеткой [email protected] и паролем test. Входящие вызовы будут поступать на этот внутренний номер. Исходящие вызовы будут посылаться через GSM модемы. PS: настройки астериска приведены исключительно в позновательных целях, для построения демонстрационного стенда, для использования в боевом режиме рекомендую изучить документацию по Asterisk. habr.com Встраиваем DSL модем в системный блок ПКИ так, многие хозяева ADSL модемов сталкивались с проблемой, когда модем некуда поставить или же он перегревается, ну или просто отвлекает своим мерцанием. Я предлагаю убрать его в корпус системного блока, конечно можно закрепить его за столом, но в этом случае будет сложно посмотреть на индикаторы если что, то произойдет. В системнике происходит охлаждение модема за счет вентиляторов, не приходится далеко тянуть провода, также мы полностью аннулируем блок питания. Начнем, для начала рассмотрим разъемы модема. У меня модем D-link модель DSL - 2500u Пойдем снизу вверх, серый это телефонная линия, жёлтый кабель локальной сети (связь с ПК), и черный подключение питания. Далее нужно найти место в корпусе блока, отлично подойдет место под дисководом или как у меня над, аккуратно удаляем заглушки, они держатся на пластиковых засшёлках вот что должно получится. Не обращайте внимания на отверстия это последствия неудачного моддинга… Чтобы не тянуть лишних проводов, мы исключаем блок питания, его отлично заменит БП компьютера. Перед заменой нужно посмотреть на БП модема, чтобы не ошибиться с напряжение и не спалить модем. На моем питание 5 В и ток 1 А пишется это так: Output: 5V 1.0A DC если все так то смело открываем корпус системника и ищем внутри такие вот разъемы Такой разъем подключается к винчестерам дисководам и т.д. но практически на любом БП можно найти свободные. И так нам нужен красный и черный тот, что рядом с ним там как раз напряжение в 5 В а ток в 1 А способен выдать даже самый простой БП. Отрезаем провод от БП модема И подключаем к компьютеру. Тот провод, что с полосками это +, другой -, соответственно красный +, черный - Изолируем и все готово. Осталось пропустить сзади остальные провода и все готово Провод локальной сети тут же возвращается в системник и в итоге от него идет всего один провод телефонной линии. Вот что получилось, все аккуратно и доступно для обзора. Желающим повторить, удачи P.S. Автор не несет никакой ответственности за не аккуратные руки и сломанное оборудование. Да и при снятии крышки системного блока вы автоматически лишаетесь гарантии. sdelaysam-svoimirukami.ru Роутер + GPRS модем = mini VoIP АТС или GSM шлюз своими руками / Песочница / ХабрНа днях появилась необходимость поднять в удаленном, маленьком, офисе телефонию. Стабильного канала Интернет, как и в большинстве удаленных регионов, в городке не нашлось, по этому задача свелась к созданию бюджетной АТС с локальным GSM каналом + VoIP связь с центральной (корпоративной) АТС.Описание решенияСистема состоит: 1. Роутер — DLink DIR-320. Конечно можно было посмотреть на более производительные (например ASUS RT-N16, 400Мгц против 200Мгц), но задача собрать бюджетное решение (4500р. Asus против 1500 Dlink). 2. GPRS модем — Huaway E1550, этот выбор обоснован техническими особенностями, причины будут ясны по мере прочтения статьи. 3. USB Hub 7 портов — StLab, можно любой другой, главное — внешнее питание. 4. MicroSD Flash на 1ГБ — любая (объем тоже может быть большим).Предстоящие задачи: 1. Прошиваем роутер «альтернативной» прошивкой. 2. Подготовка GPRS модема. 3. Монтируем MicroSD карту для устанавливаемого на роутер ПО. 4. Установка и настройка на роутер IP-PBX Asterisk.Прошиваем роутер «альтернативной» прошивкойЭтот пункт наверное очень «замылен», и тем не менее вкратце приведу последовательность действий. Саму прошивку можно взять отсюда, ее особенностью является ядро верси 2.6, т.к. 2.4 не поддерживает тайминги процессора, что очень необходимо как астериску так и его модулю chan_datacard (с помощью которого мы и будем использовать GSM модем как канал). В связи с ограничениями Flash выбранного роутера из прошивки исключены Samba, FTP, SSH, что без труда можно доустановить потом. Прошивку скачали, осталось прошить. Предполагается что в руках DIR-320 «из коробки». В корне системного диска на ПК (для удобства) создадим каталог «bin», в него помещаем прошивку и переименовываем ее в firmware.bin. Там-же (в каталоге bin), создаем скрипт flashing.bat со следующим содержимым:Echo Off :BEGIN ping -n 1 -w 1 192.168.0.1 If errorlevel 1 Goto BEGIN If errorlevel 0 Goto FLASH Goto END :FLASH Echo *** Start Flashing **** tftp -i 192.168.0.1 put c:\bin\firmware.bin :END В строке «c:\bin\firmware.bin» букву диска меняем на свою. Устанавливаем настройки сетевой карты (к которой подключен роутер): IP адрес — 192.168.0.2 Маска подсети — 255.255.255.0 При выключенном питании роутера нажимаем и удерживаем кнопку Reset (задняя панель роутера), включаем питание. Как только на роутере загорится индикатор LAN порта отпускаем кнопку Reset и запускаем скрипт flashing.bat. Прошивка займет 1-2 минуты, как только загорится индикатор статуса — сбрасываем настройки роутера, нажатием с удержанием кнопки Reset пока не заморгает индикатор статуса. Настройки сетевой карты возвращаем на «получать автоматически». IP адрес роутера — 192.168.1.1, логин от WEB интерфейса управления — admin/admin. Кратко необходимые настройки роутера: 1. Change Name — для удобства можно сменить на root. 2. Change Password — меняем на свой. 3. Убеждаемся что telnet разрешен. 4. Примеряем настройки и перезагружаем роутер. Подготовка GPRS модемаВ своем «нормальном» состоянии модем E1550 виден ОС как составное USB устройство. Роутеру мешает наличие эмуляции модемом CDRom с ПО, вот ее то (эмуляцию) мы и отключим, а заодно и привязку к сим-карте оператора снимем.1. Нам потребуется dc-unloker для ввода команд и отображения состояния устройства, скачать его можно здесь. Качаем, устанавливаем. 2. Подключаем GSM модем с MicroSD картой к ПК, дожидаемся установки драйверов и обнаружения устройства. 3. Запускаем dc-unloker и нажимаем «Поиск». 4. Как только устройство будет найдено увидим краткое его описание, с перечислением IMEI, версии ПО и прочее. Копируем IMEI в буфер. 5. Идем на страницу OnLine генератора кодов разблокировки. 6. Вставляем IMAI и заполняем каптчу. В результате получаем 2 кода Unlock и Flash (код для перепрошивки устройства). Нам нужен Unlock, копируем в буфер. 7. В dc-unloker необходимо выполнить 2 команды, в текстовом окне: 7.1 AT^U2DIAG=256 (устройство в режиме модем + Card Reader) 7.2 AT^CARDLOCK="<Unlock код из буфера>" Модем отвязан от опеторских SIM и не эмулирует CDRom. Монтируем MicroSD карту для устанавливаемого на роутер ПО1. Используемое ПО: 1.1 Putty 1.2 WinCP 2. Подключаем модем к роутеру. Включаем питание роутера. 3. Используя протокол Telnet в Putty подключаемся к роутеру IP 192.168.1.1, логин/пароль admin/admin. 4. Используя утилиту fdisck удаляем существующие разделы с карты, MicroSD будет видна как /dev/sda. Выполняем команды: fdisk /dev/sda Command (m for help): p Если разделы есть, последовательно удаляем их: Command (m for help): d Если разделов нет либо удалили на предыдущем этапе: Command (m for help): n p 1 далее везде по умолчанию (просто Enter) Command (m for help): w 5. Созданный раздел отформатируем: mke2fs -j /dev/discs/disca/part1 6. Смонтируем раздел в каталог /opt mount /dev/discs/disca/part1 /opt 7. Следующие команды позовлят в дальнейшем использовать ipkg для установки пакетов из репозитория: mkdir -p /opt/tmp/ipkg ipkg.sh update ipkg.sh install ipkg-opt ipkg update 8. Установим необходимый (либо просто удобный) софт из репозитория: ipkg install mc (файловый менеджер) ipkg install nano (текстовый редактор) ipkg install opnenssh (SSH сервер и SFTP) ipkg install asterisk16 (IP АТС астериск) 9. Настроим автомонтирование MicroSD карты и автозапуск OpenSSH сервера и Asterisk: в каталоге /etc создаем файл fstab, например так: touch /etc/fstab открываем (nano /etc/fstab) и пишем в него: #!/bin/sh /dev/discs/disca/part1 /opt ext3 rw,noatime 1 1 в каталоге /tmp/local/ создаем файл .files: touch /tmp/local/.files записываем в него: /etc/fstab в каталоге /tmp/local/ создаем каталог sbin и в нем следующие файлы mkdir /tmp/local/sbin touch /tmp/local/sbin/pre-mount (скрипт вызывающийся перед монтированием) touch /tmp/local/sbin/post-mount (скрипт вызывающийся после монтирования) touch /tmp/local/sbin/pre-shutdown (скрипт вызывающийся перед выключении/перезагрузке) в файл pre-mount записываем: #!/bin/sh e2fsck -f -y -v /dev/discs/disca/part1 (проверка файловой системы перед монтированием) в файл post-mount записываем: #!/bin/sh /opt/etc/init.d/S40sshd (запуск OpenSSH демона) /opt/sbin/asterisk (запуск astrisk) в файл pre-shutdown записываем: #!/bin/sh /bin/umount /opt (отмонтировать каталог /opt) назначаем на созданные скрипты права на исполнение: cd /tmp/local/sbin chmod +x /usr/local/sbin/* сохраняем все изменения в энергонезависимой памяти: flashfs save flashfs commit flashfs enable перезагружаем роутер: reboot После загрузки, если все было выполнено верно, к роутеру можно подключится по SSH и SFTP.Установка и настройка на роутер IP-PBX AsteriskУстановку Астериск мы выполнили на предыдущем шаге, осталось настроить его. Для начала скачиваем архив с модулем chan_datacard отсюда (можете собрать сомостоятельно его, но описывать весь процесс сборки не хочу, по этому выкладываю). Файл chan_datacard.so копируем в каталог /opt/lib/asterisk/modules/ Файл datacard.conf копируем в каталог /opt/etc/astrisk/ В конфиге /opt/etc/astrisk/modules.conf пишем (оригинал желательно сохранить в другое место):[modules] autoload=no load => format_pcm.so load => codec_ulaw.so load => codec_alaw.so load => app_dial.so load => app_macro.so load => app_playback.so load => app_setcallerid.so load => app_disa.so load => app_transfer.so load => func_timeout.so load => func_callerid.so load => func_logic.so load => func_strings.so load => pbx_config.so load => pbx_spool.so load => chan_sip.so load => res_musiconhold.so load => func_shell.so load => func_channel.so load => chan_datacard.so load => chan_oss.so В конфиге /opt/etc/asterisk/datacard.conf пишем (обратите внимание, в данном конфиге подключено 2 модема): [datacard0] context=datacard-incoming; context for incoming calls audio=/dev/ttyUSB1; tty port for audio connection data=/dev/ttyUSB2; tty port for AT commands resetdatacard=yes; reset datacard during initialization disablesms=yes rxgain=3; increase the incoming volume txgain=3; increase the outgoint volume group=1; calling group [datacard1] context=datacard-incoming; context for incoming calls audio=/dev/ttyUSB4; tty port for audio connection data=/dev/ttyUSB5; tty port for AT commands resetdatacard=yes; reset datacard during initialization disablesms=yes rxgain=3; increase the incoming volume txgain=3; increase the outgoint volume group=1; calling group В конфиге /opt/etc/asterisk/sip.conf пишем (оригинал желательно сохранить в другое место): [general] context=from-pstn-unauth allowoverlap=yes allowguest=yes alwaysauthreject=yes bindport=5060 bindaddr=0.0.0.0 srvlookup=no nat=yes canreinvite=no insecure=invite tos_sip=cs3 tos_audio=ef tos_video=af41 disallow=all allow=ulaw allow=alaw [101] type=friend defaultuser=101 secret=test host=dynamic context=test disallow=all allow=alaw allow=ulaw В конфиге /opt/etc/asterisk/extensions.conf пишем (оригинал желательно сохранить в другое место): [general] static=yes writeprotect=no autofallthrough=no clearglobalvars=no priorityjumping=yes [globals] [test] exten => _8XX.,1,Dial(Datacard/g1/${EXTEN}) exten => _8XX.,n,Hangup() [datacard-incoming] exten => _.,1,Dial(SIP/101) exten => _.,n,Hangup() Убеждаемся что симкарты используемые в модеме не требуют PIN (в противном случае отключаем). Перезегружаем роутер. Подключаемся SIP клиентом к серверу с учеткой [email protected] и паролем test. Входящие вызовы будут поступать на этот внутренний номер. Исходящие вызовы будут посылаться через GSM модемы. PS: настройки астериска приведены исключительно в позновательных целях, для построения демонстрационного стенда, для использования в боевом режиме рекомендую изучить документацию по Asterisk. habr.com |