Осторожно: Made in Podolsk


Меня зовут Вячеслав Голицын. Я хочу доработать GSM-модуль для автоматических ворот и ищу единомышленников. Это краткая история разработки модуля и дальнейшие планы развития. Open source проект в котором Вы можете принять участие. После газонокосилки, снегоуборщика и подводной лодки настала пора нового проекта. Прошу под cut >


Меня зовут Вячеслав Голицын. Я хочу разработать GSM-модуль для автоматических ворот и ищу единомышленников.

Вместе нам будет проще разработать единую плату с минимально необходимой обвязкой для размещения на ней различных готовых модулей. Данный проект будет интересен тем, кто профессионально связан с монтажом и обслуживанием автоматических ворот, тем у кого есть автоматические ворота и тем, кто поморгал светодиодами микроконтроллера и думает что делать дальше.

Прошли майские праздники! Пора дач, гостей, шашлыков и беспечных встреч с друзьями. Приглашая к себе на дачу друзей я сразу готовлюсь к разговору с охраной. Шаблон разговора не меняется из раза в раз.
Действующие лица: Я, мой друг, охранник Нурик, автоматические ворота.

Мой друг: — Привет, Слав! Мы приехали к воротам СНТ.
Я: — Привет, {имя друга}! Вызови охранника и скажи на охране, что тебе нужно на участок №100.
… минута ожидания…
Мой друг: — Мне на участок №100.
Нурик: — Это к Вьячиславу?
Мой друг: — Да, к Вячеславу.
Нурик: — Можьна мне трубку. Алльё, ето Нурик! Вьячеслав это к Вам?
Я: — Да, это ко мне, пропусти, пожалуйста.
Автоматические ворота: — Вжжжжж… жжжжж… кланц.


Я подумал, как было бы удобно удаленно открывать ворота, которые находятся в 800 метрах от моего участка. Поиск возможных коммерческих решений и обсуждение с председателем принесли неутешительный вывод о нехватке средств для воплощения проекта в жизнь, т.к. стоимость блока начинается от 12.000 руб.

Я решил поискать среди opensource решений, но быстрый поиск не принес результатов. Это очень странно, потому что, например, при установке автоматических ворот в гаражном кооперативе каждому нужно купить пульт, а при 500 боксах это 500.000 руб. Логичнее вместо пультов использовать телефон и GSM-блок для управления воротами. Следствием всех раздумий стало воплощение подобного решения из минимального возможного количества доступных элементов. С общими затратами до 1.000 руб.

Итогом работы стал прототип на основе Arduino, но вариантов решения было много. При поступлении входящего вызова система определяет наличие абонента в базе. В случае наличия в базе номера телефона, с которого идет взодящий вызов — открывает ворота, которые автоматически закроются через N секунд, при отсутствии препятствий в зоне фотоэлементов. В случае отсутствия такого номера в базе отправляет администратору оповещение. Администратором назначается первый позвонивший абонент после прошивки. Система принимает от администратора команды на добавление и удаление номеров из базы.



Для осуществления открытия ворот почти во всех моделях привода на плате присутствуют контакты при замыкании которых ворота открываются, это продумано для подключения кнопки оператора. Все что нам нужно это подключить эти контакты к реле и замыкать реле при необходимости. При этом стандартные пульты продолжают работать, это независимые друг от друга решения.


Наши автоматические откатные ворота снабжены модулем на базе платы ZBX6. Нам нужно соединить к реле контакты 2 и 7 с фото.

Android решение


Первой идей было использовать в качестве блока смартфон, отслуживший свое. В ход пошел мой Samsung galaxy S3. Python для Android, немного магии и получаем решение, которое может общаться с arduino через bluetooth и даже читать SMS. C приемом звонков проблема, а заставлять людей отправлять SMS, т.е. фактически, платить за вход через ворота — это никуда не годится.
Второй идеей с Android было использовать готовое решение в виде Blynk и Arduino SMS, но до рабочего решения было далеко.

Raspberry pi решение


