Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add aws Integration #10

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

TeamZY
Copy link

@TeamZY TeamZY commented Dec 24, 2024

Project Introduction

AWS Integration & Parser Component Management

Backend:

  1. Integrated AWS IoT Core to support the addition, deletion, and synchronization of devices. It also enables the reception, storage, and entity definition of device data. The data is displayed on a dashboard provided by the upper layer and supports complex interaction logic like data downlink. The addition and deletion of devices, as well as the reporting of abnormal device values, are pushed to WeChat Work; device-reported data is pushed to an external webhook.
  2. Developed parser components that support uploading product description files and custom plugins (hot-pluggable). These components can parse the reported and commanded data of the product’s devices and can be integrated into other projects.

Frontend:

  1. Management of product resource file lists.
  2. Management of plugin package lists.
  3. Debugging pages for encoder/decoder of the parser.

Project Operations

Integration

AWS Integration

AWS Integration Configuration:

Configuration of AWS Message Routing Rules:

Configure the destination and message routing rules for LPWAN devices in AWS, adding HTTPS addresses to send messages to downstream HTTPS endpoints (enter the deployment service address, e.g., https://{service_address}/public/integration/aws)

Synchronizing Device Data from AWS

Users must upload the product description file first. By clicking sync, they can synchronize device data from AWS (Note: This only syncs devices of product models that have been uploaded on the integration product page).
image

Product Management

Users can upload product description files and debug the reported and commanded data on this page after uploading. After adding a product, clicking the parse button in the list will allow users to:

  1. Select the Decode Page:
    • Enter read-only or read/write types of IPSO data.
    • Click submit to parse the data.

Attributes Package Report:
01751903671000 // Battery, Temperature

Event Report:
0a0001

  1. Select the Encode Page:
    • Enter write-only or read/write types of JSON data.
    • Click submit to parse the data into IPSO format.

Example JSON:

{
    "external_temperature_settings": {
        "temperature_value": 1
    }
}

Plugin Management

For special parsing rules not covered by general parsers or product description files, users are notified that parsing cannot be found.
企业微信截图_17350438401728

Example: ffff0100 // Device Model Version

In such cases, custom plugins can be used to handle complex data structures:

Currently, all plugins are packaged into a single jar file, so uploading a plugin will replace the previous ones. After uploading the corresponding plugin, parsing will function normally.

Example Data Packet:

0a0001
ffff0100
01751903671000

image

Device Management

Based on the above operations, users can synchronize device data from AWS or manually add devices to the AWS platform. Devices will be generated into entities based on the detailed model.

Dashboard

Create a WT101 integration, add features like battery status, target temperature, current temperature, restart, and external
image

temperature settings. Users can issue external temperature setting commands through the parser, generate IPSO data, transmit it to the AWS platform, and then send it to devices. Device-reported data is decoded by the parser and pushed to a webhook.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants