Платформа wyliodrin для создания умного дома

Заметки на полях

Wyliodrin — это веб IDE для программирования embedded устройств. Она удобна тем, что поддерживает огромное количество языков программирования C, C/C++, Java, Pascal, Shell Script, Perl, PHP, Objective-C, C#, Python, Javascript, а также программирование с помощью блоков node-red и scratch.
Список поддерживаемых плат тоже впечатляет, это и платы от Intel, Edison и Galileo, Raspberry Pi, Beaglebone Black, Arduino.
Все эксперименты я проводил на Intel Galileo gen 2, опишу что из этого вышло.

Настройка платы

  • Регистрируемся на wyliodrin.com;
  • В личном кабинете добавляем новую плату:

  • Скачиваем образ для SD карты;
  • Распаковываем образ и записываем на SD карту, по инструкции из прошлой статьи;
  • Загружаем файл wyliodrin.json из личного кабинета:

  • Подключаем SD карту к компьютеру и записываем в корень файл wyliodrin.json:

  • Вставляем карту в Galileo, подключаем питание и патчкорд, ждем загрузку системы. В личном кабинете напротив добавленной платы должен появиться статус online:
  • В выпадающем меню выбираем пункты меню Extra Libraries и Update Streams для обновления библиотек, также рекомендуется сделать Update Image, но у меня после этого плата не появлялась онлайн:

После этих действий плата готова к программированию.

Моргаем светодиодом

Как я уже писал выше, нам доступно большое количество языков программирования.
Рассмотрим 2 примера, один на языке С, другой на языке визуального программирования (scratch). В обоих случаях будем моргать бортовым светодиодом подключенным на 13 пин платы.
Приложения создаются очень просто, необходимо нажать кнопку Create new application и в списке Programming Language выбрать New Project под соответствующим заголовком языка или выбрать готовый пример.

Пример на C

Пример на C выглядит похожим на скетчи для Arduino написанные на wiring.

Необходимо только указать LED_PIN 13 и можно запускать нажатием на кнопку:

После загрузки и компиляции вы должны увидеть сообщение:

И если посмотреть на плату, то светодиод моргает каждые 500 мс. Остановить приложение можно кнопкой Stop.

Пример визуального программирования

Аналогичное поведение светодиода будет выглядеть следующим образом:

В свойствах проекта можно указать в какой язык транслировать приложение:

На языке Python это будет выглядеть следующим образом:

Arduino и Raspberry Pi в проектах Internet of Things. 2-е изд. (+CD)

Arduino и Raspberry Pi в проектах Internet of Things (+CD) 2-е изд. (2019) Петин В. А.

Рассмотрено создание простых устройств в рамках концепции Интернета вещей (IoT, Internet of Things) на базе популярной платформы Arduino и микрокомпьютера Raspberry Pi. Описана установка и настройка среды разработки приложений Arduino IDE, а также среда макетирования Frizing. Раскрыты технические возможности, особенности подключения и взаимодействия различных датчиков и исполнительных устройств.

Показана организация доступа устройств к сети Интернет, отправка и получение ими данных с использованием популярных облачных IoT-сервисов: Narodmon, ThingSpeak, Xively, Weaved, Blynk, Wyliodrin и др. Уделено внимание обмену данными с помощью платы GPRS/GSM Shield. Рассмотрен проект создания собственного сервера для сбора по сети данных с различных устройств на платформе Arduino. Показано, как использовать фреймворк WeblOPi для работы с Raspberry Pi.

Во втором издании добавлены Arduino-проекты со счетчиками воды и датчиками переменного тока, проект по созданию GPS-трекера на Arduino, проекты на платформе ThingWorx для конкурсов JuniorSkills, а также усовершенствованы проекты на основе популярного Wi-Fi-модуля ESP8266 (метеостанция, отправка данных по MQTT, Wi-Fi-пульт для квадрокоптера, печать курса валют на термопринтере).