Вторым вариантом была малина. Фишкой Raspberry я вижу возможность поднятия веб-сервера и возможность постить фотки каждой проезжающей машины в твиттер-аккаунт. Да простит меня закон о персональных данных.

Через веб-интерфейс пользователь нажимает кнопку, которая изменяет значение в определенной ячейки. Скрипт получает данные из mysql запроса. В случае обнаружения в в переменной значения «1» Raspberry включает реле через GPIO. Через модуль pytwitter осуществляется размещение в twitter аккаунт фото с вебкамеры, решение прямо целыми кусками из моей газонокосилки.
Идея оказалась не живучей. У каждого должен быть именно смартфон, интернет на смартфоне и желание всем этим учиться пользоваться.

Решение с Arduino и GSM-модулем


Стоимость большинства GSM-модулей начинается от 1000 руб., но на удивление на просторах чайнета были найдены наборы для сборки за 160 руб. На фото ниже.


Поверхностный монтаж нескольких элементов и сборка заняли не более 5 мин.


Схема




Плата


Сейчас это несколько проводов, Ардуино, реле, блок питания и GSM модуль. Сейчас я просто упаковал этот кусок прототипа в общий корпус привода, но это очень некрасиво, хотя и работает.

Дальнейшей целью является создание платы, на которой уже будет будет:
  • импульсный блок питания;
  • реле с обвязкой;
  • место для установки Arduino и/или ESP-8266;
  • место для установки GSM-модуля;
  • Светодиоды для индикации режима работы;


Скетч arduino
Скетч нужно дорабатывать, грамотная работа с EEPROM для минимизации записи/стирания требует оптимизации скетча, поэтому пока выкладываю первую версию.
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
int ch = 0;
int led = 13;
String val = "";

void setup() {
  delay(2000);  //время на инициализацию модуля
  pinMode(led, OUTPUT);
  digitalWrite(led, LOW);
  Serial.begin(9600);  //скорость порта
  Serial.println("GSM tester v1.0");
  mySerial.begin(9600);
  mySerial.println("AT+CLIP=1");  //включаем АОН
  delay(100);
  mySerial.println("AT+CMGF=1");  //режим кодировки СМС - обычный (для англ.)
  delay(100);
  mySerial.println("AT+CSCS=\"GSM\"");  //режим кодировки текста
  delay(100);
}

void loop() {
  if (mySerial.available()) {  //если GSM модуль что-то послал нам, то
    while (mySerial.available()) {  //сохраняем входную строку в переменную val
      ch = mySerial.read();
      val += char(ch);
      delay(10);
    }
    if (val.indexOf("RING") > -1) {  //если звонок обнаружен, то проверяем номер
      if (val.indexOf("71234567890") > -1) {  //если номер звонящего наш. Укажите свой номер без "+"
        Serial.println("--- MASTER RING DETECTED ---");
        mySerial.println("ATH0");  //разрываем связь
        digitalWrite(led, HIGH);  //включаем реле на 3 сек
        delay(3000);
        digitalWrite(led, LOW);  //выключаем реле
      }
    } else
      Serial.println(val);  //печатаем в монитор порта пришедшую строку
    val = "";
  }
  if (Serial.available()) {  //если в мониторе порта ввели что-то
    while (Serial.available()) {  //сохраняем строку в переменную val
      ch = Serial.read();
      val += char(ch);
      delay(10);
    }
    //mySerial.println(val);  //передача всех команд, набранных в мониторе порта в GSM модуль
    if (val.indexOf("sendsms") > -1) {  //если увидели команду отправки СМС
      sms(String("hello world"), String("+71234567890"));  //отправляем СМС на номер +71234567890
    }
    val = "";  //очищаем
  }
}

void sms(String text, String phone)  //процедура отправки СМС
{
  Serial.println("SMS send started");
  mySerial.println("AT+CMGS=\"" + phone + "\"");
  delay(500);
  mySerial.print(text);
  delay(500);
  mySerial.print((char)26);
  delay(500);
  Serial.println("SMS send complete");
  delay(2000);
}



