Standalone UCM
Preconditions​
- You need to be registered in the Enapter Cloud.
- You need to have your own site.
- You need to have permissions to create Standalone Devices. Please, contact Enapter Support to obtain such permissions.
- Also, please clone example Standalone UCM source code.
Creating Device on Site​
- Find the "Standalone Device" section at the bottom left of your site page.
- Press the "Add New" button.
Uploading Blueprint​
You should upload blueprint manifest file to configure communication between UCM and Cloud.
- Open Blueprints Web ID.
- Create new blueprint.
- Copy and paste
manifest.yml
from example source code.
- Delete unnecessary
firmware.lua
if you want.
- Select your device by UCM id.
- Upload the Blueprint.
If you need more information and options please refer the Upload Blueprint section from one of the previous tutorials.
Starting UCM​
We use docker to run example UCM here. To continue make sure you have got Docker installed and running.
The example UCM does not connect to any device. It gets the weather information and sends the temperature as telemetry. To start the UCM do the following:
- Press "Generate" in "Standalone Config" section on the page of your new Standalone Device.
- Copy the generated config and store it inside environment variable with a name
ENAPTER_VUCM_BLOB
. Like this:export ENAPTER_VUCM_BLOB="eyJ1Y..."
- Also you need to define
WTTR_IN_LOCATION
environment variable. You can try to use any city name like Chicago or Paris. - To start checking the weather in Saerbeck run:
WTTR_IN_LOCATION='Saerbeck' ./docker_run.sh
.
Now you should see on the device page that the device becomes online. Open the Dashboard to observe temperature in the selected location.
Implementing Your Own Standalone UCM​
You should become familiar with main blueprints' concepts (manifest, telemetry, properties etc). You can learn it in the tutorial or in the documentation.
Now you can write a UCM script using Lua or Python.
Lua​
To be released soon.
Python​
You should use Enapter Python SDK. Please refer to the documentation.