Статьи

Введение в NodeBots

Многим веб-разработчикам понравится шанс создать невероятно крутого робота, которым они смогут управлять с помощью JavaScript, верно? Я здесь, чтобы сказать вам, что это уже возможно сегодня! Сейчас.

NodeBots были вокруг некоторое время, и сообщество вокруг них растет как лесной пожар. В этой статье я собираюсь объяснить, что такое NodeBots, как они работают и как можно начать работать над созданием роботов.

Что такое микроконтроллер?

Прежде чем я зайду слишком далеко, мы будем часто упоминать микроконтроллеры. Микроконтроллер — это крошечный и очень простой компьютер. Он имеет простую физическую программируемую печатную плату, которая может обнаруживать различные входы и отправлять выходы. Arduino — это тип микроконтроллера. На самом деле это один из самых распространенных экспериментов для новичков. Есть и другие виды микроконтроллеров, которые могут работать на Node, включая платы Particle (мои любимые!), Платы BeagleBone, платы Tessel (сама плата работает на JS) и платы Espruino (также на JS). В этой статье я остановлюсь на Arduinos, так как они наиболее распространены.

Что такое NodeBots?

NodeBots — это (в буквальном смысле) роботы того или иного рода, которыми можно управлять через Node. Они могут иметь все, от колес, подвижных рук и ног, детекторов движения, камер, светодиодных дисплеев, умения воспроизводить звук и многого другого. Единственными ограничениями являются ваше воображение и компоненты, которые вы можете найти и собрать!

Вся идея NodeBots развивалась благодаря растущим возможностям Node.js и интересу нескольких разработчиков, таких как Николай Онкен , Йорн Зефферер , Крис Уильямс , Джулиан Готье и Рик Уолдрон, которые работали над разработкой различных модулей Node, которые мы используем сегодня в NodeBots. Пакет Node под названием node-serialport Криса Уильямса начал все это, предоставляя доступ к устройствам реального мира через чтение и запись в последовательные порты на низком уровне.

Затем Джулиан Готье внедрил протокол Firmata, протокол, используемый для доступа к микроконтроллерам, таким как Arduinos, через программное обеспечение на компьютере с использованием JavaScript в его библиотеке Node.js Firmata .

Рик Уолдрон сделал огромный шаг вперед. Используя библиотеку Firmata в качестве строительного блока, он создал целую инфраструктуру программирования JavaScript Robotics и IoT под названием Johnny-Five . Платформа Johnny-Five делает управление всем от светодиодов до различных типов датчиков относительно простым и безболезненным. Это то, что многие NodeBots теперь используют для достижения некоторых очень впечатляющих подвигов!

Когда начать

Если вы совершенно не знакомы с идеей создания роботов и любого другого реального устройства под управлением JavaScript, есть множество невероятных ресурсов, с которых можно начать. Самое первое, что я бы порекомендовал вам сделать, это найти себе хороший комплект Arduino, который предоставляет хороший набор компонентов и датчиков, чтобы дать вам ряд предметов для игры. Ниже у меня есть список некоторых стартовых наборов Arduino, которые можно приобрести в разных компаниях. Если приведенный ниже список выглядит подавляющим, не волнуйтесь! Все они содержат очень похожие компоненты и являются хорошим выбором для начинающих.

Стартовые комплекты

  • SparkFun Inventors Kit . Это комплект, который начал все это для меня много лет назад! Он поставляется с рядом стандартных компонентов, таких как цветные светодиодные фонари, датчики, кнопки, мотор, миниатюрный динамик и многое другое. Он также поставляется с руководством и примерами проектов, которые вы можете использовать для развития своих навыков. Вы можете найти его здесь: SparkFun Inventor’s Kit .
  • Комплект Экспериментатора Freetronics для Arduino . Этот комплект принадлежит австралийской компании Freetonics. Он имеет компоненты, очень похожие на SparkFun, с небольшими отличиями. Он также имеет свое собственное руководство с примерами проектов, чтобы попробовать. Для тех, кто базируется в Австралии, эти комплекты и другие запчасти Freetronics доступны на Jaycar. Вы также можете заказать его онлайн здесь: Freetronics Experimenter’s Kit .
  • Посмотрел студийный стартовый комплект ARDX . У Seeed Studio также есть собственный стартовый набор, который также очень похож на SparkFun и Freetronics. У него есть свой гид и такой тоже! Вы можете найти его здесь: ARDX — стартовый набор для Arduino .
  • Adafruit ARDX Экспериментальный комплект для Arduino . Этот комплект также очень похож на вышеприведенный с собственным руководством. Вы можете найти его здесь: Adafruit ARDX Экспериментальный комплект для Arduino .
  • Стартовый комплект Arduino . У ребят из Arduino.cc есть собственный официальный комплект, который также доступен. Стартовый комплект похож на приведенный выше, но имеет несколько интересных примеров проектов, таких как «Love-O-Meter». Вы можете найти его здесь и часто у других реселлеров: Arduino Starter Kit .