Системные коды


  • ADD 79267777777 — добавление номера в базу;
  • DEL 79267777777 — удаление номера из базы;


Видео




Планы



Планы для версии 1.0


  • Разработка платы для подключения готовых модулей;
  • Подключение к плате Bluetooth;
  • Разработка приложения для Andoid и IOS;
  • Разработка версии на ESP-8266;


Планы для версии 2.0


  • Версия-шильд для OrangePi;
  • Поднятие веб-сервера и подключение к интернету;
  • Реализация клиент-серверной модели для удаленного управления через интернет;
  • Добавить возможность подключения камер для информировании;
  • Распознавание номерных знаков автомобилей.


Не краудфандингом единым


Как и многие из Вас мысли о краудфандинге не дают покоя моей буйной душе. Очень хочется попробовать сделать что-то вместе, силой сообщества. Данный проект я делаю во-первых для себя, потому что я ощущаю в этом необходимости. Так же я планирую сделать продукт, который поможет сделать жизнь удобнее без больших финансовых затрат.

Цель этого поста — получение обратной реакции и привлечение сообщества к проекту. Я запустил на Planeta.ru краудфаундиговый проект Noorik, чтобы оценить необходимость такой разработки. Если Вы готовы принять участие в проект — я всегда на связи в VK.

Проект ощущает острую потребность:
  • Разработка приложения для Android и IOS;
  • Проектирование платы;
  • Доработка Android скетча;


Просьба сделать репост, может быть кто-то из Ваших друзей захочет принять участие в данном проекте или кому-то необходим данный модуль.

Noorik


Основную информацию буду публиковать на GT по мере накопления, если будет интерес с Вашей стороны.

Оффтоп: Есть одна китайская сказка. Жил на свете мясник, и у него был нож, который год за годом оставался идеально острым. Когда мясника спрашивали, как ему удается сохранять лезвие в таком состоянии, он отвечал: «Я следую линиям кости. Я не пытаюсь разрезать ее, сломать и вообще хоть как-то ей сопротивляться. Это только испортит нож». В жизни нужно идти вдоль препятствий. Если пытаться их побороть — это только навредит.

К чему я это? Лето продолжается, но теперь я спокойно могу позвонить и ворота откроются для моих друзей.
Спасибо за внимание! Я пошел резать барашка и готовится к шашлыкам.

А у Вас есть выбор: закрыть эту страницу и посмотреть свежие видео про котиков или сделать мир более открытым…

Всех благ!
Поделиться с друзьями
-->

