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/”