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

Комментарии 52

Вот тоска меня гложет, когда читаю такие статьи. То вот Z-Way, то domoticz, то openhab, то просто MQTT брокер, вот теперь DeviceHive. Вот Высоцкий абсолютно точно описал мои чуства

В кабаках — зеленый штоф,
Белые салфетки.
Рай для нищих и шутов,
Мне ж — как птице в клетке!
В церкви смрад и полумрак,
Дьяки курят ладан.
Нет! И в церкви все не так,
Все не так, как надо.

Накупил девайсов z-wave, а на контроллер тратить 200-300 баксов жалко — купил Razberry, малинку, поставил z-way. Вышло в сотку и кучу потраченных человекочасов. Z-way простенький, расширяемый, но глючит. В каждой версии свой глюк. Автоматизация сложная до ужаса. Клиент на андроид не очень так скажем. Одним словом «Рай для нищих и шутов».

Перешел на domoticz — тормозит
Перешел на openhab, красиво, клиент получше, тормозит, местами глючит, а почему не понять «В церкви смрад и полумрак».

Вот сейчас сижу и читаю про DeviceHive и думаю оно мне надо? Вроде получается просто адаптер между микросхемой и DBUS? В чем смысл? Не, мне все понравилось. Я так думаю можно много девайсов понаделать. Дешевле чем тот же z-wave получается. Только как всем этим добром потом управлять? Нужно так же к openhab подключать или есть свое что то на подобие? С универсальным интерфесом (dashboard или типа того), для андроида или просто в бровзере?

Вебстраница DeviceHive как то неинформативна на мой взгляд.
Пробовал, красиво, я уже жаловался про горизонтальный режим, ридонли режим (решаемо, знаю) и страшную зеленую полоску сверху которую вы за деньги убираете. :)
Ну горизонтальный режим мы врятли когда-то сделаем. Слишком много усилий, к сожалению.
Не нашёл на сайте цен…
Приложение бесплатное. Есть лимит на виджеты в бесплатной версии. Если не готовы платить можно поставить локальный сервер, там полный безлимит.
Про «полный безлимит». Я поставил сервер, подключил приложение, но лимит на элементы управления остался. 1000 кажется. Так и так придется покупать? Если я докуплю кнопкомест это на мой google аккаунт или только на проект?

