Running TinyAutomator on NVIDIA Jetson

TinyAutomator brings the power of Waylay automation technology to the edge. Now TinyAutomator which localises automation tasks has been combined with NVIDIA Jetson!

 

Things used in this project

Hardware components

NVIDIA Jetson Nano Developer Kit

 NVIDIA Jetson Nano Developer Kit ×1

Software apps and online services

Waylay TinyAutomator

Story

NVIDIA Jetson is a complete System on Module (SOM) that includes a GPU, CPU, memory, and all that jazz, like power management and peripherals needed to be a complete development platform.

Now if you get the NVIDIA Jetson Dev kit the System on Module comes plugged in a board covering all your IOs and useful other ports like HDMI, USB, and power plug via USB Type C.

All you need to get started is a keyboard&mouse and a monitor although in a pinch you could also set up the system over ssh even without those.

The other great thing about the Jetson is that it runs Ubuntu on a 64 bit ARM architecture which means that most software developed for Linux is already compatible and easy to use via traditional methods if you already are used to a pc or laptop running a Debian environment.

And because NVIDIA Jetson is such a great hardware development board to run things at the Edge, and if you have been following our tutorials you already know that TinyAutomator from Waylay is a great software solution for running things on the Edge we thought we need to run them together and thus this tutorial!

Setting up the Jetson ⚙️

The first thing after getting your Jetson out of the box is writing the OS on an SD card, be sure to get a 64GB at least so you have some spare storage space for local data besides the OS.

Based on your OS follow the steps from the dev site to accomplish this:

https://developer.nvidia.com/embedded/jetson-nano-developer-kit

Then plug the SD card and connect your monitor and keyboard & mouse and boot it. Be sure to complete the Ubuntu setup and allow the installer to occupy all remaining space on your SD card when prompted.

The following steps can be done either from this setup or remotely via ssh from the same network by removing the monitor, keyboard&mouse setup, In the end, it's a device running at the Edge so it should run accordingly and you should be able to access it remotely.

Next stop:

Installing TinyAutomator 🦉

Waylay TinyAutomator community edition comes free of charge and provides the following features:

  • Console, inference engine, resource service
  • Serverless sandbox

This provides you with a complete automation stack capable of ingesting data through REST or MQTT, defining rules and managing their lifecycle visually via the integrated low-code user interface, and triggering actuations from these rules based on data collected and processed by soft sensors.

TinyAutomator comes prepacked in the form of a few docker images so the first step will be to have Docker running on the Jetson. You can learn all about it here https://docs-io.waylay.io/#/features/automator/.

Jetson Nano doesn’t come with Docker Compose installed by default. You will need to first install the below list of pre-requisite packages in the right order as shown below:

sudo apt-get install python3 python3-pip nano wget libssl-dev libhdf5-dev

We sneaked nano as a terminal editor useful when working remotely but you can use whatever you like on your end 😛.

Run the following command to check if docker-compose has been installed successfully:

docker-compose version

and then this one to allow dockers permission in the name of the current user:

sudo usermod $USER -aG docker

After this command, you have to re-login to shell for the permissions to take action.

Then use the following command to edit and add this line at the end of the file, it will help with accessing TinyAutomator from a browser afterward and also with its inner workings as well

sudo nano /etc/hosts

Add this line:

127.0.0.1 localhost standalone.waylay.io pubsub-standalone.waylay.io

The file should look like this:

 

Now your system is ready to run a Waylay standalone platform. Download the docker-compose file for X86 platform from the URL https://tinyurl.com/waylay-fulltinyautomator:

wget -O tinyautomator-x86.yml  https://tinyurl.com/waylay-fulltinyautomator

Start docker-compose with the downloaded file. This will start downloading and start up the docker images with the Waylay platform services and open some ports to access those services.

docker-compose -f tinyautomator-x86.yml  up -d

NOTE: It can take some time to download the docker images.

That's it, try accessing TinyAutomator by going in a browser to this address: http://standalone.waylay.io or http://localhost if you are running it directly from the Jetson:

What’s next? 🚀

Now that you have an NVIDIA Jetson running the TinyAutomator stack you can follow up our next tutorials for some real-world use cases or build your own automation based on them:

If you have any further questions, reach out to us via the comments! If you need help in deploying this solution or building something similar please contact Waylay.io for the low-code IoT Solution or Zalmotek.com for IoT-enabled hardware prototypes.