Wednesday, 24 September 2014

Как была разработана плата расширения АНРУ

Я новичок в сообществе Ардуино и только сделал два простых проекта до сих пор с помощью Ардуино Уно. Мне очень нравится, как Ардуино делает электронику такой доступной и открывает его для широкого круга людей с различными способностями.

Одна вещь, что я искал - это способ сделать действительно потрясающий графический пользовательский интерфейс для моих будущих Ардуино проектов. Около 4 месяцев назад я убедил руководство, чтобы включить некоторые из высоких технологий Xped в плату расширения. И спустя 2 месяца у нас были первые прототипы плат, готовых к альфа-тестированию.

Вот картина того, как проект начался. Плата в левом верхнем углу это
плата NFC для разработок которую мы купили. Другие 2 платы  мы использовали от других наших проектов.

  
Мы соединили проводами платы, чтобы получить возможности, которые мы хотели. Вот список основных функций мы придумали для платы расширения:
  •      Ближняя Бесконтактная Связь [NFC] или ББС для краткости. Это та же технология за беспроводных платежей и также известен как PayWave и PayPass. ББС  функционирует во многих смартфонах.
  •      Персональная Сеть или ПС для краткости, использует протокол уровня связи 802.15.4 MAC. Этот вид ПС обеспечивает гораздо больший диапазон, чем Bluetooth.
  •    Чип хэширования для участия в безопасных операциях, таких как обновление встроенного программного обеспечения по радио.
  •     STM32F103R8 ARM Cortex M3 32-разрядный микроконтроллер.
  •      256 Кб  внешней памяти Флеш.
  •      Файловая система для хранения данных и других файлов.

После суетной работы около 2-3 недель мы сделали достаточное количество проверок аппаратуры и программного обеспечения чтобы перейти к разработке специализированной платы расширения. Вот фотография самой первой платы в непаянном состоянии.




 И недолго после этого у нас была полностью собранная плата. Здесь она в сборке с Ардуино Уно.





Так в настоящее время мы пишем библиотеку для платы расширения, что сделает его очень простым в использовании. Вот первый демо-проект который сделали с ним. В этом проекте плата расширения соединяется с покупной платой управления двигателем. Здесь он соединяется с небольшим двигателем постоянного тока, который вращает пластиковые шестерни, которые мы сделали на 3D-принтере.




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



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




 Система АНРУ позволяет установить правила таким образом, что устройства могут взаимодействовать друг с другом для выполнения полезных функций. Это иногда называют M2M (межмашинный интерфейс).




Вы можете использовать более одного контроллера и контроллеры могут быть разных типов. Дисплеи всех контроллеров будут синхронизированы. Это видео показывает три контроллера, все они контролируют одно и то же устройство. Один из контроллеров является программным контроллером и работает на настольном ПК.




 Я не знаю, если вы знакомы со средой разработки Qt и как он строит графический интерфейс (что в некотором смысле подобно тому, как это делается в Java Swing)? Эти системы используют 3 основных типа виджетов: контейнеры, контролеры и элементов дизайна. Наше приложение для телефона разработано с использованием технологии Qt и наш язык XML (мы называем это Язык Разметки Ресурсов или ЯРР) описывает GUI с точки зрения механизмов этих видов виджетов. Я думаю, что я пытаюсь сказать (и делаю это плохо), что используя ЯРР вы можете описать графические интерфейсы любого уровня сложности.

Вот некоторые примеры:

ПРОСТОЙ ПРИМЕР ("Привет Мир" для GUI, например Светодиод включить/выключить):



 <screen name="main-page" margins="4">
    <devicebox title="$(NICKNAME)" layout="horizontal" spacing="4" margins="4" skin="wood">
        <xpcontrolbox bind="on" layout="horizontal" leftmargin="20" rightmargin="20" stretch="1">
            <localetitle><en>LED</en></localetitle>
            <xpsvgtoggleswitch bind="on" skin="Beryl"/>
        </xpcontrolbox>
        <spacer stretch="4"/>
    </devicebox>
</screen>




ПРИМЕР СРЕДНЕЙ СЛОЖНОСТИ:

 


ПРИМЕР ВЫСОКОЙ СЛОЖНОСТИ (с стилистическими листами и мульти-экран):




 Вот текущий список виджетов по типу:
 