Зайдите в админку. Там вс есть.
А все так там. Админка что то не работает. :( В логе вроде бы пишет, что на 7443 порту запущенна

HTTPS Admin UI server listening at 7443 port.

https://192.178.168.34:7443/admin что то не отвечает, и в логах ничего не видать, хотя трасировку включил.

Путь к админке не менял. Сертификаты как написанно сгенерил и указал. К локальному серверу подцепил NodeRED по вебсокетам, в приложении создал проект. Все работает. Могу девайсами управлять. А вот админка не хотит. Ладно, буду разбираться. Спасибо
Разобрался, я забыл разрешить доступ с других адресов. Добавил энергии. Еще раз спасибо.

Или Iobroker. Драйвер для zwave сейчас как раз переписывается

Данная прошивка — это адаптер между микросхемой и сервером DeviceHive. Можете управлять всем централизовано с сервера. Более подробная техническая документация о серверной части находится в этом разделе — http://devicehive.com/restful/. Начиная с последней версии прошивки(0.5) это еще дополнительно и адаптер между микросхемой и локальным REST сервисом.
Вы еще упомянули об адаптере в DBUS. Такое у нас тоже есть. IoT-Toolkit, он же IoT-Framework. Он предназначен для работы на более мощных платах с ОС Linux. Он как раз является адаптером различных интерфейсов в DBUS. Его можно найти здесь — https://github.com/devicehive/IoT-framework
На фото один из популярных вариантов реализации платы разработчика для ESP8266

Только начинаю вникать в IoT потому немного запутался в терминологии и названиях. То что, вроде, понял:
DeviceHive — ваша прошивка;
NodeMCU — еще прошивка, одна из самых популярных;
… все это ПО для микросхемы|чипа|микроконтроллера ESP8266;
ESP-01 — плата с запаянным ESP8266 (без блока питания и прошивалки).

Как называется плата на вашем фото, а значит, как её купить — не понял. Есть ли в плате доп. флеш память (в самом чипе как я понимаю её крайне мало) и возможно ли её расширять без модификаций прошивки? Как я понимаю плата может быть практически любая для заливки DeviceHive? Или есть ограничения? Или плата проектируется конкретно под проект\прошивку? Подобные недорогие платы с этим чипом бывают с поддержкой фото\видеокамер в качестве одно из видов датчиков?

В чем разница между DeviceHive и NodeMCU?
Бери сразу https://ru.aliexpress.com/item/Smart-Electronics-NodeMCU-32S-Lua-WiFi-Internet-of-things-development-board-serial-port-WiFi-module-is/32758802288.html?detailNewVersion=&categoryId=400103
ESP32 — конечно круто и более современно чем ESP8266, но для многих задач слишком избыточно как по цене так и по функционалу. Но все равно спасибо за ссылку. Чисто визуально плана на картинке из статьи похожа на 4 долларовую ESP12E https://ru.aliexpress.com/item/V3-Wireless-module-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-esp/32647542733.html
Там установлен чип ESP32. Это следующее поколение Wi-Fi-чипов с более мощным процессором. Данная прошивка не совместима с такими.
NodeMCU тебе надо еще запрограммировать, что бы сделать доступным по http к примеру. Я к примеру писал маленький скрипт, который получает номер пина по http и дергает соотвествующий пин. Я как понимаю с DeviceHive ничего этого писать самому не надо. Только залить прошивку. Ну плюс еще всякие добавки. Мне лично дальше непонятно. Как этим добром всем управлять? Умный дом, он потому и «умный», что отличается умом и сообразительностью. Есть ли какой то реальный или выдуманный сетап, что бы посмотреть?

Я к примеру имею zwave устройства, есть пару NodeMCU устройств, есть «датчики» погоды, положения солнца, облачности итп. Все это скрученно в [z-way сервер] -> [mqtt] < — [node red]. Возьму я еще горсть ESP8266, залью втуда DeviceHive, куплю еще малинку, поставлю убунту. А дальше?
Ну я потому и отреагировал на эту статью потому что увидел что в DeviceHive запрограммлен сервер, что упрощает стартап познания IoT.

Для меня лично главное разобраться с железом (купить, подключить, настроить, запрограммить и прошить). Придумать и реализовать уже «ум» для дома, думаю у меня не возникнет проблем… настроить на сервере демон опрашивающий состояние датчиков + запрограммить скрипты поведения в зависимости от изменения состояний датчиков или в зависимости от настроенных графиков по времени что бы отдавать команды на исполняющие устройства. Перовое например с чего хочу начать умофикацию дома и заодно разобраться с железом для будущих поделок — сделать управление ТВ(а потом и другой техникой) по IR каналу… для этого хочу подобрать плату и к ней IR датчик + светодиод… ну и релюху для тестов, а то покупать и ждать железяки и в итоге мигать светодиодом даже как то не интересно, сходу нужно иметь реальный сценарий который буду реализовывать.
Оно кажется, взял и написал скрипты и дом стал умным. Чем больше железяк понапиханно встены, тем больше вероятность, что что-то сломается. Надо выковыривать, перепрошивать или перенастраивать. Нелегко. Потом на чем писать скрипты? Как их интегрировать между собой? Софт он такой, что нибудь в ъём да не так. Я до сих пор не наткнулся на комплексное решение, которое меня бы удволетворило. Мир несовершенен. Тот же openhub вро де бы и хорош, но тормозит, по крайней мере на моей банане пи. И сложен. Сами разработчики по мойму с бубнами над ним ворожат. И так любое решение. Ни одного нормального приложения для телефона из области IoT не нашел, которое меня на сто процентов бы удовлетворило. Хочется простого, что бы и жене понятно было. Действительно нормальные решения стоят много денег. Самому — если не вундеркинд, придется очень много времени вкладывать. В итоге получите кучу умных розеток, за которыми глаз да глаз нужен, а дом как был тупым, так и останется.

Поставил вот термостат умный на батарею в кухне, недели три как. Сам регулирует температуру в помещении. Жена до сих пор думает, что он сломался.
Ну индустрия интренета вещей только-только зарождается. Вполне закономерно, что еще нету совершенных решений. Со временем все будет. Мы тоже работаем на этим :).
Боятся в лес не ходить. Да и ковыряться и разрабатывать что то новое тоже весело и интересно, хобби но еще и польза в перспективе будет. Для меня главным критерием что бы в железо не много вкладывать, вот например, года три-четыре назад хотел начать — но толи в вопросах железяк цены были побольше, толи еще сам не готов еще был. А тут почитал про DeviceHive и заинтересовался и таки решил попробовать.
Да я не отговариваю, упасибог. Мне самому ужас как интересно. Я раньше также много заходов делал. Меня пугал объем работ с железом. Даже когда ардуины всякие появились. А недавно на мониторе сломался джойстик с кнопками управления, то-есть не включить, не выключить, не переключить вход. Вот тут я и решился. Купил NodeMCU, плюс блок реле для ардуинки и набор проводов для макетирования. Все! Разобрал монитор, нашел на плате 3.3В которые и в стандбае присутствуют, подпаял провода к контактным площадкам кнопок, воткнул в реле. Реле подключил к платке, нашел примеры на LUA и написал скрипт, который по http принимает номер пина и передергивает этот пин. Строк 20 копипасты. Собрал монитор и все работает! Могу по вайфаю монитором управлять. Самое сложное было монитор разобрать.

