Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
AWS Integration & Parser Component Management
Backend:
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.
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:
Management of product resource file lists.
Management of plugin package lists.
Debugging pages for encoder/decoder of the parser.
Project Operations
Integration
AWS Integration
AWS Integration Configuration:
Access Key: AKIAZ***
Secret Key: C+0Sg***
WeChat Work Alarm URL: https://qyapi.weixin.qq.com/cgi-bin/webhook/send***
External Webhook URL: https://webhook.site/****
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).
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:
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
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.
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
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
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.