Элементы контейнеры
  •      Box
  •      GroupBox
  •      DeviceBox
  •      Signalbox
  •      ControlBox

Элементы разметки:

  •      separator (разделитель)
  •      spacer (прокладка)

Элементы управления:

  •      label
  •      checkbox (флажок)
  •      pushbutton (кнопка)
  •      SVGButton
  •      svgtoggleswitch
  •      svgslideswitch
  •      slider (слайдер)
  •      scrolldial
  •      scrollwheel (Колесико прокрутки)
  •      scrolldialwheel
  •      5waybutton
  •      3waybutton
  •      2waybutton 
  •      rockerbutton
  •      RadioGroup
  •      progress (прогресс)
  •      led (светодиод)
  •      7seg
  •      dialgauge
  •      LineEdit
  •      ListBox

Телефон не обязан иметь NFC чтобы система работала
NFC просто делает это проще и привлекательнее, когда вы можете поднести телефон к устройству и начать взаимодействовать с ним. Система имеет концентратор Hub (центр контроля), который имеет NFC  и обеспечивает 802.15.4 PAN сети, так что вы также можете нажать устройства к концентратору, чтобы соединить их с системой.

Некоторое время назад я искал робот низкой стоимости, который может быть контролируем с помощью Ардуино. Я нашел Zumo Robot и купил пару из них. Несколько дней назад я провел около 20 минут для создания RML и
Ардуино кода для управления Zumo и вот короткое видео о результате.


 Интерфейсы платы расширения любого Ардуино проекта в экосистеме АНРУ, как показано на этой диаграмме:



В это время АНРУ плата расширения находится в стадии альфа испытаний. Вскоре будет вторая итерация платы расширения  и начало бета-тестов.

 
Крис Вуд
Технический директор и соучредитель
 
 
 
  
 Иван Иванов
Сотрудник компании и автор перевода
 

Thursday, 18 September 2014

ЧТО ТАКОЕ АНРУ?


ЧТО ТАКОЕ АНРУ?
 
Прежде чем ответить на этот вопрос, вероятно, лучше, если вы сначала посмотрите это короткое видео :

 


В двух словах, технология АНРУ позволяет при прикосновении-приближении контроллера к устройству вызывать появления на экране графического пользовательского интерфейса для данного устройства. Это позволяет пользователю быстро взаимодействовать с устройством. Представьте себе, если каждое устройство в мире было бы сделано таким образом! Мы все были бы в состоянии взаимодействовать с окружающими нас вещами, чтобы получить информацию, контролировать их и делать всякие вещи, которые мы едва ли можем себе представить в данный момент.
Это будущее, что АНРУ может предоставить. Представьте, что вы идете по улице и видите  торговые закусочные машины. Mммм конфеты выглядит хорошо, но  у вас нет нужных монет. На самом деле кажется, что у вас никогда не бывает нужных монет! А вот если торговый автомат был бы с системой АНРУ, вы бы просто коснулись своим смартфоном сенсорной точки машины с логотипом :
АНРУ логотип точки прикосновения

и панель управления для торгового автомата появится на вашем телефоне. Затем выбераете конфеты, какие вы хотите, машина показывает цену на телефоне и вы платите за это с помощью PayWave или PayPass, нажатие на телефоне снова и конфеты у вас!
Я не знаю, как вы, но у меня никогда не оказывается нужных монет для оплаты стоянки машины или если аппарат принимает кредитную карту, то он вышел из строя. Так почему бы не поставить технологию АНРУ на всех парковочных счетчиках? Просто касаетесь своим телефоном аппарата, выбираете длительность парковки, машина вычисляет цену и отображает его на вашем телефоне. Вы платите PayWave или PayPass и коснувшись телефоном счетчика еще раз подтверждаете оплату.

Эй бьюсь об заклад, у вас появляются некоторые свои собственные идеи в настоящее время.
Одна из причин, что АНРУ настолько отличается от всех других решений в настоящее время  это что вам нужно только одно приложение, чтобы управиться с любым прибором. Это верно - только одно приложение! Которое действительно является прорывом в этом смысле. Вам не нужно приложение для торгового автомата и для каждого другого производителя  торгового автомата и вам не нужно приложение для стоянки и в сущности каждого другого поставщика парковочного счетчика. Все, кто имеет смартфон знают проблему загрузки приложения; это ежедневная неприятность. АНРУ устраняет это точно так же, как веб-браузер сделал для WWW. То есть, АНРУ поставляет технологию браузера устройства и язык разметки, чтобы сделать взаимодействие между контроллерами и устройствами полностью обобщенным. Но об этом в следующих постах.
Мы в Xped уже в процессе этого, сделав несколько действительно полезных устройств, которые уже имеют эту удивительную встроенную технологию. Наш ИК-Бластер позволит вам избавиться от всех ваших инфракрасных пультов дистанционного управления навсегда и контролировать свои устройства аудио-видео и переменного тока с помошью вашего телефона. Наш  сетевой переходник Ультра позволяет управлять простыми приборами, как лампы, вентиляторы, обогреватели прямо с телефона и даже увидеть, как много энергии они используют и их потребление энергии во времени. Наш  сетевой переходник Вари (вариаторпохож на  сетевой переходник Ультра, но позволяет контроливать яркость лампы или изменить скорость электродвигателя. Таковы лишь первые из многих продуктов на нашем запланированном пути. Вы можете посетить наш сайт www.xped.com, чтобы получить больше информации о них

Для тех из вас, которые любители-самодельщики и поклоники Arduino, мы создали 
плату расширения АНРУ. Просто добавьте один из них в свой следующий проект Arduino и вы сможете управлять им с вашего телефона за несколько минут. Прямо как в видео.
Ну вот и все на данный момент. Я надеюсь, что вы думаете об АНРУ также замечательно, как и мы. Следите за публикациями, следующая будет объяснять основные части, которые составляют систему АНРУ.
 
До следующего раза ... получайте удовольствие!

Крис Вуд
Технический директор и соучредитель
 
 
 
  
 Иван Иванов
Сотрудник компании и автор перевода 

Wednesday, 17 September 2014

Система АНРУ

Система АНРУ

АНРУ ( Автоматическое Нахождение Ресурса Управления = ADRC Auto Discovery Resource Control)
Как и другие опережающие технологии, которые выбиваются далеко вперед АНРУ может показаться магией. Но я вас уверяю, это не магия, но хорошо концептуально разработанная система, части которого работают вместе гармонично для достижения желаемого результата. АНРУ имеет пять основных частей и это:

Приложение
Устройство сервер
Устройство прокси
ПКР - протокол котроля ресурсов ( RCP resource control protocol)
ЯМР - язык моделирования ресурсов( RML resource modeling language)

Есть другие части системы, которые появились в ходе разработки, но эти
пять являются философским ядром АНРУ.

Из приведенной выше диаграммы вы можете увидеть, как эти пять частей работают вместе, чтобы сформировать систему. Давайте посмотрим на каждую часть в свою очередь, чтобы увидеть, что она делает. Приложение 
 Проще говоря, приложением является любое устройство, которое хочет взаимодействовать с устройствами в системе. В настоящее время первое АНРУ приложение это универсальный клиент, который мы называем браузером устройства. Самый простой способ думать о браузере устройства, как своего рода специального веб-браузера, но специально сделаного, чтобы взаимодействовать с каким-либо устройством, аппаратом или фактически любым устройством, которое имеет программный интерфейс. Так же как веб-браузер, вы можете направить браузер устройства на устройство и он будет отображать пользовательский интерфейс, но здесь сходство и заканчивается. Веб-браузеры предназначены для обработки текста, графики и мультимедийного содержимого, когда браузеры устройства предназначены для манипулирования управления транзакциями, обработки асинхронных собщений, распознавания семантических данных и предоставляют интерфейсы для людей и машин.

Устройство сервера
 Опять же опираясь на аналогии с интернетом, вы можете думать о сервере устройства как об интернет-сервере в том, что он предоставляет содержимое для браузеров устройств и других клиентов и может предоставлять сервис кэширования. Однако тут сходство заканчивается. Серверу устройства приходится иметь дело с динамически изменяющейся системой, где устройства могут появляться и исчезать. Также устройства могут излучать асинхронные сигналы, которые браузеры устройства должны иметь возможность принимать и реагировать на них. Фактически дисплей браузера устройства должен отражать реальное состояние домена устройств, а также истинное состояние любого просматриваемого устройства. Таким образом сервер устройства является сердцем распределенной системы управления реального времени; который как вы можете себе представить, является функцией которую очень трудно выполнить хорошо.

Устройство прокси 
Устройство прокси не имеет веб аналога. Его функция заключается в интерфейсе к любому произвольному устройству для остальной части системы АНРУ и упрощения этой задачи. В сетевой терминологии, устройство прокси является обратным прокси-серверу. Это обеспечивает равильное взаимодействие требуемое от всех устройств АНРУ в том числе:

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

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

Протокол контроля ресурсов (ПКР) 
 Вы можете думать о ПКР как подобии HTTP, однако он имеет различные функции, которые делают его более подходящим для управления устройствами. Он поставляется в двух вариантах, ПКР.host и ПКР.wire, где функции одного могут быть сопоставленны к функции другого один к одному и наоборот. Выбор варианта для спользования зависит от того как вы обращаетесь к системе. RCP.host используется между приложением и сервером устройства. Он использует синтаксис XML для форматирования документов которые запрашивает сервер устройства и для доставки ответов и сигналов от устройства сервера к приложениям. RCP.wire используется между сервером устройства и устройством. Форматы сообщений очень компактные их легко разобрать, так что он хорошо работает с не очень мощными микропроцессорами, такими как те, которые используются в популярных Arduino Uno. Вы можете думать о этих двух вариантах ПКР как XML и JSON. Оба могут выразить те же данные, но один более легковесный, чем другой.

Язык моделирования ресурсов (ЯМР) 
 ЯМР-это язык на основе XML. Вы можете думать о нем как подобии HTML где HTML описывает веб-страницу таким образом, чтобы веб-браузер может нарисовать его на экране, тогда как ЯМР описывает устройство, так что браузер устройства или другой клиент АНРУ может управлять и контролировать им и понимать смысл данных. ЯМР и браузер устройства реализуют шаблон проектирования контроллера модели видения  (КМВ). КМВ является мощным парадигмой для отделения логики обработки данных, логики отображения и логики контроля обработки. Одним самым интересным в ЯМР является, что он хранится в устройстве, в файловой системе, представленного устройства прокси. По-причине этого для приложений и устройств возможно взаимодействие без подключения к Интернету или даже WAN или LAN. ЯМР имеет центральное значение и используется во всех слоях системы АНРУ, включая устройство сервера.

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

До следующего раза..., получайте удовольствие!

Chris Вуд
Технический директор и соучредитель

Перевод - Иван Иванов 

Tuesday, 16 September 2014


Почему АНРУ?

АНРУ - Автоматическое Нахождение Ресурса Управления

Технология

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

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

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

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

АНРУ использует совершенно другой подход. Каждое устройство описывает себя подробно таким образом, что пользовательский интерфейс может быть реализован или схема управления машины может быть легко построена.

Плата расширения


Один из наших первых продуктов на рынке будет Ардуино плата расширения, который сделает АНРУ доступной для любителей (и других разработчиков).

Я попробовал различные беспроводные платы расширения связи. Блутус, Вай-Фай и т.д. Ни один из того что я опробовал не обеспечивает полное решение обеспечивания пользовательского интерфейса или связь между машинами.

АНРУ предоставляет способ для описания машины и ее пользовательский интерфейс. Он также определяет протокол для двухстороннего способа синхронной и асинхронной коммуникации.
Наша библиотека для Ардуино предоставляет все эти функции для вашей программы и обрабатывает все конкретной подготовительной работы АНРУ.
Для использования библиотеки, вы  описываете линии ввода и вывода машины в XML файле и пишете программу обработки при изменении состояний на этих линиях вводах и выводах.

Наш хаб позволяет вашему смартфону связаться с любым количеством плат расширения AНРУ, а также всех других продуктов, которые  становятся доступны на xped.com и если ваш телефон имееет NFC то его соединение с любым АНРУ устройством является простым, как прикосновение его к xped логотипу.

Будущее
Всемирное доминирование!

Если серьезно, то мы придумали много применений для AНРУ которые мы даже не предвидели, когда мы начинали и все они были легко реализованы без изменения ядра системы.
Мы считаем, что АНРУ может использоваться во многих (большинствах?) приложениях, где общение с машиной требуется и активно ищем коммерческих применителей нашей технологии.

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

Продолжайте наблюдать за нашими блогами.