Node.js 和 树莓派(Raspberry Pi)

树莓派(Raspberry Pi) 是一款小型多用途计算机。

借助 Node.js,您可以用您的树莓派(Raspberry Pi)做出惊人的事情。


什么是树莓派(Raspberry Pi) ?

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

它由 Raspberry Pi Foundation 开发,它可能是有史以来最通用的技术。

创建者 Eben Upton 的目标是创建一种低成本设备,以提高编程技能和对硬件的理解。

由于该设备的小尺寸和价格,它已成为修补匠、制造商和电子爱好者众多项目的中心。


树莓派(Raspberry Pi)和 Node.js

树莓派(Raspberry Pi)有一排 GPIO(通用输入/输出)引脚,这些引脚可用于以惊人的方式与现实世界进行交互。 本教程将重点介绍如何将这些与 Node.js 一起使用。


我需要什么?

对于本教程,您需要一个树莓派(Raspberry Pi)。在我们的示例中,我们使用树莓派(Raspberry Pi) 3,但本教程应该适用于大多数版本。

需要硬件:

  • 树莓派(Raspberry Pi) 电脑
  • MicroSD 存储卡(我们推荐 16 GB 或更高的 10 级)
  • MicroSD 到 SD 存储卡适配器(通常包含在 MicroSD 卡中)
  • 为树莓派(Raspberry Pi) 供电的微型 USB 电源(推荐 2.5A 或更高)
  • 用于树莓派(Raspberry Pi) 的 WiFi/以太网电缆连接(树莓派(Raspberry Pi) 3 不需要,因为它内置了 WiFi)
  • 具有互联网和 SD 存储卡读卡器的工作计算机(用于将树莓派(Raspberry Pi) 的操作系统(操作系统)安装到存储卡上)。在我们的教程中,我们为此使用 Windows 计算机,但如果您愿意,也可以使用 Mac 或 Linux 计算机
  • HDMI 显示器、USB 键盘(我们仅在首次启动树莓派(Raspberry Pi) 时临时需要这些)

对于本教程后面的章节,我们将使用连接到树莓派(Raspberry Pi) 的特殊传感器或设备。我们将在相关章节中将这些指定为特殊要求。

如果您已经使用 Raspbian、互联网和启用了 SSH 设置了树莓派(Raspberry Pi),您可以跳到"在树莓派(Raspberry Pi) 上安装 Node.js"步骤。


将 Raspbian OS 映像写入 MicroSD 卡

在我们开始使用我们的树莓派(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

启动蚀刻机:

Launch Etcher

单击"Select image"按钮并找到您下载的 Raspbian zip 文件。

单击"Select drive"按钮并将存储卡指定为目标位置。

点击"Flash!" 按钮将图像写入存储卡。

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


设置您的树莓派(Raspberry Pi)

要让树莓派(Raspberry Pi) 准备好启动,我们需要:

  1. 将 MicroSD 存储卡插入树莓派(Raspberry Pi)
  2. 连接 USB 键盘
  3. 连接 HDMI 线
  4. 连接 USB Wi-Fi 适配器(或以太网电缆)。 如果你跳过这一步 正在使用树莓派(Raspberry Pi) 3
  5. 连接微型 USB 电源
  6. 树莓派(Raspberry Pi) 现在应该正在启动

当树莓派(Raspberry Pi) 完成启动后,使用用户名:pi 和密码:raspberry 登录


在树莓派(Raspberry Pi) 上设置网络

如果您将使用以太网电缆将树莓派(Raspberry Pi) 连接到互联网,则可以跳过此步骤。

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

首先扫描无线网络:

pi@raspberrypi:~ $ sudo iwlist wlan0 scan

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

现在我们需要打开 wpa-supplicant 文件,添加您要连接的网络:

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) 已连接到互联网,是时候启用 SSH 了。

SSH 允许您在不连接显示器和键盘的情况下使用树莓派(Raspberry Pi)。

(您需要在非树莓派(Raspberry Pi) 计算机上使用 SSH 客户端。我们使用 PuTTY 适用于 windows)

打开树莓派(Raspberry Pi) 软件配置工具:

pi@raspberrypi:~ $ sudo raspi-config

You should see a menu like this:

raspi-config Main Screen

选择选项5个接口选项

raspi-config Main Screen

选择选项P2 SSH,激活SSH:

raspi-config Main Screen

YES确认,激活SSH:

raspi-config Main Screen

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

选择1 更改用户密码,然后按照说明更改密码。 选择一个安全的密码,但你会记住的:

raspi-config Main Screen

修改完密码后,应该会回到主菜单。

选择2 Hostname,然后按照说明更改主机名:

raspi-config Main Screen

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

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

raspi-config Main Screen

选择 finish 时,您将获得重新启动的选项。 选择 Yes 重启树莓派(Raspberry Pi) 。

raspi-config Main Screen

您现在可以从树莓派(Raspberry Pi) 上拔下显示器和键盘,我们可以使用 SSH 客户端登录。

打开 PuTTY,输入树莓派(Raspberry Pi) 的 IP 地址,然后点击打开

raspi-config Main Screen

使用用户名 pi 和您指定的新密码登录。

您现在应该会看到这样的命令行:(我们使用 w3demopi 作为主机名)

pi@w3demopi:~ $

您现在可以在"Headless-mode"下运行树莓派(Raspberry Pi),这意味着您不需要显示器或键盘。 如果你有 WiFi 连接,你也不需要以太网线,只需要电源线!


在树莓派(Raspberry Pi) 上安装 Node.js

正确设置树莓派(Raspberry Pi) 后,通过 SSH 登录,并将您的树莓派(Raspberry Pi) 系统包更新到最新版本。

更新你的系统包列表:

pi@w3demopi:~ $ sudo apt-get update

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

pi@w3demopi:~ $ sudo apt-get dist-upgrade

定期执行此操作将使您的树莓派(Raspberry Pi) 安装保持最新状态。

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

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

现在通过运行安装它:

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

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

pi@w3demopi:~ $ node -v

开始使用树莓派(Raspberry Pi) 和 Node.js

现在您已经安装了 Node.js 的树莓派(Raspberry Pi)!

如果您想了解有关 Node.js 的更多信息,请按照我们的教程进行操作: https://www.w3schools.cn/nodejs/

在下一章中,我们将了解 GPIO 以及如何在 Node.js 中使用它。