Johnny-Five

johnny-five

机器人 ⭐⭐⭐☆☆ (3/5) 🧩 软硬件结合 已发布
rwaldron 13403 Stars BOM 完整度: /5 教程完整度: /5

项目简介

Bocoup开发的JavaScript机器人及IoT编程框架。


Johnny-Five是一个基于JavaScript的机器人编程框架,专为Node.js环境设计。它提供了一套统一且简洁的API,用于控制各种硬件设备,如传感器、电机、显示器等,支持多种微控制器平台(包括Arduino、Raspberry Pi、BeagleBone等)。Johnny-Five的核心理念是让开发者能够使用JavaScript这一流行语言来编写机器人程序,从而降低机器人编程的门槛,并利用Node.js的非阻塞I/O和丰富生态系统。 Johnny-Five的主要功能包括对多种硬件组件的抽象控制,如数字和模拟输入/输出、PWM、I2C、SPI等通信协议,以及伺服电机、直流电机、步进电机、LCD屏幕、温度传感器、距离传感器等常见设备的驱动。它还提供了事件驱动模型,允许开发者监听传感器数据变化并做出响应。此外,Johnny-Five支持多板协作,可以同时控制多个微控制器,实现复杂的机器人系统。 Johnny-Five适合对机器人技术感兴趣的JavaScript开发者、Web开发者以及创客。它特别适合那些希望利用JavaScript生态系统的丰富库和工具来构建机器人项目的用户。

标签

项目特点

**跨平台支持**:支持 Arduino、Raspberry Pi、Beagle Bone、Intel Galileo 等数十种主流开发板。
**基于 Firmata 协议**:通过 Firmata 固件与微控制器通信,实现硬件抽象。
**丰富的 API**:提供 LED、伺服电机、传感器、LCD 显示屏、按钮等常见硬件的控制接口。
**高度可组合**:可与 Express.js、Socket.io 等 Web 框架,以及蓝牙手柄、无人机等其他硬件项目无缝集成。
**大量示例**:包含 362 个带有代码和电路图的示例程序,方便快速上手。
**活跃的社区**:由 Nodebots 社区维护,提供论坛、Gitter 聊天室等支持渠道。

技术规格

编程语言
通信协议
支持的硬件
IO 插件
最低 Node.js 版本
安装方式

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
Arduino Uno 或兼容板 1 推荐 Sparkfun Inventor's Kit
LED 1 用于 Hello World 示例
电阻 (220Ω) 1 限流电阻
USB 数据线 1 连接 Arduino 到电脑
杜邦线 若干 面包板连接
面包板 1 用于搭建电路

所需工具

工具用途是否必需
计算机 运行 Node.js 和编写代码 ✅ 是
Arduino IDE 上传 Firmata 固件到开发板 ✅ 是
文本编辑器/IDE 编写 JavaScript 代码 ✅ 是
USB 数据线 连接开发板到计算机 ✅ 是
面包板 搭建电路原型 ▢ 推荐
万用表 调试电路 ▢ 推荐

能力画像

记忆与知识检索
逻辑推演
表达与交流
感知与观察
数理与计算
狂热与坚持
创造与创新

所需技能

🔧 **动手能力**:需要能够搭建简单的电路(面包板、连接 LED 和电阻),上传固件到 Arduino 开发板。 💻 **编程能力**:需要掌握 JavaScript 基础(Node.js 事件驱动编程),了解异步回调或 Promise。 ⚡ **电子电路**:需要了解基本电子知识(LED、电阻、面包板使用),但入门门槛较低,适合初学者。

适用场景

**教育学习**:适合初学者学习编程、电子和机器人技术,通过 JavaScript 控制硬件。
**快速原型开发**:利用丰富的 API 和示例,快速搭建物联网或机器人原型。
**创客项目**:制作交互式装置、智能家居设备、机器人小车等。
**教学演示**:在课堂或工作坊中演示硬件编程概念。