Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.05.2015, 09:02   #1
balabol
Member
 
Регистрация: 13.01.2014
Сообщений: 44
Вес репутации: 0
balabol is an unknown quantity at this point
По умолчанию MarineWRT

Доброго всем время.

Коллеги, хочу познакомить вас со своим творчеством. Это платформа MarineWRT.

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

Основные идеи заложенные в платформу:

1. Единая шина данных на логическом уровне. Любой элемент системы может отправлять сообщения в шину и подписываться на них. Причем, аппаратный элемент системы и программная единица в данном случае имеют равные условия. Физически шина реализуется различными средствами от UART до WiFi. Но все элементы системы общаются только по протоколу высокого уровня - MMessages
2. Сама платформа представляет собой два основных слоя: серверный и интерфейсный. Задача серверного - вне зависимости от участия оператора выполнять полезные действия. Задача интерфейсного - в зависимости от требования оператора предоставлять ему нужно информацию о работе и состоянии системы, предоставлять интерфейс управления системой.
3. Платформа должна предоставлять унифицированное средство разработки и интеграции любых электронных устройств, способных установить связь с платформой.
4. Платформа должна предоставлять разработчику возможность использования функционала сторонних разработок без вмешательства в сам код и конструктив.
5. Платформа должна предоставлять возможность делиться разработками с неограниченным кругом лиц. При этом, поддерживать управлениями версиями и централизованный сервис обновлений.

Вот такая незатейливая задачка

Для наглядности идеи шины представляю схему:



Ну и небольшое видео по тому, что уже есть.

https://youtu.be/GKwp6L9OqSc

(прошу прощение за качество звука)


Зачем я тут публикуюсь? Я рассчитываю найти людей, которым будет интересно поучаствовать в проекте. Как минимум услышать дельные советы.

P.S. Да... и почему же MarineWRT? Собственно сателлит системы создается на базе OpenWRT.
Миниатюры
Нажмите на изображение для увеличения
Название: MarineWRT.png
Просмотров: 778
Размер:	68.0 Кб
ID:	2563  

Последний раз редактировалось balabol; 26.05.2015 в 09:06.
balabol вне форума   Ответить с цитированием
Старый 26.05.2015, 19:27   #2
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: MarineWRT

Насколько велики отличия от OpenWRT? Можно ли дополнить роутер прошитый OpenWRT соответствующим функционалом или требуется полная перепрошивка?

Последний раз редактировалось Tohin; 26.05.2015 в 19:37.
Tohin вне форума   Ответить с цитированием
Старый 26.05.2015, 19:39   #3
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: MarineWRT

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

Что, куда подключается?
Как и что передаётся?
Какие устройства можно подключать?
Что из себя представляет серверная часть? (железо)
Какое програмное обеспечение требуется для клиентов?
Какое програмное обеспечение требуется для сервера?
stD вне форума   Ответить с цитированием
Старый 26.05.2015, 20:33   #4
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: MarineWRT

Я тоже не понял смысл этого велосипеда =(
khseal вне форума   Ответить с цитированием
Старый 26.05.2015, 22:24   #5
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: MarineWRT

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

Сделать что-то стоящие очень сложно, но не менее сложно объяснить свою идею окружающим. То есть, этому тоже надо учиться, а иначе разработчик так и останется один на один со своими, пусть даже хорошими, идеями.

Не сочтите это за нравоучения, просто хочу дать хороший совет, не более.
stD вне форума   Ответить с цитированием
Старый 26.05.2015, 22:32   #6
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: MarineWRT

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

Ещё раз прошу не принимать всё выше сказаное на личный счёт. Я просто рассуждаю о том, что вижу.
stD вне форума   Ответить с цитированием
Старый 27.05.2015, 12:16   #7
balabol
Member
 
Регистрация: 13.01.2014
Сообщений: 44
Вес репутации: 0
balabol is an unknown quantity at this point
По умолчанию Re: MarineWRT

Цитата:
Сообщение от Tohin Посмотреть сообщение
Насколько велики отличия от OpenWRT? Можно ли дополнить роутер прошитый OpenWRT соответствующим функционалом или требуется полная перепрошивка?
OpenWRT используется без изменений. На него разворачивается framework. Но, поставляется отдельная прошивка. Уникальность прошивки только в том, что она имеет предустановленные скрипты для развертывания MarineWRT. В частности, сразу после прошивки при обращении на WEB интерфейс роутера открывается мастер, который просит включить в роутер flash носитель, осуществляет проверку первичных настроек, форматирует флешку для увеличения доступного дискового пространства и после этого устанавливает с сайта framework.

Цитата:
Я тоже не понял смысл этого велосипеда =(
Давайте я просто опишу use-case. И так, допустим, мы имеем датчик температуры на Arduino. Естественно, мы бы хотели получать в каком-то виде информацию с него. Типовые решения я рассматривать не буду, а опишу то, как будет работать все это в MarineWRT.

И так, при разработке датчика, мы подключаем в скетч библиотеку MWRT. Суть библиотеки в том, что она в определенном формате может отправлять сообщения в шину. Т.е. с точки зрения разработчика датчика, вместо записи в UART он будет использовать функцию sendMWRTMessage и это все. Ну т.е. к примеру так:

sendMWRTMessage("CustomMessage.Temperatu re.Current", value)


Физически Arduino мы подключаем, скажем, по UART к mr3020. Где развернута платформа MarineWRT.

Теперь, на JavaScript пишится простейшее приложение, которое "слушает" все сообщения с шины типа "CustomMessage.Temperature.Current" и получая уведомление, выводит значение на экран.

Что-то типа так:

this.onReciveMessage = function(msg){

if(msg.code=="CustomMessage.Temperature. Current"){

$(this.teValue).text(msg.data);

}

}


Собственно все.

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

А еще можно опубликовать решение на специализированном ресурсе и поделиться им

Представьте себе, что нужно сделать для того, чтобы это же повторить самостоятельно?

Но это еще не все. Представим себе, что другой человек решил воспользоваться вашей наработкой, но ему нужно, чтобы, если температура выше Х значения, отправлять уведомления. Что для этого нужно? да ничего. Он ровно также перехватывает сообщение и предпринимает необходимые действия.

Ну и он, опять допустим, тоже публикует...


Третий человек, хочет заходя на ресурс уже может собрать систему из тех кирпичиков, которые туда "набросали". Но, что примечательно, т.к. оба приложения связаны друг с другом опосредственно, т.е. на самом деле они ничего друг о друге не знают, а также ничего не знают о железке, то любой компонент может быть легко заменен на аналог. Ну или вообще исключен. К примеру третьему нравятся приложения, но вот саму реализацию датчика он хочет иную. Что он делает? Скачивает интересующие его приложения, а датчик переделывает, оставляя лишь одно - отправку того же сообщения в шину. И все весело продолжает работать.

Так понятнее?))

