Node.js và Raspberry Pi
Raspberry Pi là một máy tính nhỏ, đa dụng.
Với Node.js, bạn có thể làm những điều tuyệt vời với Raspberry Pi của mình.
Raspberry Pi là gì?
Raspberry Pi là một máy tính cỡ thẻ tín dụng nhỏ, giá cả phải chăng và có khả năng hoạt động đáng kinh ngạc.
Nó được phát triển bởi Raspberry Pi Foundation và có thể là công nghệ linh hoạt nhất từng được tạo ra.
Mục tiêu của người sáng tạo Eben Upton là tạo ra một thiết bị giá rẻ có thể cải thiện kỹ năng lập trình và hiểu biết về phần cứng.
Do kích thước nhỏ và giá thành của thiết bị, nó đã trở thành trung tâm của hàng loạt dự án của những người mày mò, chế tạo và những người đam mê điện tử.
Raspberry Pi và Node.js
Raspberry Pi có một hàng chân GPIO (Đầu vào/đầu ra Mục đích chung) và chúng có thể được sử dụng để tương tác theo những cách tuyệt vời với thế giới thực. Hướng dẫn này sẽ tập trung vào cách sử dụng chúng với Node.js.
Tôi cần những gì?
Đối với hướng dẫn này, bạn cần có Raspberry Pi. Trong các ví dụ của chúng tôi, chúng tôi sử dụng Raspberry Pi 3, nhưng hướng dẫn này sẽ hoạt động với hầu hết các phiên bản.
Phần cứng cần thiết:
- Máy tính Raspberry Pi
- Thẻ nhớ MicroSD (Chúng tôi khuyên dùng loại 10 với 16 GB trở lên)
- Bộ chuyển đổi thẻ nhớ MicroSD sang SD (thường đi kèm với thẻ MicroSD)
- Bộ nguồn micro USB để cấp nguồn cho Raspberry Pi (khuyên dùng 2,5A hoặc cao hơn)
- Kết nối cáp WiFi/Ethernet cho Raspberry Pi (Không cần thiết cho Raspberry Pi 3 vì nó đã tích hợp WiFi)
- Một máy tính hoạt động có internet và đầu đọc thẻ nhớ SD (dùng để lấy HĐH (Hệ điều hành) cho Raspberry Pi vào thẻ nhớ). Trong hướng dẫn của chúng tôi, chúng tôi sử dụng máy tính Windows cho việc này, nhưng bạn có thể sử dụng máy tính Mac hoặc Linux nếu muốn
- Màn hình HDMI, bàn phím USB (chúng tôi chỉ cần những thứ này tạm thời cho lần khởi động đầu tiên của Raspberry Pi)
Đối với các chương sau của hướng dẫn này, chúng tôi sẽ sử dụng các cảm biến hoặc thiết bị đặc biệt mà chúng tôi kết nối với Raspberry Pi. Chúng tôi sẽ chỉ rõ đây là những yêu cầu đặc biệt trong các chương liên quan.
Nếu bạn đã thiết lập Raspberry Pi với Raspbian, internet và bật SSH, bạn có thể chuyển sang bước "Cài đặt Node.js trên Raspberry Pi".
Ghi hình ảnh hệ điều hành Raspbian vào thẻ MicroSD
Trước khi có thể bắt đầu sử dụng Raspberry Pi cho bất kỳ mục đích nào, chúng ta cần cài đặt hệ điều hành.
Raspbian là một hệ điều hành miễn phí dựa trên Debian Linux và được tối ưu hóa Raspberry Pi.
Tải xuống hình ảnh Raspbian mới nhất từ https://www.raspberrypi.org/downloads/raspbian/ về máy tính của bạn.
Chúng tôi sử dụng phiên bản "LITE" trong hướng dẫn của mình vì chúng tôi đang thiết lập Raspberry Pi làm máy chủ không đầu (chúng tôi sẽ kết nối với nó thông qua SSH mà không cần kết nối bàn phím/màn hình với nó). Bạn có thể sử dụng bất kỳ phiên bản nào bạn muốn, nhưng hướng dẫn này được viết với phiên bản "LITE" làm trọng tâm.
Lắp thẻ nhớ MicroSD vào máy tính của bạn (thông qua bộ chuyển đổi SD nếu cần). Mở File Explorer để xác minh rằng nó đang hoạt động.
Etcher là chương trình flash ảnh vào thẻ nhớ. Tải xuống và cài đặt Etcher từ: https://etcher.io/
Khởi chạy Etcher:
Nhấp vào nút "Chọn hình ảnh" và tìm tệp zip Raspbian mà bạn đã tải xuống.
Nhấp vào nút "Chọn ổ đĩa" và chỉ định thẻ nhớ làm vị trí đích.
Nhấp vào "Flash!" nút để ghi ảnh vào thẻ nhớ.
Sau khi Etcher ghi xong hình ảnh vào thẻ nhớ, hãy xóa nó khỏi máy tính.
Thiết lập Raspberry Pi của bạn
Để Raspberry Pi sẵn sàng khởi động, chúng ta cần:
- Lắp thẻ nhớ MicroSD vào Raspberry Pi
- Kết nối bàn phím USB
- Kết nối cáp HDMI
- Kết nối bộ chuyển đổi USB Wi-Fi (hoặc cáp Ethernet). Bỏ qua bước này nếu bạn đang sử dụng Raspberry Pi 3
- Kết nối nguồn điện micro USB
- Raspberry Pi bây giờ sẽ khởi động
Khi Raspberry Pi khởi động xong, hãy đăng nhập bằng tên người dùng: pi
và mật khẩu: raspberry
Thiết lập mạng trên Raspberry Pi
Nếu bạn định sử dụng cáp Ethernet để kết nối Raspberry Pi với internet, bạn có thể bỏ qua bước này.
Đối với phần này, chúng tôi sẽ giả sử bạn có Raspberry Pi 3, được tích hợp WiFi.
Bắt đầu bằng cách quét tìm mạng không dây:
pi@raspberrypi:~ $
sudo iwlist wlan0 scan
Điều này sẽ liệt kê tất cả các mạng WiFi có sẵn. (Nó cũng xác nhận rằng WiFi của bạn đang hoạt động)
Bây giờ chúng ta cần mở tệp wpa-supplicant, để thêm mạng bạn muốn kết nối:
pi@raspberrypi:~ $ sudo
nano /etc/wpa_supplicant/wpa_supplicant.conf
Thao tác này sẽ mở tệp trong trình chỉnh sửa Nano. Thêm phần sau vào cuối tệp (thay đổi wifiName
và wifiPassword
bằng tên và mật khẩu mạng thực tế):
network={
ssid="wifiName"
psk="wifiPassword"
}
Nhấn " Ctrl+x
" để lưu mã. Xác nhận bằng " y
" và xác nhận tên bằng " Enter
".
Và khởi động lại Raspberry Pi:
pi@raspberrypi:~ $ sudo reboot
Sau khi khởi động lại, hãy đăng nhập lại và xác nhận rằng WiFi đã được kết nối và hoạt động:
pi@raspberrypi:~ $ ifconfig wlan0
Nếu WiFi hoạt động bình thường, thông tin hiển thị phải bao gồm địa chỉ IP, tương tự như sau:
inet addr:192.168.1.50
Ghi lại địa chỉ IP đó vì chúng ta sẽ sử dụng nó để kết nối với Raspberry Pi thông qua SSH.
Kích hoạt SSH, thay đổi tên máy chủ và mật khẩu
Bây giờ Raspberry Pi của bạn đã được kết nối với internet, đã đến lúc kích hoạt SSH.
SSH cho phép bạn sử dụng Raspberry Pi mà không cần kết nối màn hình và bàn phím với nó.
(Bạn sẽ cần một ứng dụng khách SSH cho việc này trên máy tính không phải Raspberry Pi của bạn. Chúng tôi sử dụng
Mở Công cụ cấu hình phần mềm Raspberry Pi:
pi@raspberrypi:~ $ sudo raspi-config
Bạn sẽ thấy một menu như thế này:
Chọn tùy chọn 5 Interfacing Options
:
Chọn tùy chọn P2 SSH
, để kích hoạt SSH:
Xác nhận với YES
, để kích hoạt SSH:
SSH hiện đã được bật và bạn sẽ quay lại menu chính.
Chọn 1 Change User Password
và làm theo hướng dẫn để đổi mật khẩu. Chọn một mật khẩu an toàn nhưng bạn sẽ nhớ một số điều:
Sau khi thay đổi mật khẩu xong, bạn sẽ quay lại menu chính.
Chọn 2 Hostname
và làm theo hướng dẫn để thay đổi tên máy chủ:
Sau khi hoàn tất việc thay đổi tên máy chủ, bạn sẽ quay lại menu chính.
Bây giờ chúng ta sẽ đóng menu và lưu các thay đổi:
Khi chọn Finish
, bạn sẽ có tùy chọn khởi động lại. Chọn Yes
để khởi động lại Raspberry Pi.
Bây giờ bạn có thể rút phích cắm màn hình và bàn phím khỏi Raspberry Pi và chúng tôi có thể đăng nhập bằng ứng dụng khách SSH.
Mở PuTTY, nhập địa chỉ IP cho Raspberry Pi của bạn và nhấp vào Open
:
Đăng nhập bằng tên người dùng pi
và mật khẩu mới bạn đã chỉ định.
Bây giờ bạn sẽ thấy một dòng lệnh như thế này: (chúng tôi đã sử dụng w3demopi làm tên máy chủ của mình)
pi@w3demopi:~ $
Bây giờ bạn có thể chạy Raspberry Pi ở "Chế độ không đầu", nghĩa là bạn không cần màn hình hoặc bàn phím. Và nếu bạn có kết nối WiFi, bạn cũng không cần cáp ethernet, chỉ cần cáp nguồn!
Cài đặt Node.js trên Raspberry Pi
Khi Raspberry Pi được thiết lập đúng cách, hãy đăng nhập qua SSH và cập nhật các gói hệ thống Raspberry Pi của bạn lên phiên bản mới nhất.
Cập nhật danh sách gói hệ thống của bạn:
pi@w3demopi:~ $ sudo apt-get update
Nâng cấp tất cả các gói đã cài đặt của bạn lên phiên bản mới nhất:
pi@w3demopi:~ $ sudo apt-get dist-upgrade
Làm điều này thường xuyên sẽ giúp cài đặt Raspberry Pi của bạn được cập nhật.
Để tải xuống và cài đặt phiên bản mới nhất của Node.js, hãy sử dụng lệnh sau:
pi@w3demopi:~ $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Bây giờ cài đặt nó bằng cách chạy:
pi@w3demopi:~ $ sudo apt-get install -y nodejs
Kiểm tra xem quá trình cài đặt có thành công không và số phiên bản của Node.js bằng:
pi@w3demopi:~ $ node -v
Bắt đầu với Raspberry Pi và Node.js
Bây giờ bạn đã cài đặt Raspberry Pi với Node.js!
Nếu bạn muốn tìm hiểu thêm về Node.js, hãy làm theo hướng dẫn của chúng tôi: https://www.example.com.vn/nodejs/
Trong chương tiếp theo, chúng ta sẽ tìm hiểu GPIO và cách sử dụng nó với Node.js.