@cloudxs/cdk-iot-wireless
v1.2.1
Published
This package contains AWS CDK L2 constructs for IoT Wireless.
Downloads
64
Readme
cdk-iot-wireless
This package contains AWS CDK L2 constructs for IoT Wireless.
Gateway
For a Gateway being able to work properly, you need a specific IAM role.
new GatewayCertManagerIamRole(this, "GatewayIamRole");
Create an IoT Wireless Gateway:
new Gateway(this, 'gw', {
gatewayEui: 'a123123123123123'
description: 'my gateway'
});
IoT Wireless Devices
Destinations
To allow IoT Destinations to publish to an IoT rule there is a IAM role required. This role allows all Destinations to publish to all Rules.
const destRole = new DestinationIamRole(this, "destRole");
Dragino LHT65 decoder
The Dragino sensor transmits an encoded payload. To decode it we use a IoT topic that decodes the payload with a Lambda function and republishes it to the provided topic by using the Republish rule action. You can use the returned ruleName
as a destination for Iot Wireless Devices.
const rule = new LHT65PayloadDecoderRule(this, "decoder", {
republishTopic: "republish/${topic()}",
});
new CfnOutput(this, "ruleName", {
value: rule.ruleName,
});
republishTopic
The message will be republished to the provided topic. For permission reasons, do not use Substitution Templates on the first level. Otherwise permissions will not be set correctly.
Dragino LHT65 Profiles
Creates a Device Profile and a Service Profile for Dragino LHT65 sensors. All properties have a default value that fits with the current generation of sensors, but can be set individually if needed.
const lht65profiles = new LHT65Profiles(this, "profiles", {
rfRegion: "US915",
});
Dragino LHT65 Downlink Payload Lambda
Creates a Lambda function that lets you send a Downlink Payload to the sensors. Currently it's just possible to adjust the intervall of the trasmitted sensor data and it the Lambda function sets it on all available LoRaWAN devices.
new LHT65DownlinkPayloadLambda(this, "dlpl");
The Lambda can be invoked with a event containing a JSON like this:
{
"FPort": 2,
"IntervalInSeconds": "900",
"TransmitMode": 1
}
Development
How to apply changes
- Make sure you have the latest commits locally pulled (Github actions create new commits on the server).
- make your changes
- If there are only commits with fix: prefix, projen bumps only the PATCH version.
- If there is at least one commit with feat: prefix, projen bumps the MINOR version
- run the command
yarn build
locally - commit the latest changes
git push
your changes