Node-RED: Công Cụ Lập Trình Trực Quan Cho IoT và Hơn Thế Nữa

Node-RED là một công cụ lập trình mạnh mẽ, trực quan, cho phép bạn kết nối các thiết bị phần cứng, API và dịch vụ trực tuyến một cách dễ dàng. Được thiết kế ban đầu cho IoT (Internet of Things), Node-RED ngày càng chứng minh tính hữu dụng trong nhiều ứng dụng khác, giúp liên kết nhanh chóng các luồng dịch vụ khác nhau.

Vốn là một dự án mã nguồn mở được phát triển bởi Emerging Technology Services của IBM và 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 hiện là một dự án của JS Foundation. Bạn cũng có thể triển khai Node-RED riêng thông qua các nền tảng như sentayho.com.vn.

Điểm nổi bật của Node-RED là khả năng thay thế các tác vụ mã hóa cấp thấp thông thường bằng giao diện kéo thả trực quan. Người dùng có thể dễ dàng kết hợp các dịch vụ Web và phần cứng, ví dụ như tạo một dịch vụ đơn giản giao tiếp với một cổng nối tiếp. Các thành phần trong Node-RED được kết nối với nhau để tạo thành một luồng (flow), và phần lớn mã lệnh cần thiết sẽ được tạo tự động.

Cài Đặt Node-RED Trên Windows: Hướng Dẫn Chi Tiết

Để bắt đầu sử dụng Node-RED, bạn cần cài đặt nó trên nền tảng mà bạn chọn. Bài viết này sẽ hướng dẫn chi tiết cách cài đặt Node-RED trên Windows 10.

Sau khi cài đặt Node-RED và hoàn tất cấu hình ban đầu, bạn có thể triển khai và sử dụng nó theo ba cách:

  • Cục bộ (Docker): Chạy Node-RED trên máy tính cá nhân.
  • Trên thiết bị: Triển khai Node-RED trên các thiết bị như Raspberry Pi, Arduino hoặc thiết bị Android.
  • Trên môi trường điện toán đám mây: Sử dụng các nền tảng đám mây như IBM Cloud để chạy Node-RED.

Bước 1: Tải và cài đặt sentayho.com.vn

Truy cập trang web chính thức của sentayho.com.vn để tải phiên bản phù hợp với hệ điều hành của bạn:

Bạn nên chọn phiên bản “Recommended For Most Users” để đảm bảo tính ổn định. Chọn phiên bản 32-bit hoặc 64-bit tùy thuộc vào hệ điều hành Windows bạn đang sử dụng.

Sau khi tải xuống, nhấp đúp vào file để bắt đầu quá trình cài đặt. Trong cửa sổ hướng dẫn cài đặt, chọn Next.

Ở màn hình tiếp theo, chọn I accept the terms in the License Agreement rồi nhấn Next.

Theo mặc định, sentayho.com.vn sẽ được cài đặt trong thư mục C:Program Filesnodejs. Bạn có thể thay đổi thư mục này nếu muốn.

Tiếp tục nhấn Next ở màn hình tiếp theo, giữ nguyên các tùy chọn mặc định.

Nhấn Install để bắt đầu quá trình cài đặt sentayho.com.vn.

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

Khi quá trình cài đặt hoàn tất, chọn Finish.

Sau khi cài đặt sentayho.com.vn, mở Command Line và chạy các lệnh sau để kiểm tra phiên bản của sentayho.com.vn và npm:

node -v
npm -v

Nếu kết quả trả về tương tự như hình dưới đây, bạn đã cài đặt sentayho.com.vn thành công.

Bước 2: Cài đặt Node-RED trên Windows 10

Mở Command Line/Command Prompt bằng cách nhấn tổ hợp phím Win + R, nhập cmd và nhấn Open, hoặc tìm kiếm “cmd” trong Windows Search.

Chạy lệnh sau trong Command Line để cài đặt Node-RED:

npm install -g --unsafe-perm node-red

Sau khi cài đặt xong, bạn có thể chạy Node-RED bằng lệnh “node-red” trong Command Line.

Sau khi chạy lệnh node-red, bạn sẽ thấy một địa chỉ IP như hình dưới. 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 Node-RED.

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

