Node-RED là gì?

Node-RED là một công cụ lập trình để kết nối các thiết bị phần cứng, API và online services theo những cách mới và thú vị.

Nó cung cấp một trình soạn thảo dựa trên trình duyệt giúp dễ dàng kết nối các luồng với nhau bằng cách sử dụng một loạt các Node trong bảng màu (palette) có thể được triển khai chỉ bằng một cú nhấp chuột.

Nếu như ngày xưa phải biết ngôn ngữ C, C++ hay các ngôn ngữ máy bậc thấp. Thì giờ đây ta có thể code nó bằng javascript do Node-RED được xây dựng trên NodeJS

Cài đặt Node-RED trên ubuntu

Node-RED chạy trên các máy tính Windows, Mac và Linux, thậm chí cả các máy tính nhẹ như Raspberry Pi và BeagleBone Black, cộng với các cổng IoT công nghiệp như Siemens SIMATIC IoT 2000, Multitech MultiConnect Conduit AEP, Eclech IoT Gateway, và Rigado IoT Gateway…

Trong phạm vi bài viết này ta sẽ cài đặt nó trên ubuntu với lệnh sau:

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

Bạn có thể xác nhận nó đã thành công nếu hiển thị kết quả dạng như sau:

+ node-red
0.20.6 added 364 packages from 350 contributors and audited 1493 packages in 16.606s found 0 vulnerabilities

Chạy thử

Gõ lệnh node-red trên terminal để khởi động Node-RED. Bạn có thể ấn Ctrl-C để dừng Node-RED.

$ node-red Welcome to Node-RED =================== 25 Mar 22:51:09 – Node-RED version: v0.20.5 25 Mar 22:51:09 – Node.js version: v10.15.3 25 Mar 22:51:09 – Loading palette nodes 25 Mar 22:51:10 – —————————————— 25 Mar 22:51:10 – Info : Ignoring Raspberry Pi specific node 25 Mar 22:51:10 – —————————————— 25 Mar 22:51:10 – Settings file : /home/nol/.node-red/settings.js 25 Mar 22:51:10 – Context store : “default” 25 Mar 22:51:10 – User Directory : /home/nol/.node-red 25 Mar 22:51:10 – Projects disabled : set editorTheme.projects.enabled=true to enable 25 Mar 22:51:10 – Server now running at http://127.0.0.1:1880/ 25 Mar 22:51:10 – Creating new flows file : flows_noltop.json 25 Mar 22:51:10 – Starting flows 25 Mar 22:51:10 – Started flows

Sau đó, bạn có thể truy cập trình soạn thảo Node-RED bằng cách truy cập đến http://localhost:1880. Giao diện như sau:

*

Cửa sổ soạn thảo bao gồm bốn thành phần:

Tiêu đề ở trên cùng, chứa nút deploy, menu chính và, nếu xác thực người dùng được bật, menu người dùng hiện lên.Bảng màu (palette ) bên trái, chứa các nút có sẵn để sử dụng.Không gian làm việc chính (workspace) ở giữa, nơi các luồng được tạo.Thanh sidebar bên phải.

*

Viết một luồng đầu tiên trên editor?

1. thêm một Inject node

The Inject node cho phép bạn thêm các message vào một luồng, bằng cách nhấp vào nút trên Node hoặc đặt khoảng thời gian giữa các lần thêm.

Kéo thả đến workspace từ palette.

Chọn node Inject mới được thêm vào để xem thông tin về các thuộc tính của nó và mô tả về những gì nó làm trong sidebar.

2. Thêm một Debug node

Nút Debug khiến bất kỳ thông báo nào được hiển thị trong  Debug sidebar.

Bạn đang xem: Node red là gì

Xem thêm: 077 Là Mạng Gì – đầu Sim 077 Của Mạng Nào

Xem thêm: Movement Là Gì – Market định Nghĩa, Ví Dụ, Giải Thích

Theo mặc định, nó chỉ hiển thị tải trọng của tin nhắn, nhưng có thể hiển thị toàn bộ đối tượng tin nhắn.

3. Nối 2 node lại với nhau

Nối Inject and Debug nodes với nhau bằng cách kéo cổng ra của Inject với cổng vào của Debug.

5. Click Deploy trên sidebar

Sau khi click Deploy để build chương trình, ta ấn vào ô vuông màu xanh nhạt bên trái Inject để chạy chương trình :

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

*

6. Thêm một node Function

The Function node allows you to pass each message though a JavaScript function.

Nút Function cho phép bạn chuyển từng thông báo qua function JavaScript.

Xóa dây nối hiện có (chọn nó và nhấn dellete trên bàn phím).

Kéo thêm 1 nút Function và nối tất cả lại như hình:

*

Nhấp đúp vào node function để hiển thị hộp thoại chỉnh sửa. Sao chép mã sau vào trường Function và click Done:

// Create a Date object from the payload var date = new Date(msg.payload); // Change the payload to be a formatted Date string msg.payload = date.toString(); // Return the message so it can be sent on return msg;

Giờ nhấn Deploy và nhấn nút Inject bên trái để chạy, các tin nhắn trong thanh sidebar sẽ được định dạng là dấu thời gian có thể đọc được.

*

Tổng kết

Luồng này thể hiện khái niệm cơ bản của việc tạo ra một luồng. Nó cho thấy cách node Inject có thể được sử dụng để kích hoạt một luồng thủ công và cách node Debug hiển thị các thông báo trong sidebar. Nó cũng chỉ ra cách node Function có thể được sử dụng để viết JavaScript tùy chỉnh để trả về messages.

Source

Luồng được tạo trong hướng dẫn này được biểu thị bằng json sau. Để import vào trình chỉnh sửa, sao chép nó vào clipboard của bạn và sau đó dán nó vào hộp thoại Import.

Tham khảo

https://nodered.org/docs/tutorials/first-flowhttps://ubidots.com/blog/learn-more-about-node-red/

The post Node-RED là gì? Làm thế nào để sử dụng nó cho Internet of Thing appeared first on Blog chia sẻ kiến thức lập trình.

Chuyên mục: Hỏi Đáp