Рубрики
Без рубрики

Vue.js Учебник Джонни Файва

Узнайте, как общаться с электронными устройствами с помощью JavaScript

Johnny Five – это супер крутая библиотека, которая позволяет нам взаимодействовать с электронными устройствами с помощью JavaScript .

Такие устройства, как Arduino, обычно программируются на языке Arduino, который является особой основой для C/C++.

Из-за ограниченных возможностей этих электронных устройств, с низкой памятью и скоростью процессора, другие языки изначально не могут использоваться для написания программ для них.

Но существует специальный протокол, называемый Формат , который позволяет языкам взаимодействовать с Arduino.

Johnny Five – отличная библиотека, которая позволяет нам делать это с помощью JavaScript, и в частности Node.js .

Настройка вашего Arduino для работы с Джонни Файвом

Загрузите Arduino IDE с http://arduino.cc/en/main/software .

Откройте его, и вы увидите что-то вроде этого:

Подключите плату Arduino к вашему USB-порту.

Перейдите в меню Инструменты -> Порт и убедитесь, что выбран порт, к которому подключен Arduino (в моем случае /dev/cu.usbmodem14101 ). У вас должно быть несколько вариантов, и Arduino IDE уже должна предварительно определить это для вас.

Перейдите в раздел Инструменты -> Доска и убедитесь, что у вас правильно выбрано устройство.

В моем случае устройство представляет собой плату, совместимую с Arduino Uno.

Затем перейдите в раздел Файл -> Примеры -> Фирма и выберите Стандартная фирма Плюс :

Это приведет к загрузке нового окна:

Щелкните значок со стрелкой вправо на панели инструментов, чтобы скомпилировать и загрузить программу на плату Arduino:

Отлично! Теперь у вас все готово, что касается аппаратного обеспечения, для использования Джонни Файва.

Устройство Arduino должно оставаться подключенным

Одна вещь, которую вам нужно отметить о Джонни Файве и таком подходе к написанию приложений для электроники с использованием JavaScript/Node.js заключается в том, что мы не можем отсоединить устройство от компьютера.

Обычно, когда вы программируете Arduino, используя язык Arduino, который является C/C++, как только программа загружена на устройство, вы можете переместить ее куда угодно, и как только Arduino загружается, потому что он включен, программа начинает работать.

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

Программа, загруженная в память сейчас, является программой StandardFirmata Plus , которая предоставляет Johnny Five набор примитивов, API, реализованный через протокол Firmata , который мы можем вызвать программно через USB-соединение.

Как только мы отключаем Arduino, программа Johnny Five прекращает свое выполнение.

Один из способов преодолеть эту проблему, если мы хотим, например, развернуть ваше устройство где-нибудь, – это использовать Raspberry PI, подключить к нему Arduino и запустить Node.js приложение оттуда, возможно, с вашего компьютера, используя VLC или SSH-соединение.

Это выходит за рамки данного урока, но ознакомьтесь с тем, как подключиться к Raspberry Pi с помощью Mac и как убедиться, что у Raspberry Pi всегда один и тот же IP-адрес, если вы заинтересованы в этом.

Вы также можете решить эту проблему другими способами, например с помощью дополнительного модуля Wi-Fi .

Однако для понимания того, как мы можем программировать электронику с помощью JavaScript, будет достаточно, чтобы устройство было подключено к нашему компьютеру.

Обзор функциональности, предлагаемой Johnny Five

Johnny Five предлагает доступ к нескольким API, которые мы можем использовать для доступа к часто используемым электронным компонентам:

  • повел
  • Кнопки
  • Датчики
  • Серводвигатели
  • Шаговые двигатели
  • Термометры
  • ЖК-экраны
  • Джойстики
  • Гироскопы
  • Акселерометры

и многое другое.

Все это доступно как часть пакета johnny-five npm:

npm install johnny-five

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

const { Board } = require('johnny-five')
const board = new Board()

board.on('ready', () => {
  //ready!
})

Я не буду описывать весь API, с которым можно ознакомиться по адресу Я не буду описывать весь API, с которым можно ознакомиться по адресу

Получите класс Led из библиотеки и инициализируйте новый объект Led с помощью new Led() , передав pin-код в качестве параметра:

const { Led } = require('johnny-five')
//...
const led = new Led(13)

Как только у вас есть объект led , вы можете вызвать его методы, которые включают:

  • led.on() чтобы включить его
  • led.off() чтобы выключить его
  • led.toggle() для переключения его текущего состояния
  • led.blink() для переключения на неопределенный срок, по умолчанию каждые 100 мс
  • led.stop() чтобы остановить мигание

Это первое из серии учебных пособий Джонни Файва. В следующем уроке по Джонни Файву я покажу вам больше о том, как им пользоваться!

Оригинал: “https://flaviocopes.com/johnny-five/”