Как стать автором
Обновить

Наш контроллер для умного дома

Время на прочтение 6 мин
Количество просмотров 154K
Блог компании Бесконтактные устройства


UPD: мы сняли работу Wiren Board Smart Home на видео

Краткое содержание:


На базе нашей платформы Wiren Board (компактный индустриальный компьютер с Linux и разными интерфейсами) мы сделали навороченный контроллер для домашней автоматизации Wiren Board Smart Home (ARM9 64MB RAM, GSM/GPRS, Ethernet, Wi-Fi, USB, 2xRS-485/Modbus, CAN, 2 реле, ASK/FSK радиомодуль 433MHz, NRF24L01+ и т.д.), к которому можно подключить кучу всяческих проводных и беспроводных исполнительных устройств и датчиков от разных систем и производителей. Устройство готово и протестировано. На устройства из первой большой партии мы открываем заказ с доставкой до майских праздников по специальной цене.
Читать дальше →
Всего голосов 93: ↑87 и ↓6 +81
Комментарии 132

Погодная станция на Ethernet (HTTP+Modbus) с питанием по POE

Время на прочтение 13 мин
Количество просмотров 66K
DIY или Сделай сам
Доброго времени суток хабр-сообщество.
С момента моего последнего поста про умный дом прошло много времени. Я решил его делать начиная с погодной станции.


Рисунок 1 — Фотография макетного образца

