Коняев И.А. Система беспроводного мониторинга на базе технологии моб. интернета.

Автор lexer147, Понедельник, апреля 03, 2017, 06:04:31

« предыдущая тема - следующая тема »
Вниз

lexer147

Понедельник, апреля 03, 2017, 06:04:31 Последнее редактирование: Понедельник, апреля 10, 2017, 03:03:36 от lexer147
Тема доклада: Система беспроводного мониторинга на базе технологии мобильного интернета.
Исполнитель: студент гр341-об Коняев Игорь Александрович


   Проблема
   Необходимо осуществлять быстрый мониторинг удаленного объекта (вид не имеет значения) с передачей данных средствами мобильного интернета (3G, 4G). Под словом "мониторинг" я подразумеваю следующее:
  • Сбор показателей с датчиков и формирование статистики в виде графиков (сутки, неделя, месяц);
  • Управление исполнительными механизмами через приложение на смартфоне;
  • Оповещение об авариях на объекте.

   Аппаратная составляющая
   Сразу скажу, что решил отказаться от привычных аппаратных решений (Овен, Siemens и др.), которые обычно применяются при разработке систем автоматизации. Было интересно взять более доступную и дешевую электронику и поработать с ней.
  Предполагается, что готовая установка сможет измерять показания атмосферного давления, влажности воздуха и температуры внутри и снаружи помещения. Т.к. пока проект находится на стадии рабочего прототипа, роль исполнительных механизмов на себя взяли светодиоды. Будем считать, что мы управляем 2-мя лампами освещения и вентиляцией.

   Сенсор температуры и влажности воздуха DHT11.
   
   Цифровой датчик с диапазонами измерения температур: от 0 до +50 градусов по Цельсию. Влажность: от 20 до 100%.
 
   Сенсор атм. давления и температуры BMP280.
   
   Цифровой датчик с диапазонами измерения температур: от -40 до +85 градусов по Цельсию. Давление: от 300 до 1100 hPa.

   Одноплатный компьютер Raspberry Pi 2 Model B.
   
   То, что сегодня можно назвать портативным устройством, включает в себя ARM-процессор. Это сегмент потребительской портативной электроники, начиная от калькуляторов и заканчивая некоторыми моделями ноутбуков. Процессоры обрели свою популярность из-за низкого энергопотребления и относительно низкой цены. Здесь можно почитать подробнее об архитектуре.
   Raspberry, задействованный в проекте имеет 4-ядерный процессор ARM Cortex-A7 с тактовой частотой 900 Мгц, 1 Гб ОЗУ, 4 USB, Ethernet и HDMI. Так же у устройства есть свои порты ввода/вывода (27 дискретных + питание и заземление). Ниже на картинке или по ссылке более подробно.

   
 
   Программная составляющая
   Raspberry (малина) - полноценная Linux-машина. Для ARM существует множество дистрибутивов, установив которые raspberry превращается в игровую приставку или в станцию по слежению за спутниками. В моем случае используется Raspbian Jessie, базирующийся на Debian. Не буду описывать все тонкости установки и настройки ПО, лишь назову основное.
   Через приложение Telegram управляем системой. Для написания серверной части использовался Python, СУБД PostgreSQL для хранения данных. Сервера компании Telegram являются прокси между пользовательским приложением Telegram и сервером Raspberry. Используя такую схему нет надобности арендовать статический ip. К малине достаточно подключить беспроводной USB-модем и обеспечить выход в интернет. Скрипт на малине будет опрашивать сервер Telegram на наличие изменений и реагировать по заданной логике. Изображения ниже показывают, как все выглядит в готовом виде на персональном компьютере и на смартфоне.

   
   
   

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

ran

1. Увеличьте шрифт, пожалуйста, это не трудно даже не в Debian.
2.Сколько стоит "малина"?
3. Как выполнить сопряжение "малины" с такими "кактусами", как магнитные пускатели и т.д.?

lexer147

#2
Вторник, апреля 04, 2017, 09:22:33 Последнее редактирование: Вторник, апреля 04, 2017, 10:14:37 от lexer147
1. Увеличьте шрифт, пожалуйста, это не трудно даже не в Debian.
2.Сколько стоит "малина"?
3. Как выполнить сопряжение "малины" с такими "кактусами", как магнитные пускатели и т.д.?
Цена компьютера: от 2000р до 3500р. Зависит от модели и магазина.
Способы подключения пускателей и реле к малине не отличаются от подключения их же к "Овеновским" ПЛК или к др. Через дискретные порты ввода/вывода. Аналоговых портов нет, АЦП и ЦАП подключается отдельно по надобности.

ran

Способы подключения пускателей и реле к малине не отличаются от подключения их же к "Овеновским" ПЛК или к др. Через дискретные порты ввода/вывода. Аналоговых портов нет, АЦП и ЦАП подключается отдельно по надобности.
Выходные дискретные устройства у малины - это реле?

knoppix

Было интересно взять более доступную и дешевую электронику и поработать с ней.
Какие альтернативы вы рассматривали (кроме Raspberry Pi), те которые подходят под определение доступной и девой электроники?
Необходимо осуществлять быстрый мониторинг удаленного объекта (вид не имеет значения) с передачей данных средствами мобильного интернета (3G, 4G).
А если место без хорошей и стабильной связи связи?
Амурский Государственный Университет  - 2010 - Специалист
Harbin Institute of Technology - 2016 - M.Sc.Eng
Главный инженер-программист АСУ ТП

