Much information provided is directly from https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit.

UPDATE (01-12-2021) : You now must install JetPack 4.4 with the newest installers provided.

UPDATE (24-7-2021) : when this article was originally written there was only the 4GB model. The 2GB Model is not recommended to use with Shinobi and will not be supported.

How to Install Ubuntu on Jetson Nano

First you need to prepare the operating system on the Jetson Nano. We will use their provided image that is based on Ubuntu. Make sure the Jetson Nano is off until step 4.

"To prepare your microSD card, you’ll need a computer with Internet connection and the ability to read and write SD cards, either via a built-in SD card slot or adapter." - NVIDIA Documentation

  1. Download the Jetson Nano Developer Kit SD Card Image, and note where it was saved on the computer.
  2. Write the image to your microSD card by following the instructions below according to the type of computer you are using: Windows, Mac, or Linux.
  3. Once completed with writing the image to the SD card, insert it into the Jetson Nano.
  4. Power on the Jetson Nano and complete the setup process that appears on first boot.
    • If you choose to leave the desktop interface but do not wish burn too much resources when the server is not in use : Set the Login screen to require input upon boot.
  5. Once completed you will see the desktop for Ubuntu.

How to Install Shinobi on Jetson Nano

  1. Now that you are on the Ubuntu desktop open Terminal.
  2. Become root.
    • sudo su
  3. Install curl, wget, nano and net-tools
    • apt install curl wget nano net-tools -y
  4. Run the Shinobi Installer.
    • bash <(curl -s https://gitlab.com/Shinobi-Systems/Shinobi-Installer/raw/master/shinobi-install.sh)
    • Select Ubuntu - Fast Touchless.
  5. Once completed you will be given the default login details for the Super User panel at http://YOUR_SHINOBI/super. Login to it.
    • Username : [email protected]
    • Password : admin
    • YOUR_SHINOBI : is your Jetson Nano's IP Address.
  6. Once inside the Super user panel you can create the account that will manage cameras.
    • You can modify the settings of this account later, in the Dashboard, after logging in.
  7. Once the account is created, log out and go to the Dashboard at http://YOUR_SHINOBI/ (without /super) and login with the account you just created.
  8. Enjoy!

Please note : You should avoid using the browser on the Jetson Nano to view the Shinobi dashboard. The Jetson Nano is already going to be working hard with it processing streams, the browser actions running at the same time is going to give it a bad day.

How to Install Object Detection with the TensorFlow Plugin

You must install JetPack 4.3 to use the TensorFlow plugin.

These steps can be followed on Raspberry Pi with exclusion of step 4. Other CPU types can exclude steps 3 and 4.

  1. In Terminal navigate to the tensorflow plugin of the Shinobi folder.
    • cd /home/Shinobi/plugins/tensorflow
  2. Run the Installer. All CUDA operations will automatically be enabled.
    • sh INSTALL-jetson.sh
  3. When asked if you are installing on ARM64, say Yes.
  4. It will then ask if you are on Jetson Nano, say Yes.
  5. Once completed start the plugin and save it to your startup list
    • pm2 start shinobi-tensorflow.js && pm2 save
    • Alternatively you can do a temporary start with node shinobi-tensorflow.js
  6. Restart Shinobi to make it aware of the newly added connection key for the TensorFlow plugin.
    • pm2 restart camera
  7. Open your Shinobi Dashboard in the web browser and open the Monitor Settings for any monitor (or create a new one). You will now see Connected : TensorFlow in the Global Detector Settings > Object Detection section.
  8. Enjoy!

How to remove the Desktop from the Jetson Nano (Headless)

You're probably wondering, why? Well the purpose is to make it run with less load. If you aren't using the desktop then you don't need it to take resources.

Generally this is the case when Shinobi is installed on a Jetson Nano because you want to keep as much resources available to Shinobi as possible.

Be aware that simply re-installing the desktop interface may not make it operate as expected. Do this if you really want to remove the desktop environment.

  1. In Terminal navigate to the installer files of the Shinobi folder.
    • cd /home/Shinobi/INSTALL
  2. Run the script to remove the user interface.
    • bash <(curl -s https://gitlab.com/Shinobi-Systems/Shinobi/-/raw/master/INSTALL/jetson-nano-convert-to-headless.sh)

Additional Information