Node RED là gì? Những kiến thức cơ bản về Node-RED

Node red là gì

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.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1FuJD7R3HHayAwc-EkduXZ47d9jX88tXd

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.

Download file node.js

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1ppVXM1KOQmnNTi47yQHjAAPXW0oRM2ho

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.

Màn hình hướng dẫn cài đặt node.js

Chọn I accept the terms in the License Agreement ở màn hình tiếp theo, sau đó chọn Next.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=17tRHYzyIzHYpingycLdylBWgfrjFOC1Z

Mặc định Node.js sẽ cài đặt ở thư mục: C:Program Filesnodejs. Bạn có thể thay đổi tùy ý.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1ps5JcWJ6buq47pppggFTJY-rtQi-77uy

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1AVLAeXg_qnpbsYgC9gtLH8WUufjHB-p7

Ở màn hình tiếp theo, bạn vẫn cứ để như mặc định và click vào Next.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1R2qtGkhPk6mJBllt7O_qVJYC_StYEj4d

Nhấp vào Install để bắt đầu cài đặt Node.js.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1MbGGCy0ECnkYzKEE8NfB_3fIpwHZeokR

Quá trình cài đặt sẽ diễn ra trong một khoảng thời gian ngắn.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=10K5RSroDzAgULObFo-oZrIudSaZ_w3ZE

Nhấp chọn Finish để hoàn tất việc cài đặt Node.js.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=10tALR5gi4uiDadOgZSLtFpZiQZ-YwAVF

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.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1lL4AfNNKmsonNkmLWQqf9a5_6msuFX93

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.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1Kzj4a4R4u8EE9ZcKqDUjzgQ_O0i3O3nN

Chạy lệnh sau đây trong Command Line.

npm install -g -unsafe-perm node-red

Cài đặt 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.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1aeOkkRHnG0hAcBk2vB6EXC_Wv0AXvyRr

Khi truy cập vào trình soạn thảo Node-RED, giao diện như sau:

Giao diện Node RED

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.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1b-3mDGSNN350Xmk1Q6RR3_wRUPnZcYXJ

  • 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.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1-574c6ljlyAlZ7wNE-ZCMJwG3Im9ttF6

  • 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.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1yz1qycYSifhSKb9tMXeixiv0hOCZkJQk

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.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1cNvLTEFmVMZXw6ANtUTLiMPIyTnUgRST

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.

admin-ajax.php?action=useyourdrive-embed-image&account_id=109152450266495784449&id=1-cVcExaRGCbBAF5xd3PT5iWPGm2wuTkP

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.