Giao diện trình soạn thảo Node-RED bao gồm bốn thành phần chính:

  1. Tiêu đề: Chứa nút Deploy và menu chính.
  2. Bảng màu (palette): Nằm ở bên trái, chứa các node có sẵn để sử dụng.
  3. Khu vực làm việc (workspace): Nằm ở giữa, nơi bạn tạo các luồng (flow).
  4. Thanh sidebar: Nằm ở bên phải, cung cấp thông tin và công cụ hỗ trợ.

Ví Dụ Minh Họa: Tạo Một Luồng Đơn Giản Với Node-RED

Bước 1: Mở Node-RED

Thực thi lệnh node-red trong Command Line để khởi động Node-RED, sau đó truy cập vào Node-RED qua đườ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 bên trái, kéo node inject vào khu vực làm việc.
    2. Nhấp đúp vào node để mở chế độ xem “Edit node”.
    3. Trong trường payload, chọn string và nhập nội dung bạn muốn hiển thị, ví dụ: “Chào mừng đến với Điện Tử Việt!”.
    4. Nhấn Done.
  • Thêm node function

    1. Từ bảng palette, kéo node function vào khu vực làm việc.
    2. Nhấp đúp vào node để mở chế độ xem “Edit node”.
    3. Chọn tab “On message”, sau đó sao chép và dán đoạn code JavaScript sau vào:
var dateNow = new Date();
var timeAsString = dateNow.toLocaleTimeString();
msg.payload = "Chào mừng đến với Sen Tây Hồ! Bây giờ là " + timeAsString + ".";
return msg;
4.  Nhấn **Done**.
  • Thêm node debug

    Từ bảng palette, kéo node debug vào khu vực làm việc.

Bước 3: Liên kết các node

Nối các node lại với nhau bằng cách đặ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 ở bên phải node), nhấp chuột trái và kéo một sợi dây đến đầu vào của node khác.

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 để triển khai chương trình.

Nhấp vào tab Debug (biểu tượng con bọ) ở phía trên bên phải của 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 ở bên trái node Inject) để đưa thông báo vào flow.

Một thông báo “Chào mừng đến với Sen Tây Hồ! 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 Nổi Bật Của Node-RED

Node-RED sở hữu nhiều tính năng mạnh mẽ, giúp đơn giản hóa quá trình phát triển ứng dụng:

  • Chỉnh sửa luồng trực quan: Cho phép chỉnh sửa luồng (flow) ngay trên trình duyệt web.
  • Nền tảng sentayho.com.vn: Xây dựng trên nền tảng sentayho.com.vn, Node-RED hỗ trợ môi trường thời gian thực nhẹ, mô hình hướng sự kiện và không chặn.
  • Lưu trữ bằng JSON: Các luồng được tạo trong Node-RED được lưu trữ bằng JSON, dễ dàng nhập và xuất để chia sẻ.
  • Khả năng chạy cục bộ: Hỗ trợ Docker và các nền tảng khác để chạy Node-RED cục bộ.
  • Hỗ trợ nhiều thiết bị: Dễ dàng tương thích với các thiết bị phổ biến như Raspberry Pi, BeagleBone Black, Arduino, thiết bị Android.
  • Triển khai trên đám mây: Có thể chạy trong môi trường điện toán đám mây như IBM Cloud, AWS, Microsoft Azure.

Ứng Dụng Thực Tế Của Node-RED

Node-RED có thể được sử dụng trong nhiều ứng dụng khác nhau, bao gồm:

  1. Kết nối IoT: Kết nối với các thiết bị IoT thông qua các giao thức như ReST và MQTT.
  2. Tương tác cơ sở dữ liệu: Liên kết và kết nối với các cơ sở dữ liệu như MongoDB.
  3. Lưu trữ dữ liệu IoT: Lưu trữ dữ liệu IoT để phân tích và tính toán.
  4. Mạng xã hội: Thực hiện các hành động và xây dựng các ứng dụng hướng sự kiện trên các mạng xã hội như Twitter.

Với hơn 225.000 gói mở rộng, Node-RED dễ dàng được tùy chỉnh và mở rộng chức năng. Cộng đồng người dùng lớn mạnh và kiến trúc mạnh mẽ dựa trên sentayho.com.vn càng làm tăng thêm sức mạnh của công cụ này.

Node-RED là lựa chọn lý tưởng cho các ứng dụng và dịch vụ theo hướng sự kiện, giúp bạn nhanh chóng đưa sản phẩm ra thị trường.