Vào thẳng nội dung

Bắt đầu với VNPT IoT Platform

Giới thiệu

Mục tiêu của hướng dẫn này là trình bày cách sử dụng cơ bản các tính năng phổ biến nhất của VNPT IoT Platform. Sẽ mất khoảng 15 phút bạn sẽ học được cách:

  • Kết nối thiết bị IoT đến VNPT IoT Platform

  • Đẩy và lưu trữ dữ liệu từ thiết bị IoT đến VNPT IoT Platform

  • Theo dõi trạng thái mới nhất của thiết bị IoT

  • Thực hiện gửi lệnh điều khiển đến thiết bị IoT thông qua HTTP Rest API của VNPT IoT Platform

Điều kiện tiên quyết

Bạn phải có tài khoản tại https://iot.vnpt.vn, nếu chưa có hãy liên hệ với chúng tôi qua email support.iot@vnpt.vn hoặc hotline: (+84)948.661.104.

Sau khi kích hoạt tài khoản, bạn sẽ nhận được ACCESS KEY để sãn sàng sử dụng các API của VNPT IoT Platform.

Bước 1

Để đơn giản, chúng tôi sẽ cung cấp chức năng cấp phát thiết bị bằng cách thủ công qua giao diện người dùng.

  • Đăng nhập vào VNPT IoT Portal > di chuyển đến trang Thiết bị

  • Click button (+) ở góc trên cùng bên phải của bảng rồi chọn "Thêm 1 thiết bị".

  • Nhập các thông tin đầu vào cần thiết cho thiết bị. Ví dụ: "My New Device 01". Click vào "Thêm " để thêm thiết bị

alt-text-1

alt-text-2

alt-text-2

alt-text-2

Bạn cũng có thể

Bước 2

Để kết nối thiết bị, trước tiên bạn cần lấy thông tin đăng nhập của thiết bị, VNPT IoT Platform hỗ trợ nhiều thông tin xác thực thiết bị khác nhau.

Chúng tôi khuyên bạn nên sử dụng thông tin xác thực được tạo tự động mặc định làm mã thông báo truy cập cho hướng dẫn này.

  • Click vào tên thiết bị trong danh sách thiết bị

  • Copy thông tin xác thực thiết bị vào bộ nhớ tạm

alt-text-1

alt-text-1

Xong, bạn có thể sẵn sàng tiến hành cho thiết bị IoT của mình đẩy thông tin cảm biến từ xa. Tham khảo tại ví dụ đơn giản dưới đây qua giao thức HTTP và MQTT:

  • HTTP:

Thay thế VNPT_IOT_PLATFORM_HOST, YOUR_ACCESS_KEY bằng các giá trị được cung cấp tương ứng

curl -v -X POST -d "{"m2m:ae": {"rn":"ae_my_new_device","lbl":["Type/Device"], "api": "R.app1.your.company.com.vn", "poa": ["mqtt://vnptmsgbroker:1883"], "rr": true }  }" $VNPT_IOT_PLATFORM_HOST --header {"Content-Type":"application/json;ty=2","X-M2M-Origin":"YOUR_ACCESS_KEY"}

curl -v -X POST -d "{"m2m:cnt":{"rn":"cnt_my_new_device" }  }" $VNPT_IOT_PLATFORM_HOST --header {"Content-Type":"application/json;ty=3","X-M2M-Origin":"YOUR_ACCESS_KEY"}

curl -v -X POST -d "{"m2m:cin":{"cnf":"application/json","con": {"temperature" : 30} }  }" $VNPT_IOT_PLATFORM_HOST --header {"Content-Type":"application/json;ty=4","X-M2M-Origin":"YOUR_ACCESS_KEY"}

  • MQTT:

Cài đặt mosquito client tại https://mosquitto.org/download/

Thực hiện lệnh window command:

mosquitto_pub -d -q 1 -h "$VNPT_IOT_PLATFORM_HOST" -p "1883" -t "/oneM2M/req/YOUR_ACCESS_TOKEN/vnpt/json" -u "$DEVICE_MQTT_BASIC_USER" -P "$DEVICE_MQTT_BASIC_PASSWORD" -m {"fr": "$YOUR_ACCESS_TOKEN ","to": "/vnpt/icc/","op": 1,"ty": 2,"rcn": 0,"rqi": "121221212","pc": { "m2m:ae" : { "rn":"ae_my_new_device2", "lbl":["Type/Device"], "api": "R.app1.your.company.com.vn", "poa": ["mqtt://vnptmsgbroker:1883"], "rr": true }  } }