Несмотря на обилие статей про погодные станции на arduino (http://habrahabr.ru/post/165747/, habrahabr.ru/post/171525, habrahabr.ru/post/213405 ) Я все-таки решил опубликовать своё решение.

Функционал


Функции которые она выполняет:
  • Измерение температуры
  • Измерение влажности
  • Измерение давления
  • Измерение освещенности
  • Индикация измеренных параметров
  • Выдача измеренных параметров по интерфейсу HTTP в виде XML документа
  • Выдача по протоколу HTTP XSLT процессора для стилизации XML при отображении браузером
  • Выдача информации по Modbus (его предполагаю использовать в качестве протокола управления умным домом)
  • Питание через Passive POE

Читать дальше →
Всего голосов 42: ↑38 и ↓4 +34
Комментарии 35

Modbus-RTU на скриптах

Время на прочтение 4 мин
Количество просмотров 23K
JavaScript *
Из песочницы

Аннотация


Здесь описан способ реализации протокола Modbus-RTU при помощи shell-скрипта и обвязки в виде js-кода. Обсуждаемый метод может быть использован для реализации других потоковых протоколов, где нужно оперировать массивами байт в ограниченном окружении (роутер).



Идея в трёх строчках


Для нетерпеливых показываю основную идею:

printf "\x00\x03\x00\x00\x00\x01\x85\xDB" > $tty
( dd if=$tty of=$ans count=256 2> /dev/null ) & /usr/bin/sleep $timeout; kill $!
echo "[`hexdump -ve '1/1 "%d,"' $ans | sed 's/\(.*\),/\1/'`]"
Читать дальше →
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 1

Разработка и тестирование модуля АСКУЭ

Время на прочтение 15 мин
Количество просмотров 13K
Тестирование IT-систем *Delphi *Промышленное программирование *


АСКУЭ – Автоматизированные Системы Контроля и Учета Энергоресурсов. В задачи подобных систем входит сбор данных с приборов учета энергоресурсов (газ, вода, отопление, электричество) и предоставление этих данных в удобном для анализа и контроля виде.

Так как такие системы вынуждены иметь дело с множеством самых различных устройств и контроллеров, чаще всего они построены по модульному принципу. Не так давно меня попросили написать модуль для подобной системы, осуществляющий связь с одним из приборов учета (счетчик электрической энергии трехфазный электронный ЦЭ2753).

По ходу повествования Вам будут встречаться выделенные подобным образом комментарии. Единственная их цель – чтобы Вы не заснули в процессе знакомства со статьей.


Давно хотелось применить автоматизированное тестирование. Я посчитал, что сейчас как раз удобный случай. Почему я так решил?
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 26

Как мы строили систему аварийной сигнализации дата-центра

Время на прочтение 8 мин
Количество просмотров 21K
Блог компании Embox Разработка веб-сайтов *Промышленное программирование *
Из песочницы
image
Так получилось, что в команде проекта Embox у меня больше всех опыта в области АСУ: на предыдущем месте работы я разрабатывал промышленные контроллеры. Поэтому не удивительно, что когда возникла задача сделать систему автоматического управления светодиодами в датацентре, именно меня попросили проработать архитектуру проекта. Изначально планировалось закупить готовые контроллеры удаленного управления портами ввода-вывода, но после более тщательной проработки требований стало ясно, что для заказчика более предпочтителен вариант разработки заказного контроллера. Собственно его вы и видите на фотографии.
Тем, кому интересно узнать о том, на какие грабли мы наступили, как выглядят взорвавшиеся микросхемы, как правильно подключать землю на DC/DC конвертере, ну и, конечно, почему мы применили наш проект, прошу под кат. Осторожно, много картинок!
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 20

Наши устройства для управления освещением в умном доме

Время на прочтение 6 мин
Количество просмотров 50K
Блог компании Бесконтактные устройства
image

Привет!


Почти год назад мы впервые представили наш контроллер для автоматизации — Wiren Board Smart Home. Скоро мы запустим продажи его новой версии — Wiren Board 4, а сегодня расскажем про два наших новых устройства из класса бюджетной проводной периферии для домашней автоматизации.

Для создания умного дома одним центральным контроллером не обойтись: требуются еще некоторые исполнительные устройства.
Контроллер Wiren Board ранее позиционировался как универсальный центр умного дома, который управляет исполнительными устройствами сторонних производителей.
Однако стало понятно, что для бюджетных инсталляций выбор периферии оказывается очень ограничен, и особенно остро проблема стоит, как ни странно, в самой распространённой области домашней автоматизации — в управлении освещением.

Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 127

Wiren Board 4 — контроллер для автоматизации

Время на прочтение 4 мин
Количество просмотров 60K
Блог компании Бесконтактные устройства
image

Год назад мы выпустили контроллер Wiren Board Smart Home. Благодаря невысокой цене и широким возможностям он имел успех среди энтузиастов.

Поэтому мы решили не останавливаться и выпустили новую версию — контроллер для автоматизации Wiren Board 4, к которому написали и новый софт.

Несмотря на название, покупатели часто использовали Wiren Board Smart Home и для совсем не “домашних” задач: сбора климатических параметров, опроса счётчиков и датчиков, удалённого контроля оборудования — то есть в качестве универсального логического контроллера.

Wiren Board 4 (как в железе, так и в ПО) лучше приспособлен для таких задач. Домашних пользователей это тоже коснулось — контроллер стал надёжнее.
Читать дальше →
Всего голосов 50: ↑47 и ↓3 +44
Комментарии 82

Первые шаги к умной бане

Время на прочтение 4 мин
Количество просмотров 27K
Блог компании Tibbo Промышленное программирование *
В своих первых статьях на хабре мы пообещали рассказывать о конкретных проектах, в которых применяется наша система. Идей очень много, но начать мы решили с рассказа об одном из наших внутренних DIY-проектов:

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


Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 7

Как собрать умный дом

Время на прочтение 5 мин
Количество просмотров 54K
Блог компании Бесконтактные устройства


Всем привет, с вами команда Wiren Board!

Нас часто спрашивают: «Что можно подключать к вашему контроллеру? Как на нём собрать “умный дом”?»
Чтобы немного прояснить этот вопрос, мы покажем стенд, где к Wiren Board 4 подключены периферийные устройства. На его примере расскажем про типовые варианты подключения устройств и датчиков.

На стенд можно посмотреть на него через онлайн-трансляцию и зайти в демонстрационный веб-интерфейс.
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 40

Arduino -> FLProg -> RS-485 -> Modbus

Время на прочтение 4 мин
Количество просмотров 65K
Блог компании FLProg SCADA *

Вышла новая версия программы FLProg c номером 1.9.1. Я подумал что нововведения в программе заслуживают освещения на хабре.Так же расскажу немного теории о протоколе Modbus и особенностях его реализации на борту Arduino.
Если интересно, читаем дальше
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 2

Создание загружаемых модулей Zabbix на примере добавления протокола Modbus

Время на прочтение 8 мин
Количество просмотров 34K
Блог компании Zabbix Open source *SCADA *
Еще в версии Zabbix 2.2 добавились загружаемые модули, которые позволили расширять на новом уровне возможности системы. «Зачем это нужно?», — спросите вы, ведь запускать внешние скрипты и программы из Zabbix можно было всегда. Конечно, в первую очередь это скорость — модули, как и сам Zabbix, пишутся на C и при правильном подходе работают максимально быстро, в отличие от внешних программ, которые требуется запускать на каждый опрос. Многих может напугать необходимость писать код, но сегодня я хочу показать вам, что все не так уж и сложно.

Для примера, напишем модуль, который позволит Zabbix собирать информацию с устройств, работающих по широко распространённому в мире протоколу промышленной автоматизации — Modbus и снимем при помощи него показания температурных датчиков, а также получим параметры электроэнергии с счетчика Меркурий 230. В конце разместим наш модуль на портале share.zabbix.com, где пользователи могут делиться своими наработками по Zabbix.


Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 16

Путь от прототипа до промышленного IoT-продукта

Время на прочтение 6 мин
Количество просмотров 10K
Блог компании Intel Разработка веб-сайтов *Разработка для интернета вещей *
Перевод


Проекты на основе Intel Galileo и Intel Edison в основном представляют собой прототипы устройств. Часто на этом и заканчивается. В данной статье будет рассмотрен полный путь от прототипа до промышленного решения на основе Intel Gateway. Это будет система для контроля температуры внутри фургона.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 0

Управление офисным освещением по Wi-Fi. Часть 3: Управляем светом

Время на прочтение 10 мин
Количество просмотров 9.1K
Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *


Сегодня мы, наконец, завершим данный цикл, соединив знания и наработки, полученные в первой и второй частях: будем управлять офисными светильники с помощью сенсорных кнопок по Wi-Fi, используя протокол ModBus TCP через шлюз ModBus-DALI.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

Реализация MODBUS RTU сервера с помощью интерфейсного модуля Fastwel и программного обеспечения CoDeSys

Время на прочтение 6 мин
Количество просмотров 21K
Разработка веб-сайтов *Программирование *Промышленное программирование *SCADA *
Recovery mode
Из песочницы
В данной статье рассмотрена интеграция программируемого логического контроллера CPM713 компании Fastwel, работающего на базе протокола MODBUS TCP, с панелью оператора Weintek, поддерживающей последовательный вариант протокола MODBUS RTU/ASCII, с помощью интерфейсного модуля NIM742 и готовой библиотеки адаптированной среды CoDeSys для Fastwel.

Промышленные протоколы на базе сетей Ethernet приобретают все большую популярность. Использование данной технологии в промышленных системах имеет преимущества, например, возможность гибкой модернизации и масштабирования системы, простоту построения архитектуры и невысокую стоимость создания сетей [1]. Однако внедрение новых технологий в область АСУ ТП происходит достаточно медленно, поэтому до сих пор многими устройствами используются традиционные промышленные сети на базе последовательных шин.

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

Так, контроллер CPM713 компании Fastwel использует для передачи данных протокол MODBUS TCP на базе сетей Ethernet [2]. При работе с данным контроллером возникла задача передавать и получать данные с панели оператора MT6100i компании Weintek, поддерживающей последовательный протокол MODBUS RTU/ASCII (рис. 1).
Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 1

Простой расчет контрольной суммы

Время на прочтение 12 мин
Количество просмотров 194K
Промышленное программирование *Программирование микроконтроллеров *
Из песочницы
При передачи данных по линиям связи, используется контрольная сумма, рассчитанная по некоторому алгоритму. Алгоритм часто сложный, конечно, он обоснован математически, но очень уж неудобен при дефиците ресурсов, например при программировании микроконтроллеров.



Чтобы упростить алгоритм, без потери качества, нужно немного «битовой магии», что интересная тема сама по себе.
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 26

Arduino+Modbus+MasterScada

Время на прочтение 2 мин
Количество просмотров 29K
SCADA *Программирование микроконтроллеров *
Решил создать союз между arduino и Master Scada.

Почему именно Master Scada? Отвечу: Master Scada работает через собственный OPC сервер имеющий множество настроек, что позволяет хорошо рассмотреть процесс опроса каналов, ну и он бесплатный на 32 канала).

Для теста воспользовался двумя ультразвуковыми дальномерами HC-04 и платой arduino uno.

Передачу осуществил по протоколу modbus.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 13

Портирование FreeModbus 1.5 под STM32 HAL rs485 без RTOS

Время на прочтение 15 мин
Количество просмотров 63K
C *Программирование микроконтроллеров *
Из песочницы
С недавних пор я начал заниматься встраиваемыми системами и докатился до программирования микроконтроллеров, а именно STM32F373. Одной из задач было развернуть Modbus Slave RTU поверх интерфейса rs485.

Поскольку сроки поджимали было принято решение взять что-нибудь готовое, чем я и занялся. Недолгое гугление навело меня на библиотеку FreeModbus, а вот тут началась боль с которой, я надеюсь, вы не столкнетесь.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 19

Программное обеспечение для тестирования и наладки устройств и сетей на базе MODBUS

Время на прочтение 10 мин
Количество просмотров 220K
Тестирование IT-систем *
Из песочницы

image


Протокол Modbus довольно распространен как в промышленных системах автоматизации, так и сетях систем типа "Умный дом", автоматизации малых объектов (теплицы и т.п.) и стыковки различного оборудования с домашним компьютером. Появление таких проектов как Arduino и Raspberry Pi значительно повысило интерес к задачам, связанным с робототехникой, автоматикой и автоматизацией. Все это обеспечивает рост популярности Modbus среди любителей и профессионалов. В статье рассмотрен вопрос тестирования и наладки, как отдельных устройств, так и сетей на базе протокола Modbus с позиции требований к программному обеспечению для решения таких задач и обзора существующих инструментов.

Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 60

О протоколе Modbus и Intel Edison

Время на прочтение 4 мин
Количество просмотров 13K
Блог компании Intel Программирование микроконтроллеров *Разработка для интернета вещей *
Перевод
Modbus – это широко известный коммуникационный протокол, который нашёл применение и в промышленности, и в любительских проектах. На физическом уровне для организации связи между устройствами по этому протоколу могут использоваться последовательные интерфейсы (RS232 или RS485) или Ethernet (здесь задействованы протоколы TCP или UDP). Сегодня мы поговорим о том, как организовать взаимодействие Intel Edison с другими устройствами с помощью Modbus.

Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 6

Опыт разработки управляющего ПО для квеструма

Время на прочтение 8 мин
Количество просмотров 7.6K
C++ *Qt *
Последние год-полтора пользуются большой популярностью т.н. квеструмы, квесты «выйди из комнаты» реализованные в реальной жизни. Когда я ходил на первые квесты, большая часть задачек сводилась к поиску ключей и кодов для механических замков, магнитные замки были чем-то крутым и редким, не говоря уже о беспроводных интерфейсах, но чем дальше, тем более технически сложным становится это развлечение. В конце зимы мой друг, работающий в одной из таких контор, попросил помощи в написании управляющей программы для одного из их квестов, поскольку у них слился программист и начали гореть сроки. Задача была интересной, деньги неплохими, да и хорошего человека выручить не грех, поэтому я согласился, хоть и обидно было понимать, что на этот квест я не пойду, так как буду знать весь его сценарий. Сроки изначально ставилися очень сжатые, поэтому для разработки я выбрал привычную среду С++\Qt5.5.
Быстро стало понятно, что я совершил большую глупость, взявшись за работу с не очень хорошо прописанным тз, но подозреваю, что эту ошибку так или иначе совершал каждый, поэтому смысла о ней писать никакого, это не подводный камень, это самые обычные грабли.

С аппаратной точки зрения управляемая часть квеста выглядит следующим образом:
  • Основной компьютер, стоящий в операторской, на котором работает программа
  • Две звуковые карты в нём, к каждой из которых подключено по 5 колонок
  • Телевизор, подключенный вторым экраном
  • Два USB-свистка, являющиеся переходниками с USB на COM-интерфейс
  • Пачка диммеров и релейников, управляемых по MODBUS


В первичной постановке задача выглядела довольно простой, читать данные по MODBUS, писать данные по MODBUS, в нужные моменты проигрывать звук в нужную колонку и видео на второй экран. Как показала практика, всё это действительно делается не очень сложно. Но вот понять, как это сделать не очень сложно — уже не столь банально.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 6