lexer147

#5
Четверг, апреля 06, 2017, 09:58:30 Последнее редактирование: Четверг, апреля 06, 2017, 10:08:25 от lexer147
А если место без хорошей и стабильной связи?
В исключительной ситуации, при которой происходит разрыв связи пользователь пока не информируется. Сервер уходит в ожидание на несколько секунд и пытается восстановить сеть заново. Если грубо, то можно просто перезагружать систему после нескольких неудачных попыток. Это работает, но мне не нравится. Тестировал со слабым интернетом (320 кбит/с), проблем особых не было, да и не нужен быстрый интернет для HTTP-запросов.
Если малина теряет сеть и восстанавливает соединение через некоторое время, то запросы все равно обрабатываются. Из приложения запросы приходят только на "Телеграмовский" сервер, а малина уже сама забирает эту очередь оттуда, когда будет готова.
Не знаю, как это на удалении от нас. пунктов будет работать, все от сигнала зависит. За городом, обычно, сеть проседает до EDGE со скоростью до 400 кбит.

knoppix

А ответ на первый вопрос :) RaspberryPi это хорошо и круто, но все же.
И далее:
1) Вопрос автономности?
2) Безопасность? В Китае телеграмм не работает, поэтому если честно с ним практически не знаком:) И по поводу очереди? Она как-то ограничена, не получиться ли просто заспамить запросами плату?
Амурский Государственный Университет  - 2010 - Специалист
Harbin Institute of Technology - 2016 - M.Sc.Eng
Главный инженер-программист АСУ ТП

lexer147

А ответ на первый вопрос :) RaspberryPi это хорошо и круто, но все же.
И далее:
1) Вопрос автономности?
2) Безопасность? В Китае телеграмм не работает, поэтому если честно с ним практически не знаком:) И по поводу очереди? Она как-то ограничена, не получиться ли просто заспамить запросами плату?
0) Не увидел первый вопрос, извиняюсь, отвечаю. На самом деле, было рассмотрено очень много альтернатив. Сначала была связка Овен ПЛК150 и обычного ПК. ПК должен был выполнять роль веб-сервера. 2 модема Овен ПМ01 к ПК и к ПЛК. На модеме у ПК сим-карта со статическим IP, а передача данных по Modbus TCP/IP. Позже была идея заменить ПК на удаленный сервер и преобразовывать данные с ПЛК библиотекой mod4j, написанной на Java.
Потом на глаза попалось семейство мини-компьютеров Raspberry Pi. Среди альтернатив были и контроллерные платы Arduino и megaAVR, но были отложены в сторону, т.к. нет возможности хранить данные в БД, ограниченность в количестве библиотек и вообще невозможность создать из них веб-сервер. Мини-компьютеры такие как Banana Pi, Raspberry Pi, Cubieboard4 имеют достаточно мощную начинку, чтобы быть веб-сервером и контроллером одновременно, чего только linux для ARM-процессора стоит. Здесь, здесь и здесь можно узнать про альтернативы.
1) Да, аппаратная и программная защиты в любом случае должны быть (оповещение об авариях и защ. от скачков напряжения). Режимы автоматического управления (вкл вентиляции от влажности и др.) еще нужно дорабатывать.
2) Телеграмм безопасен, не зря же его в Китае заблокировали, но это про секретные чаты. Обычные чаты со спец. программ можно читать. К диплому сделаю регистрацию и вход в чате, над этим еще думаю.
3) Изначально библиотека на питоне многопоточна, заспамить можно только через запросы к БД, да и там пулы соединений в помощь. Ну и длину общей очереди можно ограничить, чтобы нагрузку снять.

knoppix

Это вы зря "Среди альтернатив были и контроллерные платы Arduino и megaAVR, но были отложены в сторону, т.к. нет возможности хранить данные в БД, ограниченность в количестве библиотек и вообще невозможность создать из них веб-сервер.", вообще возможно. Но я в первую очередь рассматриваю сам МК и его возможности и производительность.
Амурский Государственный Университет  - 2010 - Специалист
Harbin Institute of Technology - 2016 - M.Sc.Eng
Главный инженер-программист АСУ ТП

IkaR_RUS

практического применения система конечно не получит, ибо это все максимум для собственного применения, но все равно забавно.
на лицо проделанная работа и стремление к познаниям, но для диплома, также как и для доклада аргумент:

сразу скажу, что решил отказаться от привычных аппаратных решений (Овен, Siemens и др.), которые обычно применяются при разработке систем автоматизации. Было интересно взять более доступную и дешевую электронику и поработать с ней.

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

я думаю надо продвигать что-то типа: при прохождении практики в ИП "Рога и копыта" была поставлена задача развить систему на базе Raspberry Pi, занимающуюся сбором данных на стационарном объекте и сделать систему пригодную для мобильного объекта, находящегося удаленно от базы и т.д. и т.п.)

ran

Все поздравим Игоря Александровича! Он написал статью (тезисы доклада) и будет выступать на XVIII региональной научно-практической конференции «Молодежь XXI века - шаг в будущее».

Вверх