Quản lý Firmware

Tổng quan

Innoway cho phép bạn tải lên và phân phối các bản cập nhật qua mạng (OTA) tới các thiết bị. Với tư cách là quản trị viên, bạn có thể tải firmware lên kho lưu trữ OTA. Sau khi tải lên, bạn có thể gán chúng cho Mẫu thiết bị. Innoway sẽ cung cấp API dành riêng cho giao thức để tải xuống chương trình cơ sở. Nền tảng theo dõi trạng thái cập nhật và lưu trữ lịch sử cập nhật.

Quy trình Update firmware diễn ra như sau :

Tạo Firmware

  • Chọn tab Đám mây -> Quản lý firmware -> click nút "+" để tạo mới Firmware.

  • Nhập tên, phiên bản firmware, thiết bị mẫu, kiểu firmware và mô tả.

  • Click nút ✓ để lưu Firmware.

Sửa Firmware

  • Chọn Firmware muốn sửa -> Chọn "Sửa firmware".

  • Nhập tên, firmware version, thiết bị mẫu, firmware type và mô tả

  • Click nút ✓ để lưu thay đổi.

Upload file Firmware

  • Chọn Firmware muốn upload file -> Chọn "Upload file".

  • Chọn file muốn upload.

  • Click nút ✓ để upload file.

Update firmware cho thiết bị

Tạo yêu cầu update firmware từ nền tảng

  • Bước 1: Đảm bảo thiết bị vật lí đang kết nối tới broker MQTT của nền tảng và có thiết bị ảo tương ứng. Thiết bị cũng cần subscribe vào topic messages/{{device_id}}/fota_response (device_id là định danh của thiết bị ảo trên nền tảng tương đương với thiết bị vật lí)

  • Bước 2:

    • Chọn tab Đám mây -> Quản lý tổ chức -> Thiết bị, chọn FOTA để update firmware cho thiết bị.

    • Chọn version muốn fota cho thiết bị.

    • Click nút ✓ để Fota

  • Bước 2: Khi nhấn nút Fota thì nền tảng sẽ tạo thuộc tính có tên là ota_status và đồng thời sẽ gửi bản tin đến thiết bị thông qua giao thức MQTT với sub topic messages/{{device_id}}/fota_response, nội dung bản tin dưới dạng JSON :

{ 
    "version"://version của bản firmware, 
    "name": //tên bản firmware ,
    "id": //id của bản firmware,
    "method": //phương thức của api,
    "api_url": //url của api download bản firmware
    "file_type":// định dạng file của bản firmware
    "check_sum":// check sum của file firmware
}
  • Bước 3: Thiết bị nhận bản tin và copy url api từ bản tin gửi đến, truyền vào header "Token" của api là deviceToken để xác thực và gọi api để tải xuống firmware.

  • Bước 4: Nếu Fota thành công/Thất bại thì thiết bị gửi lại bản tin cho BE qua MQTT với topic là messages/device_id/fota_request. Ví dụ: với nội dung bản tin bao gồm dưới dạng JSON:

{
   "version": "1.0.0" //version của bản firmware,
   "status": "Success"/"Failed" //Trạng thái fota
}

Sau khi thiết bị gửi bản tin thất bại hoặc thành công cho BE thì BE đồng thời sẽ cập nhật giá trị của thuộc tính ota_status để người dùng có thể theo dõi được quá trình fota thành công/thất bại

Tạo yêu cầu update firmware từ thiết bị

  • Bước 1: Đảm bảo thiết bị vật lí đang kết nối tới broker MQTT của nền tảng và có thiết bị ảo tương ứng.

  • Bước 2: Thiết bị gửi bản tin thông qua MQTT vào topic messages/{{device_id}}/fota_request để yêu cầu fota, nền tảng sẽ tạo thuộc tính có tên là ota_status và đồng thời sẽ gửi bản tin phản hồi đến thiết bị thông qua MQTT với topic là messages/{{device_id}}/fota_response, nội dung bản tin bao gồm dưới dạng JSON:

{ 
    "version":// version của bản firmware, 
    "name":// tên bản firmware ,
    "id": // id của bản firmware ,
    "method": //phương thức của api,
    "api_url": //url của api download bản firmware 
    "file_type":// định dạng file của bản firmware
    "check_sum":// check sum của file firmware
}
  • Bước 3: Thiết bị nhận bản tin copy url api từ bản tin gửi đến, truyền vào header "Token" của api là deviceToken để xác thực và gọi api để tải xuống firmware.

  • Bước 4: Nếu Fota thành công/Thất bại thì thiết bị gửi lại bản tin qua MQTT với topic là messages/{{device_id}}/fota_request với nội dung bản tin bao gồm dưới dạng JSON:

{
    "version": //version của bản firmware,
    "status": "Success"/"Failed" //Trạng thái fota
}

Sau khi thiết bị gửi bản tin thất bại hoặc thành công cho BE thì BE đồng thời sẽ cập nhật giá trị của thuộc tính ota_status để người dùng có thể theo dõi được quá trình fota thành công/thất bại

Thiết bị xử lý yêu cầu update firmware

  • Thông qua topic messages/{{device_id}}/fota_response thiết bị sẽ nhận được thông tin bản firmware như ví dụ sau :

{
  "id": "7ea93048-7506-4537-b090-22bcc33e4213",
  "version": "1.0.4",
  "name": "AB",
  "method": "POST",
  "url_api": "http://api.innoway.vn/api/downloadota/1989cdb8-8646-4812-9189-14e5265c4c36/download"
  "file_type": "bin"
  "check_sum": "84ef12aba1da9da8ef1ef46553ef1293"
}
  • Thiết bị triển khai giao thức HTTP method POST với các thông tin sau :

POST http://api.innoway.vn/api/downloadota/1989cdb8-8646-4812-9189-14e5265c4c36/download

Headers

Token được tạo bởi : Bearer + deviceToken

  • ví dụ : Bearer Z73oLCBcGwwfJJzOnMZ8bT1QfDxVxOP

  • Lấy deviceToken : Chọn tab Đám mây -> Quản lý tổ chức -> Chọn thiết bị cần update firmware -> "Sao chép TOKEN"

Xóa Firmware

  • Chọn Firmware muốn xóa -> Chọn "Xóa firmware".

Last updated