Проблемы потом начинаются. Как тот же монитор интегрировать? Сейчас полного всякого софта, я перечислял в начале. Но все альфа на мой взгляд. Сейчас остановился на MQTT, Node RED, z-way. Туда же и монитор подключил, и свои z-wave устройства. Пока что в поисках красивого, простого и быстрого интерфейса ко всему этому.

DeviceHive выглядит красиво, можно будет попробовать.Только придумать, что еще автоматизировать. Думаю про кошек, информировать когда они на террасу приходят, что бы им дверь зимой открывать, да стиралке с сушилкой ума прибавить. О
Ну мне кажется при достаточном уровне владении программированием можно любую задачу решить, если конечно она не выходит за рамки возможностей железа, если с программированием слабо то тут конечно появятся затыки и либо искать готовые куски кода\решения либо учить мат часть либо опустить руки. Я для себя пока даже не рассматриваю вариант что бы брать некие готовые решения в которые интегрировать железяки, хочу попробовать скомпилить пару тройку железок и если выйдет то взяться за разработку своего сервера под весь парк запрограммированных железяк — будет долго но зато интересно чисто для себя. Просто еще пугают возможные варианты взлома софта от крупных разработчиков, ведь могут ломать целенаправленно не только продвинутые злоумышленники в целях ограбления используя постоянно появляющиеся дыры в популярном софте, но и тупо вирусня в автоматическом режиме при сканировании сети.

Что же касается готовых сценариев то могу предложить изучить раздел дабы вдохновится хотя бы азами возможных действий умного дома, мне кажется там предлагаются вполне реальные варианты сценариев. Графика и подача лично мне понравилась и очень хорошо вдохновила как в софтовом плане так и аппаратном… правда цены у них явно не кислые. Как альтернатива видел тут на гиктаймс ребят которые делают подобную умную розетку-прокладку, возможно у них получится и будет дешевле.
Извините, что старую тему поднимаю. А вы в сторону OpenRemote не смотрели? Там можно свой интерфейс нарисовать под любое устройство, будь то планшет, телефон или компьютер. И довольно прост, мне как не программисту было легко разобраться. И поддержка неплохая
Нет, не смотрели, но обязательно глянем.
На вашем примере горсти esp8266+raspberry pi, вы можете подключать все ваши датчики и исполнительные устройства к esp8266. Затем написать приложение для raspberry pi, которое будет ходить по REST-сервисам чипов в локальной сети и исполнять бизнес-логику всего комплекса. Можно вообще без raspberry pi, разместив сервер DeviceHive где-нибудь в интернете, чипы смогут подключаться к нему хоть из любой точки мира. Бизнес-логику вам также нужно будет разместить на сервере.
Могу от себя предложить еще что бы сервер иметь все таки не в интернете, а у себя в доме. Понятно что не все хотят организовывать у себя полноценный сервер дома, но, например, можно прикупить NAS для организации файлопомойки и уже на базе него реализовать и простенький сервер (современные устройства подобного класса имеют достаточно мощности для этого). Так сказать одним выстрелом двух зайцев. Тем кому сервера на базе NAS будет мало они уже задумаются над конкретной железякой которая будет выполнять конкретно его роль.