Принимая во внимание все вышеперечисленные наборы, имейте в виду, что ни один из них не предназначен для разработки NodeBot. Таким образом, примеры в буклетах и ​​тому подобное написаны в упрощенном коде C ++, который использует Arduino. Примеры использования Node см. В ресурсах ниже.

Ресурсы для изучения NodeBots

Есть несколько ключевых мест, где вы можете узнать, как собрать различные проекты NodeBot в Интернете. Вот несколько рекомендаций:

  • Управление Arduino с Node.js и Johnny-Five . Это бесплатная заставка SitePoint, которую я записал недавно, которая знакомит с основами подключения Arduino к Node.js и использования платформы для включения и выключения светодиодной подсветки.
  • Руководство для экспериментатора Arduino для NodeJS . Адаптация Анны Гербер и других членов сообщества NodeBots из SparkFun версии.: Oomlout: .’s ARDX Guide. Он показывает, как сделать многие примеры из наборов, упомянутых выше в Node, вместо упрощенного кода C ++ из Arduino.
  • Официальный сайт Johnny-Five . Не так давно на платформе Johnny-Five был выпущен совершенно новый веб-сайт, на котором есть отличная документация по использованию фреймворка на Arduino и на других платформах!
  • Сделайте: JavaScript Robotics Book . Новая книга, выпущенная Риком Уолдроном и другими в сообществе NodeBot, в которой представлен ряд проектов JS с использованием различных устройств. Отлично подходит для тех, кто изучил основы и хочет изучить новые проекты!
  • Официальный сайт NodeBots . Проверьте эту страницу, если вы ищете местную встречу NodeBots рядом с вами, или чтобы узнать больше о NodeBots в целом.
  • NodeBots — Восстание JS Robotics . Отличный пост Криса Уильямса о том, как появились NodeBots. Это хорошее чтение для тех, кто заинтересован.

SimpleBot

Эндрю Фишер, другой австралийский энтузиаст NodeBot, создал довольно простой проект для людей, чтобы они могли создать свой первый опыт работы с NodeBot. Он называется «SimpleBot» и соответствует своему названию. Это NodeBot, который вы обычно можете создать за один день. Если вы заинтересованы в том, чтобы запустить и запустить настоящего робота, а не просто включать и выключать базовый набор датчиков и источников света, это отличный выбор для проекта. По этой причине он доступен австралийским посетителям NodeBots Day (см. Ниже) в одном из типов билетов! Это бот с колесами и ультразвуковым датчиком, чтобы обнаружить, собирается ли он столкнуться с вещами. Вот как выглядит моя готовая версия, которую я подготовил в качестве образца для NodeBots Day несколько лет назад:

SimpleBot

Список необходимых материалов SimpleBot и пример кода Node.js доступны в репозитории SimpleBot GitHub . У Эндрю также есть видео на YouTube, показывающее, как собрать SimpleBot вместе .

Эндрю также сотрудничал с командой Freetronics для создания щита SimpleBot Arduino, который также может быть полезен людям, которые хотели бы попробовать его в качестве учебного проекта без необходимости пайки чего-либо: SimpleBot Shield Kit .

Вывод

На этом мы завершаем простое введение в мир NodeBots! Если вы заинтересованы в участии, у вас есть вся необходимая информация для начала работы с NodeBot.

Если вы хотите больше участвовать в NodeBots, следите за ежегодным Международным днем ​​NodeBots. (Это происходит примерно в июле каждого года.) Это день, когда самые разные люди собираются вместе на различные мероприятия по всему миру, чтобы создавать ботов на основе JavaScript и прекрасно проводить время.

Если вы создадите изящный NodeBot с помощью любого из вышеперечисленных ресурсов, оставите заметку в комментариях или свяжитесь со мной в Twitter ( @thatpatrickguy ), я бы с удовольствием проверил вашего робота на JavaScript!