Осторожно: 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-модуля;
- Светодиоды для индикации режима работы;
#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)
Frimen3
23.05.2016 14:54Интересный проект, в основном конечно стоимость хороша — рублей по 800-900 с текущим курсом себестоимость производства будет. Но будьте осторожны с дешевыми модулями M590 — к сожалению за 100-150 рублей они все б/ушные, не всегда работоспособные и насколько я знаю требовательны к питанию (напряжение не ниже 4,3В и потребление в пике может 2 ампер достигать). Как вариант есть за 300р новые SIM800A модули.
timka05
23.05.2016 17:00Заказал как-раз М590 за 100 с небольшим рублей. Конструктор «спаяй сам». Контактные площадки самого модуля чистые, следов пайки от прошлой жизни не видно. Может не все б/у?
webzuweb
23.05.2016 17:02У меня так же на новые похожи. В комментах многие говорили про симхолдеры б.у.
Frimen3
23.05.2016 17:06Тоже заказал пару штук неделю назад, еще пока не получил. Но судя по отзывам они все-же б/у и на alibaba мне китаец сразу сказал что они б/у. Может у Вас просто хорошо выпаяли что следов пайки не видно :) Хотя возможно и новый попался, не знаю.
sp01
02.06.2016 11:30все что заказывалось… все одинаковое
Плата новая, часть деталей: резисторы, светодиоды, антеннка, сим-холдер, например, — новые. Чип — старый, конденсаторы старые. Плюс ко всему, иногда не хватает емкости конденсатора для запуска чипа. приходится напаивать большей емкостью.
shabelski89
23.05.2016 14:58У родителей жены в доме такой доступ реализован уже год назад.
Подъехали позвонили на шлагбаум, системы проверила что телефон в базе есть — открыла шлагбаум, звонок сброшен.
Если номера в базе нет, то просто сброшен звонок после нескольких гудков.
Так же ведутся логи звонков, открываний/закрываний. Каждый собственник имеет возможность добавлять сколько угодно номеров, но вроде 2 бесплатно, остальные за доп плату.webzuweb
23.05.2016 14:58Конечно подобные системы уже существуют, но стоимость начинается от 12.000 руб.
shabelski89
23.05.2016 15:08я к тому, какие ещё «плюшки» было бы замечательно получить)
webzuweb
23.05.2016 15:15Я думаю в целом удешевление на порядок — это уже плюшка.
Возможность при использовании ESP-8266 сделать приложение, которое через wi-fi будет открывать ворота без GSM.
То, что я описал для версии 2.0 — создание интеллектуальной системы, которая будет на основе номеров автомобилей из базы открывать сама ворота ит.д.
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
hoary
23.05.2016 15:15Припоминая недавние статьи про виртуальные сим-карты с возможностью подмены номера, не хотелось бы доверять двор такой системе.
webzuweb
23.05.2016 15:19Вы себе даже не представляете как уязвимы системы на 433 Мгц.
1)перепрыгнули, открутили корпус, замкнули эти контакты
2)перепрыгнули, открутили рейку
3)граббер сигнала
4)…
5)…hoary
23.05.2016 15:26Представляю, насколько уязвимы.
Добавление двусторонней шифрованной связи между пультом и модулем, отвечающим за открывание дверей, поможет в данном случае. Решения на nrf24 могут такое из коробки на уровне железа, благодаря чему работает связь например беспроводных клавиатур Logitech (да, я помню, как всю эту систему сломали, прикинувшись мышкой, но это был недодум проектировщиков, а не уязвимость шифрования).
В случае с модемом, можно было бы общаться с головным модулем по DTMF, вот только с neoway никак не вывести звук, насколько я смог понять.webzuweb
23.05.2016 15:48Когда я консультировался по вопросу безопасности с человеком, который профессионально ставит ворота я понял, что от
перепрыгнули, открутили рейку или разобрали привод
ничего не спасает.
Вот такой Man in the middle…
Kitsok
23.05.2016 17:54Могут, но не совсем, поскольку ключ к RSA тоже надо как-то генерить, а в условиях батарейного питания брелока, это — та еще задачка.
Eg0r0v
02.06.2016 11:29системы с домофоном и подключенным удаленным открыванием замка ещё уязвимее. достаточно открутить один винт и замкнуть два контакта.
Kitsok
23.05.2016 16:02Отличная идея!
У меня уже есть ворота, которые открываются брелоком и через веб-морду сервера «Умного дома», но не хватало ещё чего-то. А надо-то — USB-3G-свисток, Астериск (который там уже стоит, кстати) и симку. Спасибо большое за идею!
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 стек.
Вот это была бы полезная штука.AlexSam
23.05.2016 17:56+1Я думал над такой штукой, но опять же — в итоге потом получаем «бороду» из проводов потому что к нашему девайсу все равно подключаться только навесом.
Тут нужно решение типа GSM гейта во внутренюю сеть или же свою какую-нибудь сеть на базе nRF24 или чего-то такого.
Иначе смысла делать «еще одну борду только с GSM» нет.Kitsok
23.05.2016 18:03Вот полностью согласен, особенно насчет бороды. Сейчас и аппаратные средства и программные решения позволяют реализовать распределенную архитектуру. Тот же MQTT, хотя и он не без недостатков.
Kitsok
23.05.2016 18:02WirenBoard?
AlexSam
23.05.2016 18:07Только там цена кусачая
Kitsok
23.05.2016 18:14А сильно дешевле и не выйдет
AlexSam
23.05.2016 18:32Тут смотря как сделать девайс. Можно конечно налепить кучу всего и в прошивке заложиться на использование этого «всего» иначе работать не будет. А можно сделать некую «модульность» но уже на плате — т.е. нужен GSM — впаиваем. Нужна сеть — впаиваем.
Для гикпорн самое оно :)
Особенно если все будет опен (хард & софт)Kitsok
23.05.2016 18:35Попробуйте. У меня не получилось. Паять, на мой взгляд, вообще не вариант, а как только уходим от одной платы, начинаются габариты и дорогие разъемы.
mphys
23.05.2016 18:15+2Все равно кто то скажет что мне не хватает, а кто то скажет что для меня тут много лишнего.
beho1der
23.05.2016 21:02Подскажу еще одну идейку как можно проще авторизовывать людей для открытия ворота: На телефон ставиться специальная программка(название не помню под android точно есть), которая при подключении к wi-fi сети с определенным SSID делает GET запрос на сервер. Соответственно для того чтобы открыли ворота не надо даже доставать телефон, достаточно чтобы на нем был включен wifi модуль.
Kitsok
24.05.2016 16:57Мысль интересная, но у меня телефон все время висит на роутере, который в машине со мной ездит. Кажется, нужно как-то приделывать геопозицию, и выводить кусочек интерфейса умного дома в страшный интернет.
KonstantinSoloviov
23.05.2016 23:12Я не понял, целевая система включает Нурика или нет?
И еще вопрос:
Я подумал, как было бы удобно удаленно открывать ворота, которые находятся в 800 метрах от моего участка.
Кто будет закрывать? Точнее, кто будет отвечать за вмятину на крыше (на двери) машины в 800 метрах от участка.beho1der
24.05.2016 04:40В шлагбаумы обычно вмонтирован лазерный уровень, который не дает опустить шлагбаум если под ним находиться препятствие.
mummykbf
02.06.2016 11:27Кто как реализовал питание gsm-модуля? везде пишут, что очень каприза к величине напряжения — 3.3В мало, 5.0В много.
webzuweb
02.06.2016 11:29Импульсный модуль питания, но один модуль я сжег подав 5В.
Ничего не предвещает беды, на нем написано 5В.
Но вот 10 секунд и приятный аромат бьет тебе в нос, ясно давая понять, что тебя ожидает увлекательное месячное ожидание следующего модуля из Поднебесной.
chupasaurus
Open-source hardware — это не сборка конструктора с использованием кем-то разработанных модулей без возможности самостоятельного производства.
Настоящий open-source GSM-модуль (если бы он существовал) был бы запрещён в использовании на территории больше 140 стран, например.
webzuweb
Согласен, что из-за того, что термины накладываются не столь просто выразить идею.
Суть в том, чтобы сделать плату, на которую можно разместить Arduino и GSM модуль за 150 руб., а блок питания, реле и необходимая обвязка уже была на плате.
Maikesteps
Я (на пример) буду делать (для умного дома) плату с esp8266 + GSM модулем + бесперебойныком, для умного дома. Может и сюда запостю. Но что то делать опен соурс проект на этом смысла не вижу. Кто знает зачем это — сам знает как сделать.
Frimen3
А почему он был бы запрещен? Расскажите пожалуйста, стало интересно.
hoary
Очевидно потому, что без лицензии, которую без бэкдоров не дадут.
chupasaurus
Докуда смог добраться без глубокого гугления: в США запрещены радиоустройства, работающие с определенным набором частот и протоколов, среди которых есть GSM и CDMA, и к которым есть в свободном доступе полные схемы или исходники прошивок.
Shished
Вообще-то, такие проекты существуют.
https://en.wikipedia.org/wiki/OpenBTS
https://en.wikipedia.org/wiki/OsmocomBB
webzuweb
Спасибо за информацию!
Мне кажется я немного другие ключевые слова для поиска использвал.