Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT

Компоненты и материалы

Arduino Yun × 1
Сервопривод (Tower Pro MG996R) × 1
Гайки и болты M3 × 3
Фанера 4 мм × 1

Инструменты и оборудование

Лазерный резак
Клеевой пистолет
Смартфон (Android или iOS)

Приложения и онлайн-сервисы

IFTTT Maker service

О проекте

Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT

(Источник: Instructables)

Как построить веб-управляемый Arduino-индикатор IoT с REST API и подключить его к платформе IFTTT.com через релейный сервис Yaler.net.

В чем суть? С Maker Channel IFTTT поддерживает пользовательские вебхуки для интеграции DIY IoT-проектов. Ждали этого с 2011 года.

Вдохновлено WhereDial — классикой DIY IoT. IoT Gauge показывает текущее местоположение владельца. Что-то вроде часов Уизли из Гарри Поттера.

Дизайн и код универсальны — можно отображать погоду или любые другие данные. Логика в облаке, индикатор — просто сервопривод с API.

Загрузки (для Uno)

* Я — основатель Yaler.

** Zapier, другая платформа интеграции, всегда поддерживала вебхуки.

Шаг 1: Лазерная резка и сборка

Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT
Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT
Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT
Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT

Изготовление деталей

Сборка

Шаг 2: Загрузка веб-сервиса Arduino

Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT

Простой веб-сервис

Управление IoT Gauge просто: веб-служба (REST API) слушает входящие запросы и устанавливает позицию сервопривода. Индикатор — «глупый» сервопривод. Логика в облаке позволяет менять «мозг» позже (например, показывать погоду вместо локации).

Удаленный доступ к Arduino

Чтобы IFTTT имел доступ к IoT Gauge, REST API Arduino должен быть доступен из интернета. Эксперты могут настроить файрвол/роутер, но проще использовать релейный сервис.

Установка для Arduino Uno (для Yun см. ниже)

Установка для Arduino Yun

Почему код для Yun отличается от Uno?

Yun имеет встроенный REST API (mailbox). Для веб-доступа используется демон YalerTunnel (поддерживает SSL, в отличие от Uno). Используя имеющееся, упрощаем код. Mailbox API не идеален (не строго RESTful, позволяет GET менять значения), но работает на стороне Linux Yun, экономя память Arduino.

* Если не хотите использовать релейный сервис, просто удалите его и (для Uno) раскомментируйте локальный сервер.

Шаг 3: Тестирование веб-сервиса с Curl

Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT

Установка Curl

Включение API Arduino Yun (пропустите для Uno)

Тестирование IoT Gauge с Curl

Зачем тестировать с Curl?

Curl — стандартный HTTP-клиент. Браузер отлично подходит для GET, есть онлайн-инструменты для PUT/POST. Но браузер может добавлять «магию» (редиректы). Чтобы убедиться, что базовый клиент или вебхук IFTTT может обратиться к вашему API — Curl идеален.

* Для Uno POST /mailbox/pos/3 работает так же как PUT /servo?pos=3, так как парсер запросов достаточно гибок.

Шаг 4: Подключение к IFTTT Maker Channel

Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT
Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT
Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT

Создание нового рецепта IFTTT

IFTTT позволяет создавать рецепты, соединяющие триггер и действие.

  1. Зайдите на ifttt.com/myrecipes/personal/new (зарегистрируйтесь, если нужно)
  2. Выберите триггер-канал: поищите «Android Device» или «iOS Location»
  3. Выберите триггер, например Connects to a specific WiFi network (Android)
  4. Введите имя сети или локацию
  5. Для действия найдите канал Maker
  6. Выберите действие Make a web request
  7. URL: https://RELAY_DOMAIN.try.yaler.io/mailbox/pos/3 (замените RELAY_DOMAIN)
  8. Method: POST
  9. Content Type: application/x-www-form-urlencoded
  10. Body: оставьте пустым

Добавление существующего рецепта

IFTTT позволяет публиковать рецепты. Вот два для IoT Gauge:

Нажмите Add, введите WiFi-сеть/локацию, замените RELAY_DOMAIN в URL, адаптируйте параметр pos (1-5) под вашу локацию. Добавьте экземпляр рецепта для каждой локации.

* Похоже, IFTTT пока не добавляет рецепты Maker Channel в поиск.

Шаг 5: Создание IFTTT Do Button

Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT

Приложения IFTTT Do

IFTTT предоставляет приложения Do для iOS и Android для ручного запуска действий. Отлично для тестирования других рецептов.

В отличие от обычных рецептов, Do-рецепты пока нельзя публиковать — создавайте с нуля.

Создание Do Button

  1. Скачайте Do Button: ifttt.com/products/do/button
  2. Пройдите вводные экраны
  3. Нажмите иконку справа внизу → Channels → найдите Maker
  4. Выберите Make a web request
  5. URL: https://RELAY_DOMAIN.try.yaler.io/mailbox/pos/3
  6. Method: POST
  7. Content Type: application/x-www-form-urlencoded
  8. Body: пусто
  9. Нажмите Add
  10. Редактируйте онлайн на ifttt.com/myrecipes/do

Готово! Спасибо за внимание, вопросы и предложения приветствуются.

Код

Репозиторий на Bitbucket

Печатные платы и корпуса

IoT_Gauge.zip

Схемы

Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT

Производственный процесс

  1. Ретро-часы на индикаторах Numitron с Arduino: просто, надёжно, экономно
  2. Создание игры в реальном времени на Arduino Nano с гироскопом MPU-6050 и OLED-дисплеем
  3. IoT и ИИ для мониторинга качества воды: защита водных экосистем
  4. MotionSense: умная система обнаружения проникновения на Arduino и ESP8266
  5. Сборка точного измерительного колеса на Arduino Nano и вращательном энкодере
  6. Магнитная левитация на отталкивании с Arduino: Простая схема и DIY-руководство
  7. Высокопроизводительный регистратор данных для метеозонда на Arduino
  8. ArduFarmBot Часть 2: Удалённая IoT-станция управления фермой
  9. Arduino Flip Clock на матрице 8×8 LED — DIY проект реального времени
  10. Продвинутая лаборатория микроконтроллеров: ESP32, Arduino, PIC и сенсорные модули