Innoway
  • Giới thiệu về Innoway
  • Release Note
    • 25/04
      • Device
      • Attributes
      • Adapter
  • Bắt đầu sử dụng
    • Đăng kí tài khoản
    • Tạo dự án mới
    • Hướng dẫn kết nối thiết bị
      • Hướng dẫn kết nối tới MQTT Broker của nền tảng
    • Giải pháp mẫu
      • Tích hợp đồng hồ nước thông minh
  • Tính năng
    • Quản lí tổ chức
      • Tổ chức
      • Nhóm
      • Thiết bị
      • Người dùng
      • Sự kiện
      • Thuộc tính
    • Quản lí nghiệp vụ
      • Quản lí Thing
      • Quản lí nghiệp vụ (Service)
    • Quản lý Firmware
    • Mẫu thiết bị
    • Bảng điều khiển
    • Vai trò
    • Custom Adapter
      • MQTT
      • TCP
      • UDP
    • Tính năng khác
      • Provision Device
      • Time Correction
  • Tài liệu
    • SDK
      • Device
      • Attributes
      • Adapter
      • ESP32
      • pg
    • API
      • MQTT Device API
      • HTTP Device API
      • REST API
Powered by GitBook
On this page
  • Bắt đầu sử dụng
  • 1.1. Tạo adapter
  • 1.2. Tạo thing
  • 1.3. Tạo service
  • 1.4. Thử nghiệm với Hercules
  1. Tính năng
  2. Custom Adapter

TCP

PreviousMQTTNextUDP

Last updated 1 year ago

Cho phép truyền dữ liệu từ các thiết bị sử dụng giao thức truyền tải TCP sang nền tảng Innoway luồng xử lí của Things và Service gắn vào adapter. Sau adapter tạo thành công sẽ được sẽ được cấp một địa chỉ host và port để người dùng cấu hình thiết bị gửi bản tin lên adapter. Các bản tin gửi lên adapter sẽ được đóng gói dưới dạng string theo kiểu dữ liệu người dùng chọn (json/hex/text). Bản tin sau khi được adapter đóng gói sẽ đưa và hàm xử lí service đã gắn vào adapter do người dùng tự định nghĩa.

Bắt đầu sử dụng

1.1. Tạo adapter

  • Từ trang dự án -> Chọn Đám mây -> Adapter -> Click "+" để tạo adapter.

  • Nhập trường tên, định dạng bản tin, chọn giao thức TCP.

1.2. Tạo thing

  • Chuyển sang tab Thing trong màn tạo adapter, có thể chọn thing có sẵn hoặc tạo thing mới.

  • Điền tên Thing, chọn Base template (nếu có), nhấn ✓ để hoàn tạo thing .

  • Chọn thing vừa tạo để gắn vào adapter.

1.3. Tạo service

  • Sau khi chọn thing, chuyển sang tab service để tạo hoặc chọn service mới.

1.3.1. Mô tả nghiệp vụ

Ta sẽ viết nghiệp vụ giải mã bản tin sau: “7e123456696e6e6f7761797e”.

Trong đó:

  • 7e là header và footer của bản tin.

  • 123456: imei của thiết bị.

  • 6e6e6f776179: Mã hex của cụm từ innoway.

Chúng ta sẽ bắn bản tin này lên theo địa chỉ và port của adapter. Sau đó sẽ kiểm tra thiết bị với device_key là TEST-123456 có tồn tại hay không. Nếu không thì chúng ta sẽ tạo mới một thiết bị với device_key là TEST-{imei}. Khi đã có thiết bị rồi thì sẽ tiến hành lưu attribute với key là “name” và value sẽ là “innoway”. Sau khi thực hiện xong các tác vụ thì sẽ gửi phản hồi bản tin "ok".

Code example

var d = payload.slice(2, payload.length - 2);
console.log(d);
var imei = d.substr(0, 6);
var name = hex_to_ascii(d.slice(6, d.length));
let msgs = {
    imei: `${imei}`,
    name: `${name}`,
}
console.log(msgs);

let device_key = `TEST-${msgs.imei}`;
let dataDeviceInfo = {}
let getDeviceRes = await Device().IdentifyInfoByKey({ key: device_key});
if (getDeviceRes.success){
  dataDeviceInfo = getDeviceRes.data;
}else{
  let createDeviceRes = await Device().CreateDevice({ name: "TEST-DEVICE", key: device_key})
  dataDeviceInfo = createDeviceRes.data
}

await Thing(dataDeviceInfo.id).UpsertAttributes({ name: msgs.name }, {logged: false});
msgs.entity_id = dataDeviceInfo.id;

await Adapter().SendTCPResponse({
  message:"6F6B"
})
return dataDeviceInfo;




// function
function hex_to_ascii(str1) {
    var hex = str1.toString();
    var str = '';
    for (var n = 0; n < hex.length; n += 2) {
        if (hex.substr(n, 2) == "00") {
            continue;
        }
        str += String.fromCharCode(parseInt(hex.substr(n, 2), 16));
    }
    return str;
}
  • Sau khi tạo xong service chọn service vừa tạo để gán vào adapter.

  • Nhấn ✓ để lưu adapter.

1.4. Thử nghiệm với Hercules

  • Sử dụng Hercules kết nối tới adapter theo địa chỉ nhận được sai khi tạo.

  • Gửi bản tin dưới dạng HEX: 7e123456696e6e6f7761797e

  • Vào Đám mây -> Quản lí tổ chức -> Thiết bị sẽ thấy có thiết bị TEST-DEVICE với key là TEST-123456 được tạo.

Các SDK thực thi các nghiệp vụ liên quan đến thiết bị, thuộc tính, adapter có thể tham khảo tại .

Nhấp vào nút -> chọn Xem chi tiết để xem thuộc tính của thiết bị.

Tài liệu SDK
Client nhận phản hồi ok