Hướng dẫn sử dụng if else trong Node-RED / iNut Node-RED IDE

Mô tả dự án: 

Bài viết sẽ hướng dẫn bạn sử dụng hàm rẻ nhánh if else trong nền tảng node-red / iNut Node-RED IDE.

Bạn cần chuẩn bị gì?

Bạn cần phải cài đặt Node-red hoặc iNut Node-RED IDE. Nếu bạn chưa cài, xin vui lòng đọc bài viết Tài liệu kỹ thuật bỏ túi để lập trình Internet of Things - Vận hành, điều khiển và quản lý thiết bị qua Internet trong 1 nốt nhạc để cài đặt iNut Node-RED IDE nhé.

Khối lệnh switch

Để lập trình xử lý câu lệnh rẻ nhánh, bạn phải sử dụng khối lệnh switch ở nhóm lệnh function.

Đầu vào của khối lệnh switch sẽ nhận là đầu ra từ một khối lệnh bất kỳ. Ví dụ:

Chương trình, nếu tôi nhấn vào phím 1 => Phải ra phân luồn output ở ô thứ 1 (từ trên xuống dưới). Tương tự khi tôi nhấn ô số 2, số 3.

Nội dung định nghĩa của switch:

 

Bạn có thể thay đổi được toán tử so sánh, kiểu dữ liệu so sánh và giá trị. Tương ứng sẽ cho ta biết được vị trí đầu ra. Bạn có thể thêm điều kiện qua ô "+add".

Code mẫu

[
    {
        "id": "fedecce.de5cd3",
        "type": "inject",
        "z": "ffe1c804.8ae908",
        "name": "",
        "topic": "",
        "payload": "0",
        "payloadType": "num",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 1050,
        "y": 1420,
        "wires": [
            [
                "df3a346f.a7cf18"
            ]
        ]
    },
    {
        "id": "df3a346f.a7cf18",
        "type": "switch",
        "z": "ffe1c804.8ae908",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "1",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "2",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 3,
        "x": 1190,
        "y": 1480,
        "wires": [
            [
                "7c50d8b0.ef22f8"
            ],
            [
                "6a872372.c205ac"
            ],
            [
                "1232e53a.b7f21b"
            ]
        ]
    },
    {
        "id": "7c50d8b0.ef22f8",
        "type": "debug",
        "z": "ffe1c804.8ae908",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "x": 1350,
        "y": 1420,
        "wires": []
    },
    {
        "id": "6a872372.c205ac",
        "type": "debug",
        "z": "ffe1c804.8ae908",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "x": 1350,
        "y": 1480,
        "wires": []
    },
    {
        "id": "1232e53a.b7f21b",
        "type": "debug",
        "z": "ffe1c804.8ae908",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "x": 1350,
        "y": 1540,
        "wires": []
    },
    {
        "id": "2a51e03.d620e2",
        "type": "inject",
        "z": "ffe1c804.8ae908",
        "name": "",
        "topic": "",
        "payload": "1",
        "payloadType": "num",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 1050,
        "y": 1480,
        "wires": [
            [
                "df3a346f.a7cf18"
            ]
        ]
    },
    {
        "id": "42fda574.5950bc",
        "type": "inject",
        "z": "ffe1c804.8ae908",
        "name": "",
        "topic": "",
        "payload": "2",
        "payloadType": "num",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 1050,
        "y": 1540,
        "wires": [
            [
                "df3a346f.a7cf18"
            ]
        ]
    }
]

 

lên
7 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Vỏ hộp cho ARDUINO UNO

Tự làm 1 chiếc vỏ hộp bảo vệ cho ARDUINO UNO của bạn chưa bao giờ đơn giản như thế này. Chỉ việc đem file dxf của mình ra ngoài tiệm cắt laser (quảng cáo và cắt thôi)!

Mình mới học ARDUINO cũng được khoảng 1 tuần thôi, đọc bài viết trên page cũng nhiều nhưng chả đóng góp được gì. Hôm nay rãnh rỗi ngồi làm cái hộp cho con UNO vì mấy hôm trước mình toàn lót giấy phía dưới rồi đặt em nó lên thấy cũng bất tiện, nếu các bạn có hứng thú thì làm theo file cad mình để ở cuối bài nha.

lên
15 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Arduino Leonardo là gì ?

Chúng ta đã quá quen thuộc với các board mạch Arduino "truyền thống" như Arduino Uno R3, Nano hay phiên bản tối giản là Arduino Pro Mini. Nếu là một người tinh ý, các bạn sẽ dễ dàng nhận thấy board Arduino Leonardo có kích thước giốn với Arduino, pinout cũng tương tự luôn. Thật vậy, với một người yêu thích Arduino, bạn sẽ có một thắc mắc: Tại sao người ta lại làm ra mạch Arduino Leonardo, trong khi nó "khá giống" với Arduino Uno R3, chứ không muốn nói là giống "hệt", liệu nhà phát triển Arduino quá "rãnh"? Vâng, qua bài viết này, bạn sẽ hiểu được vì sao Arduino Leonardo lại ra đời, khi nào nên dùng nó, khi nào không và các thông số kĩ thuật cơ bản.

lên
10 thành viên đã đánh giá bài viết này hữu ích.

Xử lý nhiều tiến trình cùng một lúc trên Arduino - Xử lý bát đồng bộ - Có thể hay không?

Một khi viết một chương trình lớn, bạn sẽ phải viết chương trình để thực hiện nhiều chức năng. Và khi viết chương trình với nhiều chức năng bạn sẽ gặp các vấn đề phức tạp như: làm thế nào để chức này hoạt động ổn định với chức năng kia, và khi thêm chức năng mới vào sản phẩm của mình nó sẽ đụng độ như thế nào với các chương trình khác? Qua bài viết này, mình muốn chia sẻ với các bạn một thư viện khá hay của anh Đại Huỳnh (trong đó mình có mod lại một tí laugh) để giải quyết các vấn đề nêu trên - xử lý nhiều tiến trình cùng một lúc trên Arduino.

lên
24 thành viên đã đánh giá bài viết này hữu ích.