Для интересующихся современной электроникой.

Глава 1. Интернет вещей (вместо введения)

Глава 2. Среда программирования Arduino IDE

Установка Arduino IDE
Настройка Arduino IDE

Глава 3. Среда разработки Fritzing

Загрузка и установка среды Fritzing
Главное окно среды Fritzing
Создание схемы соединений
Создание принципиальной схемы
Добавление компонентов в среду Fritzing

Глава 4. Arduino и аналоговые датчики

Аналоговые датчики (сенсоры)
Arduino и датчик температуры LM335
Arduino, Ethernet Shield/W5100 и облачные сервисы
Arduino и инфракрасные датчики расстояния SHARP
Arduino и датчики переменного тока SCT
Arduino и счетчик расхода воды

Глава 5. Использование Arduino в качестве контроллера исполнительных устройств

Arduino и электромагнитное реле
Arduino и твердотельное реле
Arduino и диммер
Arduino и сервоприводы
Arduino и библиотека TinyWebServer

Глава 6. Arduino и устройства I2С

Обзор протокола I2С
Arduino и библиотека Wire
Arduino и датчик освещенности ВН1750 на шине I2С
Arduino и сервис Xively
Arduino и датчик влажности и температуры SHT21 на шине I2С
Arduino и сервис Xively (продолжение)
Arduino и часы реального времени на шине I2С
Arduino и SD-карта: чтение и запись данных

Глава 7. Arduino и 1-Wire

Технология 1-Wire
Применение 1-Wire
Интерфейс 1-Wire
Arduino и цифровой датчик температуры DS18B20

Глава 8. Сервер для сбора данных с Ethernet-модулей датчиков, установленных на Arduino

Датчики влажности DHT11 и DHT22
Модуль датчика движения HC-SR501
Модуль датчика звука FC-04
Ethernet-модуль датчиков на Arduino
Сервер сбора данных

Глава 9. Обмен данными с помощью платы GPRS/GSM Shield

Отправка и получение SMS-сообщений
Отправка данных на сайт «Народный мониторинг»
GPS-трекер на Arduino и GPRS/GSM Shield

Глава 10. Проект Blynk: управление Arduino с планшета

Начало работы: тестовый пример
Управление с планшета исполнительными устройствами, подключенными к Arduino
Отправка данных из Arduino на экран планшета

Глава 11. IoT-платформа ThingWorx

Подключение к платформе ThingWorx
Мини-теплица на Arduino
Создание «вещи» в ThingWorx и задание ее свойств
Изменение свойств «вещи» в ThingWorx
Создание веб-страницы для отображения принимаемых данных
Отправка данных с Arduino в сервис ThingWorx
Создание в ThingWorx потока данных и построение графиков
Создание на веб-странице кнопок для отправки команд управления актуаторами на Arduino
Создание скетча для получения Arduino-устройством данных из ThingWorx

Глава 12. Микрокомпьютер Raspberry Pi

Технические характеристики и возможности Raspberry Pi
Установка операционной системы
Первоначальная настройка ОС Raspbian
Интерфейс GPIO
Raspberry Pi и датчик температуры DS18B20 на шине 1-Wire
Raspberry Pi и датчик освещенности ВН1750 на шине I2С

Глава 13. WeblOPi — веб-интерфейс и облако для Raspberry Pi

Установка WeblOPi на ОС Raspbian
Задание пользовательского пароля WeblOPi
Настройка сервера WeblOPi
jаvascript-библиотека webiopi.js
Проект управления веб-камерой на сервоприводах
WeblOPi — подключение устройств
Доступ к устройству из сервиса Weaved

Глава 14. Проект Wyliodrin: управление удаленными устройствами из браузера

Добавление устройства в профиль
Запись образа Wyliodrin на SD-карту
Запись на SD-карту настроек Wyliodrin
Подключение Raspberry Pi к Wyliodrin
Создание приложения в графической среде программирования
Включение/выключение светодиода с веб-страницы
Подключение платы Arduino к сервису Wyliodrin
Совместная работа Raspberry Pi и платы GrovePi
Обмен сообщениями между платами Raspberry Pi через сервис Wyliodrin
Отправка данных в сервис Wyliodrin с мобильного устройства

Глава 15. Wi-Fi-модуль ESP8266

Режим АТ-команд
Отладочные платы NodeMCU
Прошивка NodeMCU
Arduino IDE для ESP8266
Подключение модулей ESP8266 к сети Интернет по Wi-Fi
Метеостанция на ESP8266
Отправка данных метеостанции в сервис ThingSpeak
Протокол MQTT — простой протокол для Интернета вещей
Использование MQTT-сервера CloudMQTT
Мобильное приложение IoT Manager
Отправка данных брокеру CloudMQTT для приложения IoT Manager (тестовый пример)
Отправка данных метеостанции по MQTT в сервис CloudMQTT для приложения IoT Manager
Создание на модуле ESP8266 пульта для управления квадрокоптером AR.Drone2.0
Печать курса валют на термопринтере
Интернет-часы на модулях ESP8266 и ТМ1637 с синхронизацией по NTP
Заключение
Приложение. Описание электронного архива
Предметный указатель

Название: Arduino и Raspberry Pi в проектах Internet of Things. 2-е изд. (+CD)
Автор: Петин В. А.
Серия: Электроника
Издательство: СПб.: БХВ-Петербург
Год: 2019
Страниц: 432
Язык: Русский
Формат: DjVu
Качество: отличное
Размер: 167,93 мб

Скачать Arduino и Raspberry Pi в проектах Internet of Things 2-е изд. (+CD)

Умный дом

Arduino и Raspberry Pi в проектах Internet of Things

Автор: В.А. Петин
Язык: Русский
ISBN: 978-5-9775-3646-2

«В этой книге мы рассмотрели вопросы, связанные с реализацией идей Интернет-технологий на самых популярных платформах – Arduino и Raspberry Pi , а также на популярном в последнее время модуле Wi-Fi ESP8266.
Полученные при прочтении книги знания проложат вам путь в построении мира “интернета вещей” не только в качестве потребителя, но и разработчика.»

«Arduino и Raspberry Pi в Интернете вещей»

Рассмотрено создание простых устройств в рамках Интернета (IoT, Internet of Things) на базе популярной платформы Arduino и микрокомпьютера Raspberry Pi. Показана установка и настройка среды разработки приложений Arduino IDE, а также среда макетирования Frizing. Описаны технические возможности, особенности подключения и взаимодействия различных датчиков и исполнительных устройств. Показатели организации доступа к разрабатываемым проектам в сети Интернет, отправка и получение данных с использованием популярных облачных IoT-сервисов: Narodmon, ThingSpeak, Xively, Weaved, Blynk, Wyliodrin и др. Уделено внимание обмену данными с помощью платы GPRS / GSM Shield. Рассмотрен проект создания собственного сервера для платформы Arduino. Показано как использовать фреймворк WeblOPi для работы с Raspberry Pi. Приведены примеры использования Wi-Fi-модуля ESP8266 в программах «Умный дом». На сайте издательства размещен архив с исходными кодами программ и библиотек.

Микрокомпьютер

Raspberry Pi – это миниатюрный, размером с кредитную карту, компьютер в порядке 25 долларов за базовую модель и 35 – за более продвинутую, снискавшую огромную популярность и разошедшейся по миру в количестве более 4,5 миллионов штук (на начало 2015 года).
Одним из основных преимуществ Raspberry является соотношение качества продукта и его стоимости. Конечно, этот мини-ПК не такой мощный, как современные компьютеры, но он идеально подходит для изучения компьютерных и основополагающих задач, для решения многих практических задач, для интернет-серфинга, а также для воспроизведения видео- и прослушивания аудиофайлов.

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

Raspberry Pi – идеальный компьютер для постановки различных экспериментов. Управление статистическим процессом (SPC) – метод мониторинга процессов с целью контроля качества продукции в процессе производства. Все это позволяет использовать микроконтроллеры для управления роботизированными устройствами.
Н аличие на платформе аппаратных портов ввода / вывода GPIO (универсальный ввод / вывод, интерфейс ввода / вывода общего назначения), что открывает перспективы его использования в робототехнических станциях и устройствах «умного дома».

Какую платформу для умного дома выбрать?

Подскажите, пожалуйста, какие платформы для умного дома сейчас существуют и какую лучше всего выбрать как универсальную для своего дома?
В планах стоит покрытие дома электроникой типа счетчиков воды, газа, электроэнергии, датчиков освещения, температуры. Домов несколько.
Есть задача отслеживания по GPS своего положения, положения авто, различных параметров авто (по OBD) с пересылкой на сервак для сбора статистики.
Нужна архитектура типа сервер контроллер и сервер клиент
Сервер должен быть один, хранить все данные.
В качестве контроллера может выступать ПК, смартфон или ардуина/рапсберри. Структура должна быть такова, что в каждом доме может стоять отдельный ПК, собирающий данные со всех датчиков и пересылающий на основной сервер. В авто должен лежать смартфон или планшет, подключенный к бортовой сети, собирающий данные об авто и отсылающий на основной сервер).
Под клиентом подразумевается приложение, принимающее данные с основного сервера и показывающее на экране, причем набор элементов должен быть как схема — т.е. открыл дизайнер, накидал на форму вкладки, виджеты (как рабочие столы андроида), настроил их (например, показ температуры в одном из домов плюс управление светом на кухне), сохранил это как схему и потом можно открывать на любом устройстве (на работе на ПК, на смартфоне) и видеть все эти элементы.

Нашел пока что OpenHAB и OpenRemote, но глубоко в них не зарывался и не знаю, могут ли они дать такие возможности.
Еще, конечно, играет роль возможность доработки и создания своих собственных протоколов и модулей. Последние два продукта написаны на Java, а я .Net разработчик, но в целом это не принципиально, наверно, можно под свои нужды переучиться.

  • Вопрос задан более трёх лет назад
  • 23102 просмотра

Универсальные платформы — те, которые в достаточно больших инсталляциях используются.
И их не так много.
Стандарт KNX — для света, HVAC. Это из «домашних» решений.
Crestron, AMX, Control4 Savant — «общие» системы автоматики, вместе с функциями AV мультирума и хорошими средствами визуализации. На панелях сенсорных специализированных, планшетах, смартфонах.
Ограничений почти никаких, стоят изрядно, есть вторичный рынок некоторых компонентов, скажем, через ebay. Там можно получить оборудование за пол цены, но без гарантии.
Savant «пляшет» от идеологии Apple. Часто использует компоненты от Apple, залитые своими прошивками и встроенные в свои устройства. Можно сделать очень красиво, но очень дорого.

Решения от Legrand (типа NuVo) — подходят для систем начального уровня (хотя цена уже приличная), имеют много ограничений. Их я не люблю.

Совсем бюджетные решения типа Mi Casa Verde + визуализация, скажем, на iRule. Для своих денег нормально, но в реальности довольно низкий уровень. Хотя разворачиваются/настраиваются существенно проще, чем тот же Crestron. Можно довольно быстро «сделать красиво», но сложные сценарии нормально не реализовать.

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

У меня были несколько идей, некоторые я уже даже кому-то в личке описывал, надо найти в личке переписку ту

Источники:

http://radiohata.ru/arduino/2079-arduino-i-raspberry-pi-v-proektah-internet-of-things-2-e-izd-cd.html

http://winplay.ru/marker/smart-home/

http://qna.habr.com/q/43828

http://arduinoplus.ru/podkluchaem-sd-kartu-k-nashemu-arduino/

Ссылка на основную публикацию