Cloud backend for the thingy.rocks IoT dashboard developed using AWS CDK in TypeScript.
Provide your AWS credentials, for example using the .envrc
(see
the example).
Install the dependencies:
npm ci
Set the Wirepas 5G Mesh Gateway endpoint:
aws ssm put-parameter --name thingy-rocks-backend-Wirepas5GMeshGatewayEndpoint --type String --value $WIREPAS_GATEWAY_MQTT_ENDPOINT
npm run build:container
# export the environment variable UDP_INGEST_CONTAINER_TAG as printed
npx cdk deploy
Enable AWS IoT Thing indexing for the lwm2m named shadow and Thing connectivity.
Create a thing type wirepas-5g-mesh-gateway
.
Configure the gateway settings using the .envrc
(see
the example).
Run:
node --experimental-transform-types --no-warnings wirepas-5g-mesh-gateway/gateway.ts
Run as a service using systemd:
systemd-run -E WIREPAS_GATEWAY_MQTT_ENDPOINT=${WIREPAS_GATEWAY_MQTT_ENDPOINT} -E WIREPAS_GATEWAY_AWS_ACCESS_KEY_ID=${WIREPAS_GATEWAY_AWS_ACCESS_KEY_ID} -E WIREPAS_GATEWAY_REGION=${WIREPAS_GATEWAY_REGION} -E WIREPAS_GATEWAY_AWS_SECRET_ACCESS_KEY=${WIREPAS_GATEWAY_AWS_SECRET_ACCESS_KEY} --working-directory ${PWD} node --experimental-transform-types --no-warnings wirepas-5g-mesh-gateway/gateway.ts
Configure these SSM parameters:
aws ssm put-parameter --name /thingy-rocks-backend/memfault/organizationAuthToken --type String --value <Memfault Organization Auth Token>
aws ssm put-parameter --name /thingy-rocks-backend/memfault/organizationId --type String --value <Memfault Organization ID>
aws ssm put-parameter --name /thingy-rocks-backend/memfault/projectId --type String --value <Memfault Project ID>
udp.ingress.thingy.rocks
receives UDP packages on port 6666
.
A hosted Zone is created by the deployment.
Create a NS
record in the DNS settings for thingy.rocks
(in CloudFlare),
with the ingress.thingy.rocks
as the name and the list of nameservers from the
output.