Node.js 与 Raspberry Pi

Raspberry Pi(树莓派),是一种小型多用途计算机。它为学习计算机编程教育而设计,且只有信用卡大小,其系统基于Linux。

在 Raspberry Pi 上使用 Node.js 可以让您做一些惊艳的事情。


Raspberry Pi 是什么?

Raspberry Pi(树莓派)是一款小巧、价格合理、功能惊人的信用卡大小的计算机。

它是由 树莓派 基金会开发的,它可能是最通用的技术。

创造者埃本·厄普顿的目标是创造一种低成本的设备,以提高编程技能和对硬件的理解。

由于该设备体积小、价格高,它已成为修补匠、制造商和电子爱好者广泛项目的中心。


Raspberry Pi 与 Node.js

Raspberry Pi有一组 GPIO(通用输入/输出)管脚,这些管脚可用于以惊人的方式与现实世界交互。本教程将重点介绍如何利用 Node.js 来使用它们。


我需要准备什么?

对于本教程,您需要一个 Raspberry Pi。在我们的示例中,我们使用了 Raspberry Pi 3,但本教程适用于大多数版本。所需硬件:

  • Raspberry Pi(树莓派) 计算机
  • MicroSD 存储卡(我们建议使用 10 级 16 GB或更高容量的存储卡)
  • MicroSD 至 SD存储卡适配器(通常随 MicroSD卡 提供)
  • Micro USB 电源 为 Raspberry Pi 供电(建议 2.5A 或更高)
  • Raspberry Pi 的 WiFi/以太网电缆连接(Raspberry Pi 3 不需要,因为它内置 WiFi)
  • 带有互联网和SD读卡器的工作计算机(用于将 Raspberry Pi 的操作系统安装到存储卡上)。在我们的教程中,我们使用Windows 计算机进行此操作,但如果您愿意,可以使用 Mac 或 Linux 计算机
  • HDMI 显示器、USB 键盘(我们只需要在 Raspberry Pi 首次启动时暂时使用)

在本教程的后续章节中,我们将使用连接到 Raspberry Pi 的特殊传感器或设备。我们将在相关章节中详细说明这些特殊要求。

如果已经使用 Raspbian、internet 和启用的 SSH 设置了 Raspberry Pi,则可以跳到 "在Raspberry Pi上安装Node.js" 步骤。

将 Raspbian OS 镜像写入存储卡

在开始使用 Raspberry Pi 之前,我们需要安装一个操作系统。

Raspbian 是一个基于 Debian Linux 的免费操作系统,它是经过 Raspberry Pi 优化的。

https://www.raspberrypi.org/downloads/raspbian/ 下载最新版的 Raspbian 到您的电脑。

我们在教程中使用 "LITE" 版本,因为我们将 Raspberry Pi 设置为无终端服务器(我们将通过 SSH 连接到它,而不需要连接键盘/显示器)。您可以使用任何您想要的版本,但本教程以 "LITE" 版本为重点编写。

将 MicroSD 存储卡插入计算机(如果需要,可通过 SD 适配器)。打开文件资源管理器以验证其是否可操作。

Etcher 是一个可以把镜像写入存储卡的程序。可以从 https://etcher.io/ 这个地址下载和安装 Etcher。

开始 Etcher:

点击 “Select image” 按钮然后找到您下载的 Raspbian Zip 压缩文件。

点击 “Select drive” 按钮指定内存卡作为目标位置。

点击 “Flash!” 按钮把镜像写入存储卡。

当 Etcher 完成将镜像写入存储卡后,将其从计算机中移除。


安装您的 Raspberry Pi

为了让 Raspberry Pi 准备好开机,我们需要:

当 Raspberry Pi 完成启动时, 需要使用用户名: pi 和密码: raspberry 来登录。


在 Raspberry Pi 上建立网络

如果您将使用以太网电缆将 Raspberry Pi 连接到internet,则可以跳过此步骤。

在本节中,我们假设您有一个 Raspberry Pi 3,内置 WiFi。

首先扫描无线网络:

pi@raspberrypi:~ $ sudo iwlist wlan0 scan

这将列出所有可用的 WiFi 网络。(它还确认您的 WiFi 正常工作)

现在,我们需要打开 wpa 请求文件,以添加要连接到的网络::

pi@raspberrypi:~ $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

这将在 Nano 编辑器中打开该文件。将以下内容添加到文件底部(将 wifiNamewifiPassword 修改为实际网络名称和密码):

network={
ssid="wifiName"
psk="wifiPassword"
}

Ctrl+x 保存文件。按 y 确认, 然后按 “Enter“ 键确认名称。

然后重启 Raspberry Pi:

pi@raspberrypi:~ $ sudo reboot

重启之后再次登录, 然后确认 WiFi 已连接并正常运行:

pi@raspberrypi:~ $ ifconfig wlan0

如果 WiFi 正常工作,则显示的信息应包括 IP 地址,与此类似:

inet addr:192.168.1.50

写下该 IP 地址,因为我们将使用它通过 SSH 连接到 Raspberry Pi.


确认 SSH, 修改主机名和密码

现在您的 Raspberry Pi 已连接到 internet,是时候启用 SSH 了。

SSH 让您可以在没有显示器和键盘连接的情况下使用 Raspberry Pi。

(在非 Raspberry Pi 计算机上,您需要一个 SSH 客户端来执行此操作。我们使用 windows 版的 PuTTY

打开 Raspberry Pi 软件配置工具

pi@raspberrypi:~ $ sudo raspi-config

您需要看一个这样的目录:

选择 5 Interfacing Options 选项:

选择 P2 SSH 选项, 激活 SSH:

YES 确认, 激活 SSH:

SSH 现在已启用,您应该再次进入主菜单。

选择 1 Change User Password,然后按照说明更改密码。选择一个安全的密码,但是您需要记住一些东西:

更改完密码后,应返回主菜单。选择 2 HostName,然后按照说明更改主机名:

更改完主机名后,应返回主菜单。

现在我们将关闭菜单并保存更改:

选择 Finish 时,您将获得重新启动选项。选择 Yes 以重启 Raspberry Pi.

现在可以从 Raspberry Pi 上拔下监视器和键盘,我们可以使用 SSH 客户端登录。

打开 PuTTY,输入 Raspberry Pi 的 IP 地址,然后单击 Open。

使用用户名 pi 和指定的新密码登录。您现在应该看到这样的命令行:(我们使用 demopi 作为主机名)

pi@demopi:~ $

您现在可以在 "无终端模式" 下运行 Raspberry Pi,这意味着您不需要显示器或键盘。如果您有 WiFi连接,您也不需要以太网电缆,只需要电源线!


在 Raspberry Pi 上安装 Node.js

正确设置 Raspberry Pi 后,通过 SSH 登录,并将 Raspberry Pi 系统包更新为最新版本。

更新您的系统包列表:

pi@demopi:~ $ sudo apt-get update

将所有已安装的软件包升级到其最新版本:

pi@demopi:~ $ sudo apt-get dist-upgrade
建议: 定期这样做将使您的 Raspberry Pi 安装保持最新。

下载并安装最新版本的 Node.js,使用以下命令:

pi@demopi:~ $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

现在运行:

pi@demopi:~ $ sudo apt-get install -y nodejs

检查安装是否成功,以及 Node.js 的版本号:

pi@demopi:~ $ node -v

开始使用 Raspberry Pi 与 Node.js

现在有了一个带 Node.js 的 Raspberry Pi(树莓派)!

如果您想学习更多的 Node.js 的知识,请访问本站的教程:Node.js

下一章我们将了解 GPIO 以及如何将其与 Node.js 一起使用。