mosquitto_pub -d -q 1 -h "$VNPT_IOT_PLATFORM_HOST" -p "1883" -t "/oneM2M/req/YOUR_ACCESS_TOKEN/vnpt/json" -u "$DEVICE_MQTT_BASIC_USER" -P "$DEVICE_MQTT_BASIC_PASSWORD" -m {"fr": "$YOUR_ACCESS_TOKEN ","to": "/vnpt/icc/","op": 1,"ty": 3,"rcn": 0,"rqi": "2323232323","pc": { "m2m:cnt": {"rn":"cnt_my_new_device2"}} }

mosquitto_pub -d -q 1 -h "$VNPT_IOT_PLATFORM_HOST" -p "1883" -t "/oneM2M/req/YOUR_ACCESS_TOKEN/vnpt/json" -u "$DEVICE_MQTT_BASIC_USER" -P "$DEVICE_MQTT_BASIC_PASSWORD" -m {"fr": "$YOUR_ACCESS_TOKEN ","to": "/vnpt/icc/","op": 1,"ty": 4,"rcn": 0,"rqi": "121221212","pc": {  "m2m:cin": {"cnf": "application/json","con": {  "temperature": 30}  }} }
  • Chú ý:

Thay các thông tin xác thực DEVICE_MQTT_BASIC_USER, DEVICE_MQTT_BASIC_PASSWORD, tại tương ứng từ chi tiết thiết bị.

alt-text-1

Tại màn hình xem chi tiết thiết bị, thông tin về bản tin mới nhất được cập nhật

alt-text-1

Xong, bạn có thể theo dõi được bản tin trạng thái mới nhất từ thiết bị IoT của mình.

Bước tiếp theo là một số thủ tục để bạn có thể gửi một lệnh điều khiển từ ứng dụng (ví dụ: ON/OFF) đến thiết bị IoT thông qua HTTP Rest API của VNPT IoT Platform.

Bước 3

Điều kiện để thực hiện được gửi lệnh điều khiển tử ứng dụng bạn phải hoàn bước 1 [Kết nối thiết bị IoT đến VNPT IoT Platform], thủ tục mô tả như hình vẽ.

alt-text-2

alt-text-1

Bạn cũng có thể sử dụng công cụ khác để dễ dàng test với các giao thức HTTP, MQTT bằng Postman và MQTT.

Các công cụ miễn phí bạn có thể tải về tại: https://www.postman.com/downloads/

https://mqttbox.en.softonic.com/

Cấu hình cho MQTT Box:

alt-text-2

Thay các giá trị DEVICE_CLIENT_ID, DEVICE_MQTT_BASIC_USER, DEVICE_MQTT_BASIC_PASSWORD tương ứng từ chi tiết thiết bị.

alt-text-2

Bước 3.0. MQTT Create AE (đăng ký kết nối thiết bị)

Đăng ký kết nối thiết bị IoT đến VNPT IoT Platform, sử dụng MQTT Box để đăng ký kết nối thiết bị:

alt-text-2

Mô tả: Sử dụng MQTT Box để send payload :

{
    "fr": "YOUR_ACCESS_KEY",
    "to": "/vnpt/icc",
    "op": 1,
    "ty": 2,
    "rcn": 1,
    "rqi": "121221212",
    "pc": {
        "m2m:ae": {
            "rn": "ae_my_new_device_00001",
            "lbl": ["Type/Device"],
            "api": "R.app1.vnpt.vn",
            "poa": ["mqtt://vnptmsgbroker:1883"],
            "rr": true
        }
    }
}

đến topic : /oneM2M/req/YOUR_ACCESS_TOKEN/vnpt/json

có thể subscriber topic: /oneM2M/resp/vnpt/YOUR_ACCESS_TOKEN/json để theo dõi kết quả , kết quả trả về:

{
    "rsc": 2001,
    "rqi": "121221212",
    "pc": {
        "m2m:ae": {
            "rr": true,
            "poa": ["mqtt://vnptmsgbroker:1883"],            
            "aei": "CAEcb5090e4cb98a5213",       
            "ty": 2,
            "lt": "20230425T132338",
            "et": "20330425T132338",
            "ct": "20230425T132338",
            "acpi": ["/vnpt/acp-acbb9e006c979f64e"],
            "ri": "/vnpt/CAEcb5090e4cb98a5213",
            "lbl": ["Type/Device"],
            "pi": "/vnpt",
            "api": "R.app1.vnpt.vn",
            "rn": "ae_my_new_device_00001"
        }
    },
    "ot": "20230425T132338"
}

Subscriber đến topic /oneM2M/req/vnpt/AE-ID/json, trong đó AE-ID là giá trị "aei":"CAE......" đã đăng ký ở trên.

Bước này giúp thiết bị IoT nhận các tín hiệu điều khiển từ IoT Platform mỗi khi nhận lệnh điều khiển.

Bước 3.1 MQTT Create Container (Tạo tài nguyên Container Control)

alt-text-2

Mô tả: Sử dụng MQTT Box để send payload :

{
    "fr": "YOUR_ACCESS_KEY",
    "to": "/vnpt/icc/ae_my_new_device_00001",
    "op": 1,
    "ty": 3,
    "rcn": 1,
    "rqi": "123123",
    "pc": {
        "m2m:cnt": {
            "rn": "control"  
        }
    }
}

đến topic : /oneM2M/req/YOUR_ACCESS_TOKEN/vnpt/json

có thể subscriber topic: /oneM2M/resp/vnpt/YOUR_ACCESS_TOKEN/json để theo dõi kết quả

Bước 3.2. MQTT Create Subscription (Tạo tài nguyên Subscription để có thể nhận thông báo Control)

alt-text-2

Mô tả: Sử dụng MQTT Box để send payload :

{
    "fr": "YOUR_ACCESS_KEY",
    "to": "/vnpt/icc/ae_my_new_device_00001/control",
    "op": 1,
    "ty": 23,
    "rcn": 1,
    "rqi": "123123456",
    "pc": {
        "m2m:sub": {
            "enc": {
                "net": [3]
            },
            "ln": true,
            "nct": 1,
            "nu": ["/icc/ae_my_new_device_00001"],
            "rn": "sub"

        }
    }
}

đến topic : /oneM2M/req/YOUR_ACCESS_TOKEN/vnpt/json

Bước 3.3. Subscriber topic /oneM2M/req/vnpt/AE-ID/json để theo dõi kết quả

Tại bước này AE-ID là giá trị "aei":"CAE......" đã đăng ký ở bước 3.0 đã đề cập phía trên.

Mỗi khi thực hiện lệnh điều khiển, IoT Platform sẽ thông báo đến thiết bị để yêu cầu thực thi tương ứng.

Bước 3.4. Thực hiện lệnh điều khiển bằng HTTP API qua VNPT IoT Platform

Ở bước này chúng ta sử dụng Postman để test gửi lệnh ON/OFF đến thiết bị IoT:

alt-text-2

Mô tả:

POST https://http-iot.vnpt.vn/~/vnpt/icc/ae_my_new_device_00001/control

Header:

X-M2M-Origin: YOUR_ACCESS_KEY

Content-Type: application/json;ty=4

X-M2M-RI: 123456

Body:

{
    "m2m:cin": {
        "cnf": "application/json",
        "con": {           
            "switch":"OFF"
        }
    }
}

Bước 3.5. Nhận lệnh điều khiển từ bản tin MQTT Notify từ IoT Platform mỗi khi tiến hành request HTTP qua Postman

Tại màn hình subscriber topic nhận lệnh điều khiển ,thiết bị IoT sẽ nhận được bản tin Notify từ IoT Platform có dạng:

{
    "op": 5,
    "to": "mqtt://vnptmsgbroker:1883",
    "fr": "YOUR_ACCESS_KEY",
    "rqi": "de5273dd-d3e8-42cc-a7d9-784541c11ac7",
    "pc": {
        "m2m:sgn": {
            "sur": "/vnpt/sub-1a9c9d0c41d0f6b93",
            "sud": false,
            "nev": {
                "resourceStatus": 1,
                "rep": {
                    "m2m:cin": {
                        "cs": 15,
                        "ct": "20230425T142757",
                        "con": {
                            "switch": "ON"
                        },
                        "ty": 4,
                        "ri": "/vnpt/cin-aa8d1e4161d17473",
                        "lt": "20230425T142757",
                        "pi": "/vnpt/cnt-0ca70b0e09015ef0c56",
                        "cnf": "application/json",
                        "rn": "cin-b098a942fb05ab5085"
                    }
                },
                "net": 1
            }
        }
    }
}
Back to top