[Node-RED] Mở đầu và cài đặt trên Raspberry PI

Nếu bạn đã từng mơ đến một công cụ có thể giao tiếp với các thiết bị phần cứng một cách đơn giản như Scratch nhưng lại có khả năng tuỳ biến cao, thư viện mở rộng đa dạng. Điều đó đã trở thành sự thật và không còn trong giấc mơ của bạn nữa vì vào đầu năm 2013, Node-RED đã ra đời.


Node-RED là một công cụ lập trình kéo thả theo luồng (Flow-based programming tool), được phát triển bởi IBM’s Emerging Technology Services và bây giờ đang là một phần của JS Foundation..

Ví dụ về Node-RED 
Nguồn: 
https://flows.nodered.org/node/node-red-contrib-openplc

1. Cài đặt trên RPi

Việc cài đặt Node-RED rất đơn giản, bạn chỉ cần mở Terminal trên RPi và chạy dòng lệnh bên dưới là xong (có thể bạn phải chờ đến 20 - 30 phút)

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

Sau khi cài đặt xong, bạn sẽ thấy kết quả như sau (tất cả các mục đều được đánh dấu xanh lá)

XONG !!! Việc cài đặt chỉ đơn giản như vậy thôi đó. Để sử dụng Node-RED bạn có thể thực hiện một trong ba cách sau:

  • Vào Menu -> Programming -> Node-RED
  • Mở trình duyệt web trên RPi và truy cập: localhost:1880
  • Mở trình duyệt web trên máy tính của bạn (phải chung mạng LAN với RPi) và truy cập: http://:1880

 

2. Tìm hiểu giao diện Node-RED

Node-RED được xây dựng bằng Node.JS. Do đó, Node-RED có thể chạy dễ dàng trên bất cứ trình duyệt web nào (Chrome, Firefox, Safari, . . . ).

Giao diện Node-RED được chia làm ba phần: 

  • Khu vực Input: chứa các Block xử lý
  • Khu vực xây dựng các luồng xử lý hay xây dựng chương trình: chứa các Block và quan hệ giữa các Block
  • Khu vực Output: chứa thông tin về các Block, cấu hình Block và Debug

 

3. Xây dựng chương trình đầu tiên với Node-RED

Do đây là chương trình đầu tiên nên tôi sẽ hướng dẫn các bạn xây dựng một chương trình đơn giản là in ra màn hình thời gian hiện tại.

Trong chương trình này, chúng ta chỉ sử dụng 2 block đơn giản đó là inject debug. Mô tả về 2 block đó bạn có thể xem hình bên dưới:

Tóm tắt ngắn gọn về 2 blocks trên là:

  • Block inject là input block và dùng để truyền dữ liệu cho các block khác. Dữ liệu có thể là thời gian, chuỗi hay JSON Object.
  • Block debug là output block và dùng để xuất ra giá trị của dữ liệu sau khi được xử lý

 

Bước 1: Kéo các block vào như hình

Mặc định block inject sẽ hiện timestamp, ý nghĩa là sẽ truyền đi một thời gian dưới dạng UNIX-time và block debug sẽ hiện msg.payload.

Bạn hãy nhấn vào Deploy để build chương trình và nhấp ô vuông màu xanh nhạt bên trái block Inject để chạy chương trình

Kết quả sẽ nằm bên phần Output

Để in ra thời gian theo từng giây. Bạn nhấp đôi vào block inject và chọn như hình:

Sau đó, nhấn Deploy và xem kết quả bên phần Output:

Kết quả: UNIX-time được in sau mỗi giây

 

Bài đầu tiên về Node-RED xin phép được kết thúc tại đây. Ở bài tiếp theo tôi sẽ hướng dẫn các bạn sử dụng một số Block khác trong Node-RED và cùng xem sức mạnh tuỳ biến của Node-RED mạnh mẽ đến mức nào nhé !

 

Chúc các bạn thực hành thành công.

 

Hà Phương - Mechasolution.

Có thể bạn quan tâm ???