Node.js и Raspberry Pi
Raspberry Pi - небольшой многофункциональный компьютер.
Из Node.js вы можете делать удивительные вещи с Raspberry Pi.
Что такое Raspberry Pi?
Raspberry Pi - это небольшой, доступный и удивительно мощный компьютер размером с кредитную карту.
Он разработан Raspberry Pi Foundation и может быть самой универсальной технологией из когда-либо созданных.
Целью создателя Эбена Аптона было создание недорогого устройства, которое улучшило бы навыки программирования и понимание оборудования.
Из-за небольшого размера и цены устройство стало центром широкого спектра проектов мастеров, производителей и энтузиастов электроники.
Raspberry Pi и Node.js
Raspberry Pi имеет ряд контактов GPIO (ввод/вывод общего назначения), которые можно использовать для удивительного взаимодействия с реальным миром. В этом руководстве мы сосредоточимся на том, как использовать их с Node.js.
Что мне нужно?
Для этого урока вам понадобится Raspberry Pi. В наших примерах мы используем Raspberry Pi 3, но это руководство должно работать для большинства версий.
Требуется оборудование:
- Компьютер Raspberry Pi
- Карта памяти MicroSD (мы рекомендуем класс 10 с объемом памяти 16 ГБ или выше)
- Адаптер карты памяти MicroSD к SD (обычно прилагается к карте MicroSD)
- Блок питания Micro USB для питания Raspberry Pi (рекомендуется 2,5 или больше)
- Подключение кабеля Wi-Fi / Ethernet для Raspberry Pi (не требуется для Raspberry Pi 3, поскольку он имеет встроенный Wi-Fi)
- Рабочий компьютер с Интернетом и устройством чтения карт памяти SD (используется для установки ОС (операционной системы) Raspberry Pi на карту памяти). В нашем руководстве мы используем для этого компьютер с Windows, но вы можете использовать компьютер Mac или Linux, если хотите
- HDMI-монитор, USB-клавиатура (они нужны нам временно для первой загрузки Raspberry Pi)
В последующих главах этого руководства мы будем использовать специальные датчики или устройства, которые мы подключаем к Raspberry Pi. Мы укажем это как особые требования в соответствующих главах.
Если у вас уже есть Raspberry Pi, настроенный с Raspbian, Интернет и включенный SSH, вы можете перейти к шагу "Установка Node.js на Raspberry Pi".
Записать образ ОС Raspbian на карту MicroSD
Прежде чем мы сможем начать использовать Raspberry Pi для чего-либо, нам нужно установить ОС.
Raspbian - это бесплатная операционная система на основе Debian Linux, оптимизированная для Raspberry Pi.
Загрузите последний образ Raspbian со страницы https://www.raspberrypi.org/downloads/raspbian/ на свой компьютер.
Мы используем "LITE" версии в нашем руководстве, так как мы настраиваем Raspberry Pi как безголовый сервер (мы будем подключаться к нему через SSH, без подключения к нему клавиатуры / дисплея). Вы можете использовать любую версию, которую хотите, но это руководство написано с использованием "LITE" версии как его фокус.
Вставьте карту памяти MicroSD в компьютер (при необходимости через адаптер SD). Откройте проводник, чтобы убедиться, что он работает.
Etcher - программа для записи изображений на карты памяти. Загрузите и установите Etcher из: https://etcher.io/
Запустите Etcher:
Нажмите кнопку "Выбрать изображение" и найдите загруженный zip-файл Raspbian.
Нажмите кнопку "Выбрать диск" и укажите карту памяти в качестве целевого местоположения.
Нажмите "Flash!" кнопку для записи изображения на карту памяти.
После того, как Etcher закончит запись изображения на карту памяти, удалите его с компьютера.
Настройте свой Raspberry Pi
Чтобы подготовить Raspberry Pi к загрузке, нам нужно:
- Вставьте карту памяти MicroSD в Raspberry Pi
- Подключите USB-клавиатуру
- Подключите кабель HDMI
- Подключите USB-адаптер Wi-Fi (или кабель Ethernet). Пропустите этот шаг, если вы используете Raspberry Pi 3
- Подключите источник питания micro USB
- Raspberry Pi должен загружаться.
Когда Raspberry Pi завершит загрузку, войдите в систему, используя имя пользователя: pi
и пароль: raspberry
Настройка сети на Raspberry Pi
Если вы будете использовать кабель Ethernet для подключения Raspberry Pi к Интернету, вы можете пропустить этот шаг.
В этом разделе мы предполагаем, что у вас есть Raspberry Pi 3 со встроенным Wi-Fi.
Начните с поиска беспроводных сетей:
pi@raspberrypi:~ $
sudo iwlist wlan0 scan
В нем будут перечислены все доступные сети Wi-Fi. (Это также подтверждает, что ваш WiFi работает).
Теперь нам нужно открыть файл wpa-supplicant, чтобы добавить сеть, к которой вы хотите подключиться:
pi@raspberrypi:~ $ sudo
nano /etc/wpa_supplicant/wpa_supplicant.conf
Это откроет файл в редакторе Nano. Добавьте следующее в конец файла (замените wifiName
и wifiPassword
на фактическое имя сети и пароль):
network={
ssid="wifiName"
psk="wifiPassword"
}
Нажмите "Ctrl+x
" чтобы сохранить код. Подтвердите, нажав "y
", и подтвердите имя, нажав "Enter
".
И перезагрузите Raspberry Pi:
pi@raspberrypi:~ $ sudo reboot
После перезагрузки снова войдите в систему и убедитесь, что WiFi подключен и работает:
pi@raspberrypi:~ $ ifconfig wlan0
Если Wi-Fi работает нормально, отображаемая информация должна включать IP-адрес, подобный этому:
inet addr:192.168.1.50
Запишите этот IP-адрес, так как мы будем использовать его для подключения к Raspberry Pi через SSH.
Включить SSH, изменить имя хоста и пароль
Теперь ваш Raspberry Pi подключен к Интернету, пора включить SSH.
SSH позволяет использовать Raspberry Pi без подключения к нему монитора и клавиатуры.
Для этого вам понадобится SSH-клиент на вашем компьютере, отличном от Raspberry Pi. Мы используем
Откройте инструмент настройки программного обеспечения 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, введите IP-адрес своего Raspberry Pi и нажмите Open
:
Войдите в систему, используя имя пользователя pi
и новый пароль, который вы указали.
Теперь вы должны увидеть такую командную строку: we used w3demopi as our hostname (мы использовали w3demopi в качестве имени хоста)
pi@w3demopi:~ $
Теперь вы можете запустить свой Raspberry Pi в "режиме без головы", что означает, что вам не нужен монитор или клавиатура. А если у вас есть соединение Wi-Fi, вам не нужен кабель Ethernet, только кабель питания!
Установка Node.js на Raspberry Pi
После правильной настройки 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
Теперь у вас есть Raspberry Pi с установленным Node.js!
Если вы хотите узнать больше о Node.js, перейдите на Учебник Node.js на нашем сайте W3Schools на русском
В следующей главе мы узнаем о GPIO и о том, как его использовать с Node.js.