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

Датчик Интернета вещей с Arduino, Yaler и IFTTT

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

Ардуино Юн
× 1
Сервоприводы (Tower Pro MG996R)
× 1
гайки и болты M3
× 3
фанера толщиной 4 мм
× 1

Необходимые инструменты и машины

Лазерный резак
Пистолет для горячего клея
телефон Android или iOS

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

Служба IFTTT Maker

Об этом проекте

(Из http://www.instructables.com/id/IoT-Gauge-with-Arduino-Yaler-IFTTT/)

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

Что в этом интересного? Благодаря Maker Channel IFTTT поддерживает настраиваемые веб-перехватчики для интеграции проектов DIY IoT. Ждали этого с 2011 года **.

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

Дизайн и код IoT Gauge являются общими и могут также использоваться для отображения, например, погодные условия. Логика находится в облаке, датчик - это просто сервопривод с API.

Ура, @tamberg

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

  • Библиотека Yaler Arduino, YalerEthernetServer.zip
  • Код Arduino Uno, IoTGaugeWebService.ino

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

**) Zapier , еще одна гибридная платформа, всегда поддерживающая настраиваемые веб-перехватчики.

Шаг 1. Лазерная резка и сборка датчика Интернета вещей

Производство деталей

  • Загрузите файлы проекта IoT Gauge.
  • Вырезанный лазером дизайн из фанеры толщиной 4 мм.
  • Выгравируйте названия мест (или что вам нужно) или добавьте их ручкой.

Сборка IoT Gauge

  • Добавьте экран Ethernet к Arduino (для Uno)
  • Прикрутите Arduino к опорной пластине (обратите внимание на ее ориентацию).
  • Добавьте к сервоприводу большую лицевую панель, а затем маленькую лицевую панель.
  • Прикрепите опорную пластину к обеим лицевым пластинам и убедитесь, что все совмещено.
  • Приклейте индикаторы к лицевой панели и убедитесь, что они правильно ориентированы.
  • С помощью перемычек подключите сервопривод к контакту 9, 5V и GND Arduino (или экрана).
  • Добавьте стрелку часов (для калибровки позже)

Шаг 2. Загрузка кода Arduino веб-службы IoT Gauge

Простая веб-служба

Управлять IoT Gauge довольно просто. Веб-служба (или REST API) прослушивает входящие запросы и соответственно устанавливает положение сервопривода. IoT Gauge - это просто «тупой» сервопривод. Сохранение логики в облаке позволяет позже поменять "мозг", например для отображения погодных условий вместо местоположения.

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

Чтобы предоставить облачной службе IFTTT доступ к IoT Gauge, наш Arduino REST API должен быть доступен и адресуем из Интернета. Эксперты могут добавить исключение для своего брандмауэра или маршрутизатора. Но поскольку это может быть довольно проблематично, мы воспользуемся услугой ретрансляции *.

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

  • Установите библиотеку YalerEthernetServer.zip, как показано в https://yaler.net/arduino
  • Загрузите код IoTGaugeWebService.ino для Arduino Uno.
  • Убедитесь, что вы используете уникальный MAC-адрес.
  • Заменить RELAY_DOMAIN с вашим доменом ретрансляции. (Чтобы получить домен ретрансляции, зарегистрируйте бесплатную пробную учетную запись на Yaler.net)
  • Загрузите код в свой Arduino Uno

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

  • Установите YalerTunnel и включите веб-доступ, как показано на https://yaler.net/arduino-yun
  • Загрузите код IoTGaugeMailboxApi.ino Arduino Yun.
  • Загрузите код в свой Arduino Yun.

Почему код Юнь отличается от кода Уно?

Yun предоставляет встроенный REST API, называемый почтовым ящиком. Чтобы сделать этот API доступным из Интернета, мы используем демон YalerTunnel Linux (который также поддерживает шифрование SSL, в отличие от Uno). Опираясь на то, что уже есть, вы можете упростить свой код.

Взгляните на обе программы и решите сами. API почтового ящика Yun не идеален (и не является строго RESTful, поскольку он позволяет GET изменять значения), но он основан на скрипте, запущенном на стороне Linux Yun, который использует меньше драгоценной памяти на стороне Arduino.

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

Шаг 3. Тестирование веб-службы Arduino с помощью Curl

Установка инструмента командной строки Curl на ваш компьютер

  • Загрузите и установите Curl с http://curl.haxx.se/
  • Откройте оболочку на своем компьютере и протестируйте Curl с помощью $ curl -v http://google.com/ .

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

  • Включите Yun, подождите немного, затем посетите http://arduino.local/
  • Войдите и нажмите Настроить .
  • Прокрутите вниз и установите для доступа REST API значение Открыть .
  • Нажмите Настроить и перезапустить .

Тестирование IoT Gauge с помощью Curl

  • Убедитесь, что Arduino включен и подключен к Интернету.
  • Установите положение сервопривода на 3 (или любое другое положение от 1 до 5) с помощью * $ curl -vX POST http://RELAY_DOMAIN.try.yaler.io/mailbox/pos/3 (Заменить RELAY_DOMAIN с доменом ретрансляции, который вы использовали ранее)
  • Убедитесь, что сервопривод переместил руку в желаемое положение (при необходимости отрегулируйте руку).
  • Убедитесь, что вы получили что-то вроде 200 . ОК в ответ на вызов curl
  • Если вы получили 504 Arduino не подключен к сети или произошла опечатка.

Почему вам следует тестировать свой API с помощью Curl?

Curl - это стандартный HTTP-клиент. Ваш браузер отлично подходит для тестирования запросов GET, и есть онлайн-инструменты для тестирования запросов PUT и POST. Но иногда браузер добавляет магию, например, следующие перенаправления. Поэтому, если вы хотите убедиться, что базовый клиент или сторонний вызов Webhook, такой как отправленный из IFTTT, может получить доступ к вашему API веб-службы, Curl отлично подойдет.

*) Для Uno POST / mailbox / pos / 3 работает так же, как PUT / servo? pos =3, потому что код, анализирующий запрос, довольно снисходительный.

Шаг 4. Подключение Arduino к каналу IFTTT Maker

Создание нового рецепта IFTTT (или пропустите, чтобы добавить существующий рецепт)

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

  • Посетите https://ifttt.com/myrecipes/personal/new (зарегистрируйтесь, если еще не сделали этого).
  • Чтобы выбрать канал запуска, выполните поиск, например, "Устройство Android" или "Местоположение iOS" и выберите значок канала.
  • Затем выберите триггер, например Подключается к определенной сети Wi-Fi (для Android)
  • Введите имя сети или местоположение.
  • При выборе канала действия найдите Maker канал и выберите его.
  • Затем выберите действие Сделать веб-запрос .
  • Введите URL-адрес http://REAY_DOMAIN.try.yaler.io/mailbox/pos/3 (Заменить RELAY_DOMAIN с доменом ретрансляции, который вы использовали ранее)
  • В качестве метода выберите P OST
  • В качестве типа контента выберите application / x-www-form-urlencoded .
  • Тело можно оставить пустым.

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

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

  • Откройте рецепт "Положение датчика Интернета вещей из местоположения Wi-Fi Android" здесь.
  • Или рецепт "Положение датчика IoT из местоположения iOS" здесь
  • Или выполните поиск * рецептов "IoT Gauge", https://ifttt.com/recipes/search?q=IoT+Gauge
  • Чтобы добавить экземпляр рецепта к вашим рецептам, нажмите кнопку Добавить кнопка
  • Введите имя или местоположение сети Wi-Fi (или то, что требует рецепт).
  • Заменить RELAY_DOMAIN в URL-адресе с доменом ретрансляции, который вы использовали ранее.
  • Адаптируйте параметр pos в URL-адресе от 1 до 5 в соответствии с вашим местоположением.
  • Добавьте еще один экземпляр рецепта для каждого места.

*) Похоже, что IFTTT еще не добавляет рецепты каналов Maker в результаты поиска

Шаг 5:Создание кнопки IFTTT Do для IoT Gauge

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

IFTTT также предоставляет Do приложения для iOS и Android. Приложение позволяет запускать действия вручную. Это может быть отличным вариантом для тестирования ваших других рецептов IFTTT.

В отличие от обычных рецептов IFTTT, рецепты приложения Do нельзя (пока?) Публиковать или публиковать. Так что вам придется создавать их с нуля.

Создание новой кнопки IFTTT Do

  • Загрузите приложение Do Button для Android или iPhone по адресу https://ifttt.com/products/do/button
  • Работайте с довольно раздражающими, но обязательными (?) заставками
  • Используйте маленький значок в правом нижнем углу, чтобы открыть список рецептов.
  • Коснитесь знака, затем коснитесь Каналы и найдите Maker канал
  • Затем выберите действие Сделать веб-запрос .
  • Введите URL-адрес http://REAY_DOMAIN.try.yaler.io/mailbox/pos/3 (Заменить RELAY_DOMAIN с доменом ретрансляции, который вы использовали ранее)
  • Для метода выберите POST
  • Для типа контента выберите application / x-www-form-urlencoded
  • Тело можно оставить пустым
  • Нажмите Добавить . создать кнопку
  • Созданный рецепт можно редактировать в Интернете по адресу https://ifttt.com/myrecipes/do

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

Код

Bitbucket

Изготовленные на заказ детали и корпуса

IoT_Gauge.zip

Схема


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

  1. Самодельные простейшие часы Numitron IV9 с Arduino
  2. Игра с гироскопом Arduino с MPU-6050
  3. Спасение водных организмов и борьба с загрязнением воды с помощью Интернета вещей и искусственного интеллек…
  4. MotionSense
  5. Простое измерительное колесо с поворотным энкодером, сделанное своими руками
  6. Отталкивающая электромагнитная левитация Arduino
  7. Регистратор данных с погодными шарами на базе Arduino
  8. ArduFarmBot - Часть 2:Удаленная станция и реализация Интернета вещей
  9. Перекидные часы Arduino с одной светодиодной матрицей
  10. Лаборатория микроконтроллеров