Цитата:
1. Что, куда подключается?
2. Как и что передаётся?
3. Какие устройства можно подключать?
4. Что из себя представляет серверная часть? (железо)
5. Какое программное обеспечение требуется для клиентов?
6. Какое программное обеспечение требуется для сервера?
Мое косноязычие связанно именно стем, что я исключаю классические уровни железо/софт/протоколы. И перевожу все исключительно но Объектно-событийную модель. Т.е. есть объект и он получает события, которые формируют любые другие объекты. Для коммуникаций используется та самая шина. Но все же попробую ответить по пунктам:

1. Отвечу в простом, эмпирическом случае. датчик в Arduino, Arduino в роутер по UART, пользователь подключается к роутеру по WiFi к WEB серверу, где развернута платворма MarineWRT, которая генерирует WEB страницу.
2. Опять в простом случае, к примеру, от датчика в ardouno по 1w, затем через библиотеку MWRT по UART в роутер, который далее распространяет сообщение на всех.
3. Любые.
4. Любое железо, на котором можно развернуть OpenWRT;
5. Chrome, IE>9, Opera и т.д. В общем браузер.
6. OpenWRT, PHP5, SQLLite. Но по сути об этом думать не нужно. Все будет в поставке прошивки.

Цитата:
Это проблема многих разработчиков
Угу. Проблема. Но не это, а проблема времени, которое тратится на объяснение и споры, вместо того, чтобы делать очевидные вещи ))

Последний раз редактировалось balabol; 27.05.2015 в 12:44.
balabol вне форума   Ответить с цитированием
Старый 27.05.2015, 12:32   #8
balabol
Member
 
Регистрация: 13.01.2014
Сообщений: 44
Вес репутации: 0
balabol is an unknown quantity at this point
По умолчанию Re: MarineWRT

Да, я постараюсь еще мыль донести одну.

Я как бы не стараюсь найти понимание Поверьте, понимание того, что я делаю есть у меня )). Я очень надеюсь найти человека(ков) на волне, близкой к моей. Если они были "там, где я был", они поймут о чем я )))

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

Конечно, если что-то хочет коммерчески двинуть проект, я не против и готов тогда потратить время на разъяснение, как космические корабли будут бороздить просторы большого театра
balabol вне форума   Ответить с цитированием
Старый 27.05.2015, 17:27   #9
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: MarineWRT

Все равно я не понял смысл этого велосипеда. Кокие-то ардуины. Зочем они? Если датчик можно и так подключить разными способами. Веб сервер можно так же на опенврт организовать.
Так а в чем смысл всего проекта? Я только понял что нужно много железок, не понятно для чего и не понятно кому это надо...
Тем более все равно надо делать, чо-то допиливать под себя.
khseal вне форума   Ответить с цитированием
Старый 27.05.2015, 17:33   #10
balabol
Member
 
Регистрация: 13.01.2014
Сообщений: 44
Вес репутации: 0
balabol is an unknown quantity at this point
По умолчанию Re: MarineWRT

Мда

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

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

P.S. Это не велосипед, это мотор на него.
balabol вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 09:16. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика