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 ciSet the Wirepas 5G Mesh Gateway endpoint:
aws ssm put-parameter --name thingy-rocks-backend-Wirepas5GMeshGatewayEndpoint --type String --value $WIREPAS_GATEWAY_MQTT_ENDPOINTnpm run build:container
# export the environment variable UDP_INGEST_CONTAINER_TAG as printed
npx cdk deployEnable 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.tsRun 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.tsConfigure 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.