Microvisor is in a pre-release phase and the information contained in this document is subject to change. Some features referenced below may not be fully available until Microvisor's General Availability (GA) release.
This Quick Start is intended to help experienced embedded developers get up and running as fast as possible. If you are new to embedded development, we strongly recommend you start with Get Started with the Microvisor Nucleo Development Board rather than this guide.
The following instructions assume you have a Twilio account and a Microvisor Nucleo Development board that is powered up and connected to the Internet using the supplied Super SIM, WiFi, or Ethernet. It also assumes familiarity with Ubuntu and/or Docker on Widows and macOS. You must be familiar with Git on your preferred platform and have it installed.
The primary Microvisor development platform is Ubuntu 20.0.4.
The recommended solution for working with Microvisor on Windows 10 and 11 is via Windows Subsystem for Linux 2 (WSL). You will need Administrator privileges to install WSL.
wsl --install -d Ubuntu-20.04
.Alternatively, you can use Docker. You can also try native tools, but this is unsupported at this time.
The recommended solution for working with Microvisor on Mac is Docker, as outlined below. However, if you're happy not to be supported, you can use native tools on macOS.
1sudo bash -c 'apt update && apt install -y gcc-arm-none-eabi binutils-arm-none-eabi \2build-essential libsecret-1-dev cmake curl git jq wget gdb-multiarch'
1curl -sL https://twilio-cli-prod.s3.amazonaws.com/twilio_pub.asc | sudo apt-key add -2sudo touch /etc/apt/sources.list.d/twilio.list3echo 'deb https://twilio-cli-prod.s3.amazonaws.com/apt/ /' | sudo tee /etc/apt/sources.list.d/twilio.list4sudo apt update5sudo apt install -y twilio
Close your terminal window or tab, and open a new one. Now run:
twilio plugins:install @twilio/plugin-microvisor
twilio login
Enter your account SID and your account Auth Token, and provide a name ("shorthand identifier") for your profile when asked to do so.
twilio profiles:use PROFILE_ID
Enter the following command to get your target device's SID:
twilio api:microvisor:v1\:devices:list
Set your device's SID as an environment variable. It should be added to your shell profile:
export MV_DEVICE_SID=UVxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
The QR code on the back of your board and on the anti-static bag in which it shipped also contains your NDB's SID. Scan the code with your mobile phone and a suitable app, and the board's SID is the third /
-separated field.
git clone --recurse-submodules https://github.com/korewireless/Microvisor-Demo-CMSIS-Freertos.git && cd Microvisor-Demo-CMSIS-Freertos
twilio microvisor:deploy . --devicesid ${MV_DEVICE_SID} --genkeys --log
You have now completed the set-up and build process using the Linux command line.
This flow assumes you have Docker installed on your system and that you have started its daemon. It also assumes you have Git installed on your system.
Set your Twilio credentials as environment variables. You can get the first two from your Twilio Console account dashboard. The QR code on the back of your board and on the anti-static bag in which it shipped also contains your NDB's SID. Scan the code with your mobile phone and a suitable app, and the board's SID is the third /
-separated field.
They should be added to your shell profile.
1export TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2export TWILIO_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3export MV_DEVICE_SID=UVxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1$env:TWILIO_ACCOUNT_SID="ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"2$env:TWILIO_AUTH_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"3$env:MV_DEVICE_SID="UVxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
1set TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2set TWILIO_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3set MV_DEVICE_SID=UVxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
git clone --recurse-submodules https://github.com/korewireless/Microvisor-Demo-CMSIS-Freertos.git && cd Microvisor-Demo-CMSIS-Freertos
docker build --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t microvisor-freertos-image .
docker build -t microvisor-freertos-image .
docker run -it --rm -v .:/home/mvisor/project/ --env-file env.list --name microvisor-freertos microvisor-freertos-image
Under Docker, the demo is compiled, uploaded and deployed to your development board. It also initiates logging — hit Ctrl-c to break out to the command prompt.
You have now completed the set-up and build process using Docker.
We welcome all inquiries you may have about Microvisor and its implementation, and any support questions that arise once you've begun developing with Microvisor. Please submit your queries via a KORE Wireless ticket: log in to the Kore console and click the Contact Support button in the left-hand navbar.