JeVois  1.17
JeVois Smart Embedded Machine Vision Toolkit
Share this page:
JeVois Ubuntu packages and source code repositories

All JeVois software is open-source.

It is licensed under the GNU General Public License. Please be aware of the viral nature of this license, namely, if you integrate any of the JeVois source code into your own project, then you must release the derived source code as well.

Please see the GNU GPL page for more information.

All JeVois source code is hosted on Github, at https://github.com/jevois

The following repositories are provided:

  • jevois: The core C++17 JeVois software.
  • jevoisbase: The base collection of 25+ machine vision modules for JeVois.
  • samplemodule: A sample standalone module for JeVois, use as a template for new modules.
  • samplepythonmodule: A sample Python standalone module for JeVois, use as a template for new modules.
  • jevois-sdk: The framework that provides a Linux kernel and operating system for a JeVois-A33 camera, to be flashed to a microSD card.
  • jevoispro-sdk: The framework that provides a Linux kernel and operating system for a JeVois-Pro camera, to be flashed to a microSD card.

Installing pre-compiled code from jevois.usc.edu

See https://jevois.usc.edu for the latest instructions.

We provide pre-compiled Ubuntu deb packages for the GitHub repositories listed above.

Setting up the jevois.usc.edu apt source

As of this writing, and for a desktop running Ubuntu 20.04 amd64:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DD24C027
sudo add-apt-repository "deb https://jevois.usc.edu/apt focal main"
sudo apt update
sudo apt upgrade # see note below
sudo apt autoremove
sudo apt purge modemmanager
sudo usermod -aG dialout $USER # need to reboot to take effect
sudo usermod -aG video $USER # need to reboot to take effect
Note
During the upgrade of Ubuntu 20.04, you may get logged out to the login screen, and unable to log back in by typing your password. We assume this is a glitch in Ubuntu while the login screen software gets updated. If this happens, patiently wait until you see no more disk activity for a while, as other updates are in progress. We recommend waiting for at least 15-30 minutes. Then send a hard power off to the machine and restart it.

JeVois-Pro: Setting up the Google Coral package source

