Node RED là một công cụ lập trình dùng để kết nối các thiết bị phần cứng, API và các dịch vụ trực tuyến với nhau. Về cơ bản, đây là một công cụ trực quan được thiết kế cho IoT (Internet of Things), nhưng cũng có thể được sử dụng cho các ứng dụng khác nhằm liên kết nhanh các luồng (flow) dịch vụ khác nhau.
Node-RED là mã nguồn mở và được phát triển bởi Emerging Technology Services của IBM và được tích hợp trong gói ứng dụng khởi động IoT Bluemix của IBM (Platform-as-a-Service hoặc PaaS). Node-RED cũng có thể được triển khai riêng bằng ứng dụng Node.js. Hiện tại, Node-RED là một dự án của JS Foundation.
Node-RED cho phép người dùng kết hợp các dịch vụ Web và phần cứng bằng cách thay thế các tác vụ mã hóa cấp thấp phổ biến (như một dịch vụ đơn giản giao tiếp với một cổng nối tiếp) và điều này có thể được thực hiện với giao diện kéo thả trực quan. Các thành phần khác nhau trong Node-RED được kết nối với nhau để tạo ra một luồng (flow). Hầu hết mã lệnh (code) cần thiết được tạo tự động.
Cài đặt Node.js và Node RED trên Windows
Để có thể sử dụng được thì trước tiên chúng ta phải cài đặt Node-RED trên một nền tảng mà bạn lựa chọn. Bạn có thể xem hướng dẫn cách cài đặt Node-RED trên các nền tảng khác nhau tại đây.
Sau khi cài đặt Node-RED và cấu hình ban đầu hoàn tất, nó đã sẵn sàng để triển khai hoặc sử dụng. Có ba cách để Node-RED có thể được chạy:
- Cục bộ (Docker)
- Trên thiết bị (Raspberry Pi, Arduino, thiết bị dựa trên Android, v.v..)
- Trên môi trường điện toán đám mây
Bây giờ, tôi sẽ hướng dẫn các bạn cách cài đặt Node-RED trên môi trường Windows 10.
Bước 1: Download và cài đặt Node.js
Để download Node.js bạn hãy truy cập vào địa chỉ dưới đây:
https://nodejs.org/en/download/
Tại đây, bạn sẽ thấy có 2 phiên bản được giới thiệu nhưng bạn nên chọn phiên bản được đề nghị (Recommended For Most Users) để chạy ổn định và chọn 32bit hay 64bit tùy theo hệ điều hành Windows mà máy bạn đang dùng.
Bạn nhấp đúp vào file này để tiến hành cài đặt Node.js. Khi cửa sổ hướng dẫn cài đặt xuất hiện, bạn chọn Next.
Chọn I accept the terms in the License Agreement ở màn hình tiếp theo, sau đó chọn Next.
Mặc định Node.js sẽ cài đặt ở thư mục: C:Program Filesnodejs. Bạn có thể thay đổi tùy ý.
Ở màn hình tiếp theo, bạn vẫn cứ để như mặc định và click vào Next.
Nhấp vào Install để bắt đầu cài đặt Node.js.
Quá trình cài đặt sẽ diễn ra trong một khoảng thời gian ngắn.
Nhấp chọn Finish để hoàn tất việc cài đặt Node.js.
Sau khi cài đặt node.js xong, bạn mở Command Line và thực thi các lệnh sau để kiểm tra phiên bản của Node.js và npm, nếu kết quả trả về như hình dưới đây là bạn đã cài đặt node.js thành công rồi đấy.
Bước 2: Cài đặt Node-RED trên Windows 10
Đâu tiên, bạn mở Command Line/Command Prompt bằng cách dùng tổ hợp phím Win + R sau đó nhập cmd và chọn Open hoặc nhập cmd vào ô tìm kiếm của Windows.
Chạy lệnh sau đây trong Command Line.
npm install -g -unsafe-perm node-red
Sau khi cài đặt xong Node-RED, bạn có thể sử dụng Node-RED ngay lập tức. Để bắt đầu chạy Node-RED, hãy nhập “node-red” trong dấu nhắc lệnh.
Sau khi chạy lệnh node-red, bạn sẽ tìm thấy một địa chỉ IP như hình bên dưới. Bạn sao chép và dán đường dẫn http://127.0.0.1:1880/ vào trình duyệt web để truy cập vào Node-RED.
Khi truy cập vào trình soạn thảo Node-RED, giao diện như sau:
Có bốn thành phần chính trong trình soạn thảo Node-RED, đó là:
1. Tiêu đề ở trên cùng, chứa nút Deploy và menu chính.
2. Bảng màu (palette) bên trái, chứa các node có sẵn để sử dụng.
3. Khu vực làm việc chính (workspace) ở giữa, nơi các flow được tạo.
4. Thanh sidebar bên phải
Ví dụ minh họa Node-RED
Bước 1: Mở Node-RED
Bạn thực thi lệnh node-red trong Command Line để khởi động Node-RED, sau đó truy cập vào Node-RED theo đường dẫn http://127.0.0.1:1880/
Bước 2: Thêm các node vào Node-RED
- Thêm node inject
1. Từ bảng palette ở phía bên trái của trình soạn thảo Node-RED, chọn node inject và kéo nó vào khu vực làm việc.
2. Nhấp đúp vào node này để mở chế độ xem “Edit node”.
3. Đối với trường payload, hãy chọn string và nhập text mà bạn muốn hiển thị. Ví dụ tôi nhập “Chào mừng đến với Điện Tử Việt!” vào trường văn bản.
4. Click Done.
- Thêm node function
1. Từ bảng node ở phía bên trái của trình chỉnh sửa Node-RED, chọn node function và kéo thả vào màn hình.
2. Nhấp đúp vào node này để mở chế độ xem “Edit node”.
3. Chọn tab On message, sau đó sao chép và dán đoạn code JavaScript sau đây vào :
var dateNow = new Date();
var timeAsString = dateNow.toLocaleTimeString();
msg.payload = msg.payload +
‘ Bây giờ là ‘ +
timeAsString + ‘.’;
return msg;
4. Click Done.
- Thêm node debug
Từ bảng node ở phía bên trái, chọn node debug, kéo và thả nó vào khu vực workspace.
Bước 3: Liên kết các node
Ở bước này, chúng ta sẽ nối các node lại với nhau. Đặt con trỏ chuột vào cổng đầu ra của một node (hình vuông nhỏ màu xám ở phía bên phải của node), sau đó nhấp chuột trái và kéo một sợi dây đến đầu vào của node khác. Một sợi dây màu xám bây giờ sẽ kết nối hai node lại với nhau.
Bước 4: Deploy và chạy chương trình
Nhấp vào nút Deploy ở góc trên bên phải để build chương trình.
Nhấp vào tab Debug (hình con bọ) ở phía trên bên phải của cửa sổ trong trình soạn thảo.
Nhấp vào nút ở đầu vào của node Inject (hình vuông màu xanh lam nằm ở phía bên trái của node Inject) để đưa thông báo vào flow.
Một thông báo “Chào mừng đến với Điện Tử Việt! Bây giờ là (thời gian hiện tại) ” sẽ xuất hiện trong cửa sổ debug.
Nhấp lại vào node Inject để gửi một tin nhắn khác.
Các tính năng của Node-RED
Các tính năng chính của Node-RED được liệt kê dưới đây.
- Cho phép chỉnh sửa luồng (flow) ngay trên trình duyệt.
- Vì được xây dựng dựa trên Node.js, nên Node-RED hỗ trợ môi trường thời gian thực nhẹ cùng với mô hình hướng sự kiện và không chặn.
- Các luồng khác nhau được tạo trong Node-RED được lưu trữ bằng JSON, có thể dễ dàng nhập và xuất để chia sẻ với những người khác.
- Bạn có thể chạy Node-RED cục bộ (hỗ trợ Docker, v.v.).
- Node-RED có thể dễ dàng phù hợp với hầu hết các thiết bị được sử dụng rộng rãi như Raspberry Pi, BeagleBone Black, Arduino, các thiết bị dựa trên Android, v.v.
- Node-RED có thể chạy trong môi trường điện toán đám mây như IBM Cloud, AWS, Microsoft Azure, v.v.
Node RED có thể được sử dụng ở đâu?
Node-RED có thể được sử dụng trong một loạt các ứng dụng. Những cái chính được liệt kê dưới đây.
1. Trong Bluemix, để kết nối với IoT (với ReST và MQTT).
2. Để liên kết và kết nối với các cơ sở dữ liệu (MongoDB).
3. Để lưu trữ dữ liệu IoT cho tính toán hiện tại và tương lai.
4. Đối với các mạng xã hội, khi thực hiện hành động và khi các ứng dụng hướng sự kiện là cần thiết (như Twitter).
Node-RED có hơn 225.000 gói repo, dễ dàng mở rộng và thêm các gói mới. Nó cũng có một cộng đồng chuyên dụng và được xây dựng với kiến trúc mạnh mẽ bằng cách sử dụng Node.js.
Node-RED có thể được sử dụng trong các ứng dụng và dịch vụ theo hướng sự kiện và nhanh chóng đưa ra thị trường, với các bước có thể thực hiện dễ dàng.
Các video ở kênh này sẽ giúp bạn hiểu hơn về Node RED.