Я новичок в сообществе Ардуино и только сделал два простых проекта до сих пор с помощью Ардуино Уно. Мне очень нравится, как Ардуино делает электронику такой доступной и открывает его для широкого круга людей с различными способностями.
Одна вещь, что я искал - это способ сделать действительно потрясающий графический пользовательский интерфейс для моих будущих Ардуино проектов. Около 4 месяцев назад я убедил руководство, чтобы включить некоторые из высоких технологий Xped в плату расширения. И спустя 2 месяца у нас были первые прототипы плат, готовых к альфа-тестированию.
Вот картина того, как проект начался. Плата в левом верхнем углу это плата NFC для разработок которую мы купили. Другие 2 платы мы использовали от других наших проектов.
Мы соединили проводами платы, чтобы получить возможности, которые мы хотели. Вот список основных функций мы придумали для платы расширения:
После суетной работы около 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>
ПРИМЕР СРЕДНЕЙ СЛОЖНОСТИ:
ПРИМЕР ВЫСОКОЙ СЛОЖНОСТИ (с стилистическими листами и мульти-экран):
Вот текущий список виджетов по типу:
Элементы контейнеры
Элементы разметки:
Элементы управления:
Телефон не обязан иметь NFC чтобы система работала, NFC просто делает это проще и привлекательнее, когда вы можете поднести телефон к устройству и начать взаимодействовать с ним. Система имеет концентратор Hub (центр контроля), который имеет NFC и обеспечивает 802.15.4 PAN сети, так что вы также можете нажать устройства к концентратору, чтобы соединить их с системой.
Некоторое время назад я искал робот низкой стоимости, который может быть контролируем с помощью Ардуино. Я нашел Zumo Robot и купил пару из них. Несколько дней назад я провел около 20 минут для создания RML и Ардуино кода для управления Zumo и вот короткое видео о результате.
Интерфейсы платы расширения любого Ардуино проекта в экосистеме АНРУ, как показано на этой диаграмме:
В это время АНРУ плата расширения находится в стадии альфа испытаний. Вскоре будет вторая итерация платы расширения и начало бета-тестов.
Крис Вуд
Технический директор и соучредитель
Одна вещь, что я искал - это способ сделать действительно потрясающий графический пользовательский интерфейс для моих будущих Ардуино проектов. Около 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 и вот короткое видео о результате.
Интерфейсы платы расширения любого Ардуино проекта в экосистеме АНРУ, как показано на этой диаграмме:
В это время АНРУ плата расширения находится в стадии альфа испытаний. Вскоре будет вторая итерация платы расширения и начало бета-тестов.
Крис Вуд
Технический директор и соучредитель
Иван Иванов
Сотрудник компании и автор перевода