JeVois-Pro will also use libraries from Google Coral for the TPU accelerator. Set these up as follows to be able to install them on your desktop (see https://coral.ai/software/#debian-packages for up-to-date information):

echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list
echo "deb https://packages.cloud.google.com/apt coral-cloud-stable main" | sudo tee /etc/apt/sources.list.d/coral-cloud.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt update

You do not need to install any Coral package yet. When you later run apt install jevoispro-host (see below), it will pull the Coral libraries as dependencies.

Installing Ubuntu packages for JeVois-A33 development

Because the operating system that runs on JeVois-A33 is as small as possible and does not have a package management system, compilers, etc the overall strategy for JeVois-A33 is that we cross-compile all code on a desktop computer and place the compiled results into a staging area that will later be flashed to microSD.

Thus, all packages for JeVois-A33 are for Intel amd64 architecture and are to be installed on desktop, though some packages do contain cross-compiled code for the ARM processor of JeVois-A33. This cross-compiled code will be copied from staging to microSD.

The following packages are available at https://jevois.usc.edu for JeVois-A33:

  • jevois-opencv: OpenCV 4.x compiled for host computer with settings that match those used by the JeVois platform hardware. We install this package into /usr/share/jevois-opencv-4.x so that it will not interfere with any other OpenCV install you might have on your host system and that might be required by some other software.
  • jevois-host: JeVois core software compiled for execution on a host computer
  • jevois-platform: JeVois core software cross-compiled for execution on the JeVois platform hardware
  • jevoisbase-host: JeVois base modules compiled for execution on a host computer
  • jevoisbase-platform: JeVois base modules cross-compiled for execution on the JeVois platform hardware
  • jevois-sdk: Compiled bootloaders, root filesystem, and other config files.
  • jevois-sdk-dev: Compiled cross-compilers and cross-compiled libraries for the JeVois platform architecture.

As jevois-sdk-dev brings all the others as dependencies, getting up and running with JeVois development now just means one apt-get install command.

For more details about file organization across these different packages, see Organization of JeVois files on host and platform

Which packages to install for JeVois-A33?

  • If you just want to install and run JeVois-A33: JeVois Inventor graphical user interface on your desktop:
      sudo apt install jevois-inventor
  • If you just want to run JeVois software (jevois-daemon) on your host computer with a standard webcam:
      sudo apt install jevois-host jevoisbase-host
  • If you want jevois and jevoisbase cross-compiled for the platform hardware:
      sudo apt install jevois-platform jevoisbase-platform
  • If you want to be able to flash a microSD card using jevois-flash-card:
      sudo apt install jevois-sdk
  • If you want to be able to cross-compile new modules for JeVois platform hardware:
      sudo apt install jevois-sdk-dev
  • If you want to be able to recompile the platform Linux kernel or change the platform O.S. or add new buildroot packages to the platform:

    You need to rebuild jevois-sdk from source. Follow the instructions in the INSTALL file of the jevois repository at https://github.com/jevois.

Installing Ubuntu packages for JeVois-Pro development

Because JeVois-Pro runs a full Ubuntu operating system, installing packages on the camera is done as you would do for a normal computer.

The following packages are available at https://jevois.usc.edu for amd64 (to be installed on a desktop):

  • jevoispro-opencv: OpenCV 4.x compiled for host computer with settings that match those used by the JeVois-Pro platform hardware. We install this package into /usr/share/jevois-opencv-4.x so that it will not interfere with any other OpenCV install you might have on your host system and that might be required by some other software.
  • jevoispro-openvino: Intel neural network framework OpenVino compiled for host computer with settings that match those used by the JeVois platform hardware. We install this package into /usr/share/jevoispro-openvino-x so that it will not interfere with any other OpenVino install you might have on your host system and that might be required by some other software.
  • jevoispro-host: JeVois core software compiled for execution on a host computer.
  • jevoisprobase-host: JeVois base modules compiled for execution on a host computer.
  • jevoispro-platform: JeVois core software cross-compiled for arm64 processor as a support package that will provide the necessary ARM libraries to allow you to later cross-compile your own machine vision modules.
  • jevoisprobase-platform: JeVois base modules cross-compiled for arm64 processor as a support package that will provide the necessary ARM libraries to allow you to later cross-compile your own machine vision modules.
  • jevoispro-sdk-dev: Cross-compiled operating system and libraries to be installed on host to support cross-compilation of JeVois software for the platform. That is, installing jevoispro-sdk-dev on your desktop will allow you to cross-compile jevois and jevoisbase for platform, finding the necessary cross-compiled libraries that may be needed.

The following packages are available at https://jevois.usc.edu for arm64 (to be installed on JeVois-Pro):

  • jevoispro-opencv: OpenCV 4.x compiled for JeVois-Pro. We install this package into /usr/share/jevois-opencv-4.x on the camera.
  • jevoispro-openvino: Intel neural network framework OpenVino compiled for JeVois-Pro. We install this package into /usr/share/jevoispro-openvino-x on the camera.
  • jevoispro-platform: JeVois core software cross-compiled for execution on the JeVois-Pro platform hardware, as a native package for arm64.
  • jevoisprobase-platform: JeVois base modules compiled for execution on the JeVois-Pro platform hardware, as a native package for arm64.
Note
Installing jevoispro-sdk-dev will pull all the other packages automatically as dependencies.

Here is a walkthrough of what you should see:

Which packages to install on a desktop host for JeVois-Pro?

  • If you just want to run JeVois software (jevois-daemon) on your host computer with a standard webcam:

      sudo apt install jevoispro-host jevoisprobase-host
    Note
    Yes, this will pull over 500 dependent packages, this is normal, just say Yes to install them all. They include many libraries used by JeVois, the Coral libraries, Boost, OpenCV and OpenVino, etc.
  • If you want jevois and jevoisbase cross-compiled for the platform hardware as support packages to be installed on your host (needed to later cross-compile your own modules from source):
      sudo apt install jevoispro-platform jevoisprobase-platform
  • If you want to be able to cross-compile jevois, jevoisbase, or new modules for JeVois platform hardware:
      sudo apt install jevoispro-sdk-dev
  • If you want to be able to recompile the platform Linux kernel or change the platform operating system:

    You need to rebuild jevoispro-sdk from source using rebuild-os.sh as described below.

Which packages to install on the JeVois-Pro smart camera?

Note
The apt source jevois.usc.edu and those for Google Coral are already configured on the microSD, so you do not need to add them to your camera using the add-apt-repository commands detailed above.

Before you can run the commands below, you need to connect your camera to a network as described in JeVois-Pro: Connecting to a wired or WiFi network

Note
jevoispro-opencv, jevoispro-openvino, jevoispro-platform, and jevoisprobase-platform are already pre-installed on the microSD.

The easiest to run the commands below is to switch JeVois-Pro to Console boot as explained in JeVois-Pro Quickstart user guide and to login as user root with password jevois

  • If you want to update jevoispro-platform and jevoisprobase-platform to the latest official version published at jevois.usc.edu:
      sudo apt update
      sudo apt upgrade
  • If you accidentally messed-up your jevois or jevoisbase on microSD (e.g., deleted some critical files) and want to re-install the latest official version published at jevois.usc.edu:
      sudo apt purge jevoispro-platform jevoisprobase-platform
      sudo apt update
      sudo apt install jevoispro-platform jevoisprobase-platform
    And if that does not fix your problem, you may need to re-flash your microSD.
  • If you modified and then cross-compiled jevois and jevoisbase from source (see Compiling JeVois core software from source and Compiling JeVoisBase software from source) and you want to install those packages on your camera:
      sudo apt purge jevoispro-platform jevoisprobase-platform
      # get the debs you created onto your microSD
      dpkg -i jevoispro-platform-XXX_arm64.deb
      dpkg -i jevoisprobase-platform-XXX_arm64.deb

JeVois-A33 operating system source download and build from scratch

This only recommended for advanced programmers who want to modify the Linux kernel or operating system of JeVois.

Download and installation instructions are in the INSTALL file of the jevois repository.

JeVois-Pro operating system source download and build from scratch

This only recommended for advanced programmers who want to modify the Linux kernel or operating system of JeVois-Pro. If you just need the cross-compiled operating system so that you can compile and link custom code, install the jevoispro-sdk-dev deb package instead.

git clone https://github.com/jevois/jevoispro-sdk.git
cd jevoispro-sdk
./rebuild-os.sh

It will take a very long time, possibly over 12 hours depending on your computer and network speeds.

Note
If you want to also re-create the jevoispro-sdk-dev deb package so that you can later install it on another desktop computer, use ./rebuild-os -deb

Here is a walkthrough of what you should see when running rebuild-os.sh: