Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Node.js 和 树莓派


树莓派是一款体积小巧、功能多样的电脑。

使用 Node.js,您可以为您的树莓派实现惊人的功能。


什么是树莓派?

树莓派是一款体积小巧、价格低廉且功能强大的信用卡大小的电脑。

它由树莓派基金会开发,可能是迄今为止最通用的科技产品。

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

由于设备体积小巧、价格低廉,它已成为爱好者、创客和电子爱好者广泛项目的中心。


树莓派和 Node.js

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


我需要什么?

本教程需要一台树莓派。在我们的示例中,我们使用树莓派 3,但本教程适用于大多数版本。

所需的硬件

  • 树莓派电脑
  • MicroSD 内存卡(我们建议使用 16 GB 或更高容量的 Class 10 卡)
  • MicroSD 到 SD 内存卡适配器(通常包含在 MicroSD 卡中)
  • Micro USB 电源,用于为树莓派供电(建议使用 2.5A 或更高容量)
  • 树莓派的 WiFi/以太网电缆连接(树莓派 3 不需要,因为它内置了 WiFi)
  • 一台带有互联网和 SD 内存卡读卡器的正常工作的电脑(用于将操作系统(OS)从电脑传送到内存卡)。在本教程中,我们为此使用 Windows 电脑,但您也可以使用 Mac 或 Linux 电脑。
  • HDMI 显示器、USB 键盘(我们只需要在树莓派第一次启动时使用这些)

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

如果您已将 Raspbian 设置在树莓派上,并且已启用互联网和 SSH,您可以跳到“在树莓派上安装 Node.js”步骤。


将 Raspbian 操作系统镜像写入 MicroSD 卡

在我们开始使用树莓派之前,我们需要安装操作系统。

Raspbian 是基于 Debian Linux 的免费操作系统,并针对树莓派进行了优化。

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

在本教程中,我们使用“LITE”版本,因为我们正在将树莓派设置为无头服务器(我们将通过 SSH 连接到它,而无需将键盘/显示器连接到它)。您可以使用任何您想要的版本,但本教程以“LITE”版本为重点。

将 MicroSD 内存卡插入您的电脑(如果需要,通过 SD 适配器)。打开文件资源管理器以验证它是否可操作。

Etcher 是一个用于将镜像刷写到内存卡的程序。从 https://etcher.io/ 下载并安装 Etcher。

启动 Etcher

Launch Etcher

单击“选择镜像”按钮,找到您下载的 Raspbian 压缩文件。

单击“选择驱动器”按钮,指定内存卡作为目标位置。

单击“刷写!”按钮将镜像写入内存卡。

Etcher 完成将镜像写入内存卡后,将其从电脑中取出。


设置您的树莓派

要让树莓派准备就绪以启动,我们需要

  1. 将 MicroSD 内存卡插入树莓派
  2. 连接 USB 键盘
  3. 连接 HDMI 电缆
  4. 连接 USB Wi-Fi 适配器(或以太网电缆)。如果您使用的是树莓派 3,请跳过此步骤
  5. 连接 Micro USB 电源
  6. 树莓派现在应该正在启动

树莓派完成启动后,使用用户名 pi 和密码 raspberry 登录。


在树莓派上设置网络

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

在本节中,我们假设您有一台树莓派 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 确认名称。

然后重启树莓派

pi@raspberrypi:~ $ sudo reboot

重启后,再次登录,并确认 WiFi 已连接并正常工作

pi@raspberrypi:~ $ ifconfig wlan0

如果 WiFi 工作正常,显示的信息将包含一个 IP 地址,类似于以下内容

inet addr:192.168.1.50

记下该 IP 地址,因为我们将使用它通过 SSH 连接到树莓派。



启用 SSH,更改主机名和密码

现在您的树莓派已连接到互联网,是时候启用 SSH 了。

SSH 允许您使用树莓派,而无需将显示器和键盘连接到它。

(您将需要在非树莓派的电脑上使用 SSH 客户端。我们使用 PuTTY用于 Windows)

打开树莓派软件配置工具

pi@raspberrypi:~ $ sudo raspi-config

您应该看到类似这样的菜单

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 主机名,并按照说明更改主机名

raspi-config Main Screen

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

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

raspi-config Main Screen

选择 Finish 时,您将获得重启选项。选择 Yes 以重启树莓派。

raspi-config Main Screen

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

打开 PuTTY,输入您的树莓派的 IP 地址,然后单击 Open

raspi-config Main Screen

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

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

pi@w3demopi:~ $

您现在可以以“无头模式”运行树莓派,这意味着您不需要连接显示器或键盘。如果您有 WiFi 连接,您也不需要以太网电缆,只需要电源线!


在树莓派上安装 Node.js

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

更新您的系统包列表

pi@w3demopi:~ $ sudo apt-get update

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

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

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

要下载并安装最新版本的 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

开始使用树莓派和 Node.js

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

如果您想了解更多关于 Node.js 的信息,请查看我们的教程:https://w3schools.org.cn/nodejs/

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


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.