Комментарии (56)


  1. chupasaurus
    23.05.2016 14:40
    +4

    Open-source hardware — это не сборка конструктора с использованием кем-то разработанных модулей без возможности самостоятельного производства.
    Настоящий open-source GSM-модуль (если бы он существовал) был бы запрещён в использовании на территории больше 140 стран, например.


    1. webzuweb
      23.05.2016 14:44

      Согласен, что из-за того, что термины накладываются не столь просто выразить идею.
      Суть в том, чтобы сделать плату, на которую можно разместить Arduino и GSM модуль за 150 руб., а блок питания, реле и необходимая обвязка уже была на плате.


      1. Maikesteps
        24.05.2016 09:32

        Я (на пример) буду делать (для умного дома) плату с esp8266 + GSM модулем + бесперебойныком, для умного дома. Может и сюда запостю. Но что то делать опен соурс проект на этом смысла не вижу. Кто знает зачем это — сам знает как сделать.


    1. Frimen3
      23.05.2016 14:50

      А почему он был бы запрещен? Расскажите пожалуйста, стало интересно.


      1. hoary
        23.05.2016 14:57

        Очевидно потому, что без лицензии, которую без бэкдоров не дадут.


      1. chupasaurus
        23.05.2016 17:39

        Докуда смог добраться без глубокого гугления: в США запрещены радиоустройства, работающие с определенным набором частот и протоколов, среди которых есть GSM и CDMA, и к которым есть в свободном доступе полные схемы или исходники прошивок.


    1. Shished
      23.05.2016 19:42

      Вообще-то, такие проекты существуют.
      https://en.wikipedia.org/wiki/OpenBTS
      https://en.wikipedia.org/wiki/OsmocomBB


      1. webzuweb
        23.05.2016 21:08

        Спасибо за информацию!
        Мне кажется я немного другие ключевые слова для поиска использвал.


  1. Frimen3
    23.05.2016 14:54

    Интересный проект, в основном конечно стоимость хороша — рублей по 800-900 с текущим курсом себестоимость производства будет. Но будьте осторожны с дешевыми модулями M590 — к сожалению за 100-150 рублей они все б/ушные, не всегда работоспособные и насколько я знаю требовательны к питанию (напряжение не ниже 4,3В и потребление в пике может 2 ампер достигать). Как вариант есть за 300р новые SIM800A модули.


    1. timka05
      23.05.2016 17:00

      Заказал как-раз М590 за 100 с небольшим рублей. Конструктор «спаяй сам». Контактные площадки самого модуля чистые, следов пайки от прошлой жизни не видно. Может не все б/у?


      1. webzuweb
        23.05.2016 17:02

        У меня так же на новые похожи. В комментах многие говорили про симхолдеры б.у.


      1. Frimen3
        23.05.2016 17:06

        Тоже заказал пару штук неделю назад, еще пока не получил. Но судя по отзывам они все-же б/у и на alibaba мне китаец сразу сказал что они б/у. Может у Вас просто хорошо выпаяли что следов пайки не видно :) Хотя возможно и новый попался, не знаю.


      1. sp01
        02.06.2016 11:30

        все что заказывалось… все одинаковое
        Плата новая, часть деталей: резисторы, светодиоды, антеннка, сим-холдер, например, — новые. Чип — старый, конденсаторы старые. Плюс ко всему, иногда не хватает емкости конденсатора для запуска чипа. приходится напаивать большей емкостью.


    1. electronus
      02.06.2016 11:30

      Да, можно использовать A6 GPRS модуль. Гуглится на Али.


  1. shabelski89
    23.05.2016 14:58

    У родителей жены в доме такой доступ реализован уже год назад.
    Подъехали позвонили на шлагбаум, системы проверила что телефон в базе есть — открыла шлагбаум, звонок сброшен.
    Если номера в базе нет, то просто сброшен звонок после нескольких гудков.
    Так же ведутся логи звонков, открываний/закрываний. Каждый собственник имеет возможность добавлять сколько угодно номеров, но вроде 2 бесплатно, остальные за доп плату.


    1. webzuweb
      23.05.2016 14:58

      Конечно подобные системы уже существуют, но стоимость начинается от 12.000 руб.


      1. shabelski89
        23.05.2016 15:08

        я к тому, какие ещё «плюшки» было бы замечательно получить)


        1. webzuweb
          23.05.2016 15:15

          Я думаю в целом удешевление на порядок — это уже плюшка.
          Возможность при использовании ESP-8266 сделать приложение, которое через wi-fi будет открывать ворота без GSM.

          То, что я описал для версии 2.0 — создание интеллектуальной системы, которая будет на основе номеров автомобилей из базы открывать сама ворота ит.д.


          1. alexpp
            23.05.2016 15:40
            +1

            А как система отличит номер от картонки с напечатанным номером?


            1. webzuweb
              23.05.2016 17:18

              Я думаю, что зная цвет фона, можно делать замеры определенных областей среднего цвета и по HSE проверять отличие.


              1. DMGarikk
                23.05.2016 17:23

                А если номер грязью заляпан?


                1. borec1
                  23.05.2016 21:09

                  Нурика же никто не отменял.


                  1. ig0r0k
                    02.06.2016 11:29

                    Кстати, что с реальным Нуриком? Сократили или перепрофилировали?


      1. 123
        23.05.2016 21:14

        От 2000 на самом деле
        http://ru.aliexpress.com/store/product/2015-new-GSM-Gate-opener-RTU5024-King-Pigeon-gsm-door-opener-new-version-swing-gate-remote/419368_32340164261.html
        Уже полгода у меня работает с воротами came


        1. webzuweb
          23.05.2016 21:37
          +2

          Значит все было зря и у меня в сухом остатке только опыт?


    1. hoary
      23.05.2016 15:15

      Припоминая недавние статьи про виртуальные сим-карты с возможностью подмены номера, не хотелось бы доверять двор такой системе.


      1. webzuweb
        23.05.2016 15:19

        Вы себе даже не представляете как уязвимы системы на 433 Мгц.

        1)перепрыгнули, открутили корпус, замкнули эти контакты
        2)перепрыгнули, открутили рейку
        3)граббер сигнала
        4)…
        5)…


        1. hoary
          23.05.2016 15:26

          Представляю, насколько уязвимы.
          Добавление двусторонней шифрованной связи между пультом и модулем, отвечающим за открывание дверей, поможет в данном случае. Решения на nrf24 могут такое из коробки на уровне железа, благодаря чему работает связь например беспроводных клавиатур Logitech (да, я помню, как всю эту систему сломали, прикинувшись мышкой, но это был недодум проектировщиков, а не уязвимость шифрования).
          В случае с модемом, можно было бы общаться с головным модулем по DTMF, вот только с neoway никак не вывести звук, насколько я смог понять.


          1. webzuweb
            23.05.2016 15:48

            Когда я консультировался по вопросу безопасности с человеком, который профессионально ставит ворота я понял, что от
            перепрыгнули, открутили рейку или разобрали привод
            ничего не спасает.
            Вот такой Man in the middle…


            1. DMGarikk
              23.05.2016 15:54

              Спасут двойные ворота 3хметровой высоты и с колючей проволокой сверху

              А вот ничего не спасёт от танка который напрямик проедет


              1. impetus
                23.05.2016 22:56

                мост, грузоподъёмностью 3-4 тонны, через ров, шириной метров 6 и глубиной >2.54м, лучше с кольями, трупами и нечистотами водой


          1. Kitsok
            23.05.2016 17:54

            Могут, но не совсем, поскольку ключ к RSA тоже надо как-то генерить, а в условиях батарейного питания брелока, это — та еще задачка.


        1. Eg0r0v
          02.06.2016 11:29

          системы с домофоном и подключенным удаленным открыванием замка ещё уязвимее. достаточно открутить один винт и замкнуть два контакта.


  1. Kitsok
    23.05.2016 16:02

    Отличная идея!
    У меня уже есть ворота, которые открываются брелоком и через веб-морду сервера «Умного дома», но не хватало ещё чего-то. А надо-то — USB-3G-свисток, Астериск (который там уже стоит, кстати) и симку. Спасибо большое за идею!


    1. webzuweb
      23.05.2016 16:04
      +1

      На случай плохого интернет-соединения зовите Нурика! :)


      1. Kitsok
        23.05.2016 16:09

        Учитывая что намедни вороны съели мою Loco M2, наверное, придется.


  1. IronHead
    23.05.2016 16:18

    Кто то хочет открывание ворот по СМС, кто то хочет СМС уведомление, что на его машине сработала сигнализация, кто то хочет управлять чайником через интернет, а другие — поливать любимый цветок.
    Может стоит сделать OpenHardware проект, совместив на одной плате: GSM модуль SIM800, STM32 с обвязкой для USB и RTC, DC-DC преобразователь с входом управления (Enable) для питания SIM800 от 12-15В постоянки и контактами для подключения АКБ, схему зарада данного АКБ. Ну и вывести GPIO, UART, SPI и прочие приятности с STM32.
    В итоге можно на платке размером с дуинку получить универсальную железку для IoT и прочих нужд.
    Тем более в SIM800 встроен TCP/IP стек.
    Вот это была бы полезная штука.


    1. AlexSam
      23.05.2016 17:56
      +1

      Я думал над такой штукой, но опять же — в итоге потом получаем «бороду» из проводов потому что к нашему девайсу все равно подключаться только навесом.
      Тут нужно решение типа GSM гейта во внутренюю сеть или же свою какую-нибудь сеть на базе nRF24 или чего-то такого.
      Иначе смысла делать «еще одну борду только с GSM» нет.


      1. Kitsok
        23.05.2016 18:03

        Вот полностью согласен, особенно насчет бороды. Сейчас и аппаратные средства и программные решения позволяют реализовать распределенную архитектуру. Тот же MQTT, хотя и он не без недостатков.


    1. Kitsok
      23.05.2016 18:02

      WirenBoard?


      1. AlexSam
        23.05.2016 18:07

        Только там цена кусачая


        1. Kitsok
          23.05.2016 18:14

          А сильно дешевле и не выйдет


          1. AlexSam
            23.05.2016 18:32

            Тут смотря как сделать девайс. Можно конечно налепить кучу всего и в прошивке заложиться на использование этого «всего» иначе работать не будет. А можно сделать некую «модульность» но уже на плате — т.е. нужен GSM — впаиваем. Нужна сеть — впаиваем.
            Для гикпорн самое оно :)
            Особенно если все будет опен (хард & софт)


            1. Kitsok
              23.05.2016 18:35

              Попробуйте. У меня не получилось. Паять, на мой взгляд, вообще не вариант, а как только уходим от одной платы, начинаются габариты и дорогие разъемы.


    1. mphys
      23.05.2016 18:15
      +2

      Все равно кто то скажет что мне не хватает, а кто то скажет что для меня тут много лишнего.


  1. beho1der
    23.05.2016 21:02

    Подскажу еще одну идейку как можно проще авторизовывать людей для открытия ворота: На телефон ставиться специальная программка(название не помню под android точно есть), которая при подключении к wi-fi сети с определенным SSID делает GET запрос на сервер. Соответственно для того чтобы открыли ворота не надо даже доставать телефон, достаточно чтобы на нем был включен wifi модуль.


    1. webzuweb
      23.05.2016 21:11

      Идея здравая. Теоретически не у всех смартфоны, при этом телефон скорее всего имеется.


      1. beho1der
        23.05.2016 21:24

        Это как доп.бонус, удобно тем что не надо даже доставать и звонить!


      1. beho1der
        24.05.2016 04:42

        Вот нашел ссылку как это используется в MajorDoMo.


    1. Kitsok
      24.05.2016 16:57

      Мысль интересная, но у меня телефон все время висит на роутере, который в машине со мной ездит. Кажется, нужно как-то приделывать геопозицию, и выводить кусочек интерфейса умного дома в страшный интернет.


  1. KonstantinSoloviov
    23.05.2016 23:12

    Я не понял, целевая система включает Нурика или нет?

    И еще вопрос:

    Я подумал, как было бы удобно удаленно открывать ворота, которые находятся в 800 метрах от моего участка.
    Кто будет закрывать? Точнее, кто будет отвечать за вмятину на крыше (на двери) машины в 800 метрах от участка.


    1. beho1der
      24.05.2016 04:40

      В шлагбаумы обычно вмонтирован лазерный уровень, который не дает опустить шлагбаум если под ним находиться препятствие.


  1. doom369
    24.05.2016 09:20

    На нашем Блинке сделали уже не один десяток таких проектов. Пример 1. Пример 2. Пример 3. Рекомендую.


  1. soir
    24.05.2016 22:30

    «noorik» в переводе с эстонского — «молодуха». :)


  1. mummykbf
    02.06.2016 11:27

    Кто как реализовал питание gsm-модуля? везде пишут, что очень каприза к величине напряжения — 3.3В мало, 5.0В много.


    1. webzuweb
      02.06.2016 11:29

      Импульсный модуль питания, но один модуль я сжег подав 5В.
      Ничего не предвещает беды, на нем написано 5В.
      Но вот 10 секунд и приятный аромат бьет тебе в нос, ясно давая понять, что тебя ожидает увлекательное месячное ожидание следующего модуля из Поднебесной.