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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.05.2015, 19:27   #1
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1032
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 вне форума   Ответить с цитированием
Старый 27.05.2015, 12:16   #2
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 вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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