В интернет окно конечно все равно нужно, но сервер дома все же как то спокойнее.
Сервер можно развернуть локально всего в одну команду с помощью Docker:
docker run -p 80:80 devicehive/devicehive-standalone
DeviceHive — это целая платформа, включающая в себя облачный сервис, библиотеки, фраймворки и в том числе данную прошивку.
Про NodeMCU и ESP-01 вы верно все поняли.
Плату, как но фото, можно найти по ключевым словам «esp8266 nodemcu» например на алиэкспрессе. На самом чипе флеш-памяти нету вообще. Прошивка загружается на внешний чип флеш-памяти, распаянный на плате и подключенный по SPI-интерфейсу. Как правило это 25Q40BT — 512 КиБ. Чип может быть и больше, но чтобы использовать пространство на нем, нужно модифицировать прошивку. Плата может быть любая с чипом от 512 КиБ или более. Про камеры точно не скажем, возможно, что-то можно приделать/уже приделали, однако учитывая производительность чипа, разрешение и качество картинки будет очень плохое. Для камер нужны более мощные процессоры.

Разница между прошивка в самой идеи использования чипа. Если совсем на пальцах, то NodeMCU позволяет писать свои скрипты на LUA которыми управляется весь алгоритм прошивки. DeviceHive прошивка предоставляет доступ к подключенным устройствам через облачный сервис/локальный REST.
Спасибо за ответы.
Про камеры точно не скажем, возможно, что-то можно приделать/уже приделали, однако учитывая производительность чипа, разрешение и качество картинки будет очень плохое. Для камер нужны более мощные процессоры.
Просто стоит такой вопрос как визуальный контроль относительно большого количества ракурсов — для каждого ракурса покупать кучу камер не хочется… хочется купить набор самых дешевых 0.3Мпкс камер которых будет достаточно для поставленных задач… в момент запроса будет достаточно получить фото снимок с камеры… с чем, я надеюсь, должны справится даже самые простые платы типа «esp8266 nodemcu»… подумайте в вашей платформе над этим.

Как мне кажется как экономически так и логически целесообразен сценарий когда умный дом снабжают по периметру, в первую очередь, камерами высого разрешения (дабы зафиксировать вторжение не авторизированными лицами, и в случае проникновения сохранить записи с которых будет возможно что то распознать), а уже каждое помещение снабжать одним-двумя модулями котроля на основе подобных недорогих плат и комплекта таких же не дорогих датчиков (температура, влажность, протечки, наличие огня и опасных газов, аудио и визуальный контроль в низком разрешении) ну и уже кучей модулей управления на основе все тех же недорогих плат с релюхами. Поскольку визуальный контроль в высоком разрешении не так часто и нужен что бы покупать в каждое помещение дома дорогую камеру, но визуально фото(хотя бы даже по запросу, а не постоянно… автоматически, по запросу, например, после срабатывания датчика присутствия ну и само собой по ручному запросу пользователем) все равно хочется иметь отовсюду, потому получив даже фото в небольшом разрешении с каждого помещения уже предостаточно в общем случае.
Про камеры точно не скажем, возможно, что-то можно приделать/уже приделали, однако учитывая производительность чипа, разрешение и качество картинки будет очень плохое. Для камер нужны более мощные процессоры.

Сам нагуглил сабж, так что видать мощности хватает. Не HD но для большинства задач хватает.
НЛО прилетело и опубликовало эту надпись здесь
А что с ним будет, кроме нагрева, при токе 40А?
НЛО прилетело и опубликовало эту надпись здесь
Здраствуйте, я решил таки попробовать DeviceHive. У меня NodeMCU с датчиком движения. Хочу прикрутить ее к серверу Node RED, который использую в качестве центрального контроллера своего «умного» дома. Он умеет опрашивать по http, периодически.

Я залил DeiveHive прошивку

$ uname
DeviceHive ESP8266 firmware v0.5 [Built: 19:19:59 Nov 2 2016]
Created by Nikolay Khabarov.
ChipID: 0xDC7BB8, SDK version: 2.0.0(5a875ba)

/api/gpio/read возращает состояние всех пинов. Не пойму как сделать так, что бы не слать запрос каждые 2-5 секунд, а подсоединиться один раз и получать уведомления. Мне кажется нагрузка на сеть и на NodeRED больше. "/api/gpio/int" не заводится. Пробую

curl -i -X GET http://192.168.178.33/api/gpio/int -H «Content-Typintpplication/json» -d '{«5»:«both»}'
HTTP/1.0 403 Forbidden
Access-Control-Allow-Origin: *
Content-Type: text/plain; charset=UTF-8
Content-Length: 15

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

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

Есть ли живое комьюнити, где я мог бы вопросы задавать?

Спасибо
Ах, комманды с прерываниями отключенны! Блин долго бился, пока не догадался в исходниках посмотреть. Вы хотя бы мануалы почистите, а то комманда описанна, а то, что она не работает нигде не отмеченно.
Здравствуйте! Вы правильно определили — прерывания не доступны через RESTful API, это описано здесь: https://github.com/devicehive/esp8266-firmware/blob/master/DeviceHiveESP8266.md#restful-api
-> Any notifications are not supported, so commands for subscribing on it also don't available.
Вопросы напрямую можете задавать на сайте http://devicehive.com/ (справа внизу есть кнопка сообщений) или через форму обратной связи (меню сайта -> contact us).
То-есть сервер постоянно шлет запросы каждому устройству, что бы узнать состояние пинов/подключенных устройств?
Мы не планировали использовать REST для выявления изменения состояния пинов в текущей версии.
У IoT другого пути, как MQTT нет. По моему мнению. Даже ваш Blynk с проприетарным протоколом не выживет. Или там уже поменялось чего?
Вы что-то путаете. Blynk не наш. DeviceHive наш и все протоколы в нем открытые.
Blynk наш. И протокол там октрыт. Отлично выживает и очень быстро развивается. На подходе новая пачка фич. Откуда инфа о «все плохо»?
Мое мнение. Личное. Изначально было ошибкой городить свой собственный протокол. Опять же — мое личное мнение.
И возможности интеграции с другими системами ограничены.
Изначально было ошибкой городить свой собственный протокол. Опять же — мое личное мнение.


А без своего протокола никак. Даже если бы мы использовали MQTT нам всеравно пришлось бы внутри него описывать свои команды. Что по сути == свой протокол. Поэтому было принято решения создать свой.

И возможности интеграции с другими системами ограничены.


Ммм, почему это? Отлично интегрируемся с любыми железками без каких-либо проблем.
Blynk я попробовал и сейчас им свой монитор переключаю и температуру регулирую, но начал писать app на замену.

Что не понравилось:

* Как выше написали, нельзя на прямую работать с MQTT. Нужно промежуточное звено помимо вашего сервера, для трансляции. Я лично после шатаний пришел тоже к MQTT в качестве центральной шины для обмена данными. Для того, что бы включить свет получается следущая цепочка Blynk V0 (button) -> Blynk сервер -> NodeRED -> MQTT -> Zway -> z-wave устройство -> Zway -> MQTT -> NodeRED -> Blynk сервер -> Blynk V1 (led).

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

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

Как выше написали, нельзя на прямую работать с MQTT.


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

Заточка под управление пинами.


Не совсем понял мысль. Можете пожалуйста уточнить что имеется в виду?

нет возможности задать горизонтальный лайоут


Тут проблема спроса. Мы можем такое сделать. Но это никак не отразится на наших доходах, к сожалению. Поэтому пока не делаем. Мы начинающая компания и вынуждены в первую очередь думать об монетизации. А это довольно ресурсоемкая фича.

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


Есть home screen виджеты. Они частично решают эту проблему.

Дома я хотел бы развешать таблетки на стенки.


Да, мы думаем в этом направлении. Но опять же, вопрос спроса. Будут ли пользователи готовы платить за это. Окупится ли эта разработка. Это вопросы без ответов. Мы попробуем найти инвестиции на этот подпроект. Если получится — то обязатльно сделаем.
Подскажите по DeviceHive.
По диагонали прочитал предыдущие статьи. Не понял насчет AccessKey. Он обязателен? И его нужно в каждое устройство жестко прописывать чтобы работать с сервисом DeviceHive?
AccessKey — это ключ доступа к серверу, общение с сервером без него не возможно. Да, его нужно прописать в каждое устройство. Если использовать только локальный REST, то AccessKey — это фактический пароль для доступа к API. Если оставить этот пароль пустым — к чипу смогут обращаться все.
НЛО прилетело и опубликовало эту надпись здесь
1. Операционная система Windows не имеет нативной поддержки mDNS. Некоторое стороннее ПО, как например Bonjour Print Services ( https://support.apple.com/kb/DL999?locale=en_US ), добавляет данный функционал к системе. Для браузера Chrome обязательно указывайте схему http://, иначе запрос уйдет в поисковик.
2. Сама микросхема может быть точкой доступа. Однако, в прошивке не реализован данный функционал для REST запросов. Есть только режим настройки таким образом — https://geektimes.ru/company/dataart/blog/262110/. В принципе к чипу в таком режиме можно подключиться другим чипом и компьютером. Возможно, сделаем в будущей версии режим точки для REST.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий