Создайте свое первое приложение для визуализации Интернета вещей на Arduino + Node.js менее чем за 15 минут

Умные дома и другие подключенные к Интернету продукты предназначены не только для домашнего использования. Они также окажут серьезное влияние на бизнес. И точно так же, как любая компания, которая блаженно игнорировала Интернет на рубеже веков, те, кто отвергает Интернет вещей, рискуют остаться позади . - Джаред Ньюман, письмо в Fast Company

В настоящее время IoT и Node.js - два модных слова, которые можно услышать в области технологий. Реализация IoT-приложения с использованием Node.js и самой Arduino - интересная тема для изучения. К концу этого поста вы создадите систему мониторинга температуры в реальном времени. Поверьте мне…! Это приложение очень легко создать, если у вас есть все необходимые условия.

Репозиторий GitHub, за которым следует следить: node-temperature-monitor (https://github.com/Narendra-Kamath/node-temperature-monitor)

Требования к оборудованию

  1. Плата Arduino Uno R3 [Купить сейчас]
  2. Резистор 1 кОм [Купить сейчас]
  3. Термистор NTC 1 кОм
  4. Провода перемычки X 3 (папа-папа) [Купить сейчас]
  5. Макетная плата [Купить сейчас]
  6. Рабочий стол

Требования к программному обеспечению

  1. Arduino IDE [Загрузить]
  2. Node.js [Скачать]

После выполнения вышеуказанных требований подключите плату Arduino и загрузите пример кода стандартных фирм. Этот конкретный код позволяет вам сделать Arduino стандартным устройством для связи с настольным компьютером, и мы собираемся управлять платой Arduino с помощью приложения Node.js, которое мы собираемся создать. Итак, давайте проверим и загрузим код «Standard Firmata» в Arduino из Arduino IDE.

После загрузки кода на плату мы собираемся настроить схему, в которой мы используем три перемычки, термистор NTC 1 кОм, резистор 1 кОм и макетную плату вместе с платой Arduino.

После настройки оборудования теперь основная часть заключается в подготовке сервера Node.js (для передачи данных из Arduino) и клиентского приложения (для приема из серверного приложения). Репозиторий GitHub, указанный в начале этого поста, можно клонировать для быстрого тестирования этого приложения.

Приложение состоит из двух частей: серверной и клиентской.

Часть 1: серверное приложение

В файл server.js мы собираемся включить две зависимости:

  • node-dweetio: это простая в использовании и бесплатная платформа обмена сообщениями для Интернета вещей.
  • johnny-five: этот узел узла используется для подключения к плате Arduino из нашего приложения Node.js.

Код простой и понятный. Где есть упоминание о контакте, к которому мы подключили перемычку данных (A0). Поскольку термистор является переменным резистором, Arduino не может рассчитать температуру и сопротивление, но его можно использовать для измерения напряжения.

Сначала мы должны измерить сопротивление, а затем, исходя из этого, мы сможем измерить температуру. Это та же логика, которая применяется в событии при изменении датчика температуры (Ссылка: Сделать датчик температуры Arduino). DweetThing - это уникальное имя, которое может быть присвоено подключенному объекту, в данном примере это node-temperature-monitor. Теперь готова серверная часть, где при каждом изменении температуры объект сообщения будет разворачиваться.

Часть 2: клиентское приложение для визуализации

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

Здесь мы собираемся использовать узел узла socket.io, чтобы включить двунаправленную связь на основе событий в реальном времени. Когда с сервера отправляется dweet, app.js перехватывает dweet, и те же данные передаются с использованием экземпляра socket.io. Теперь мы собираемся создать часть представления узла приложения в общей папке. В этой конкретной папке будет страница index.html и файл JavaScript.

Файл index.html зависит от socket.io, jquery, bootstrap и morris js. Мы используем библиотеку диаграмм Morris.js для создания простой линейной диаграммы для отображения температуры в конкретный момент времени, когда есть сообщение с сервера.

Заключительные шаги

Поскольку мы создали как серверную, так и клиентскую часть приложения, сначала мы запустим сервер. Обратитесь к репозиторию GitHub, чтобы получить представление о том, как запустить сервер. Когда сервер будет собран, консоль будет выглядеть примерно так:

> npm run server-start

Теперь прекрасная часть этого приложения - визуализация. Запустите команду и перейдите на страницу http: // localhost: 3000,

> npm run start

Поздравляем, мы создали приложение для мониторинга и визуализации температуры в реальном времени на основе Node.js. Разве это не было легко?

Пожалуйста, поделитесь своим мнением в разделе ответов :) Спасибо!

Ссылки