Digi Board
This demo demonstrates the Uniquid Identity and Access Management SDK using the uidcore-c library on ConnectCore 6UL SBC Express Digi board.
Requirements
Ubuntu 14.04+ with standard development tools
cmake to compile new firmware
Digi ConnectCore 6UL SBC Express with internet connection (link)
some software packages from digi.com (next steps)
libcurl
libpthread (usually already installed)
You will need two files created when you run the uniquid deploy aws
command. You can choose tu run the below steps in the same environment of the deploy or you will need to copy these two files on your development environment running command:
scp -i <user-key-pair.pem> ubuntu@<ec2-instance-ip-address>:/aws_device_cfg.json .
scp -i <user-key-pair.pem> ubuntu@<ec2-instance-ip-address>:/caChain-xxxxxxxxxxxxxx.crt .
Install Prerequisites
Install these packages on your machine
sudo apt install cmake
sudo apt install libcurl4-openssl-dev
Setup of the board
follow this guide to setup and connect the board
follow this guide to program the Yocto firmware
Setup of Development Environment
download the toolchain installer from the Digi support page
wget ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r1/sdk/ccimx6ulstarter/fb/dey-glibc-x86_64-core-image-base-cortexa7hf-neon-toolchain-2.4-r1.sh
give execution permission to the installer
chmod +x dey-glibc-x86_64-core-image-base-cortexa7hf-neon-toolchain-2.4-r1.sh
install the toolchain on your host PC
./dey-glibc-x86_64-core-image-base-cortexa7hf-neon-toolchain-2.4-r1.sh
source the environment setup script, run this command each time you wish to use the SDK in a new shell session
. /opt/dey/2.4-r1/environment-setup-cortexa7hf-neon-dey-linux-gnueabi
Download and build the demo source code on host PC
clone the demo repo two options:
git clone https://github.com/uniquid/dev-demos.git
git clone git@github.com:uniquid/dev-demos.git
change directory
cd dev-demos/DIGI-CC-6UL-SBC-Express
download and patch the dependancy
make clone_repo
build the project, the binaries created by this command will be put on the bin directory
make
make sure that the environment setup script has been sourced
Transfer the executables on the board
power on the board using the provided USB cable
connect to the board using a serial terminal emulator (115200N81) or ssh
create the demo directory under
/home/root
cd /home/root mkdir demo
transfer all the content of the bin directory from the host PC to the
/home/root/demo
directory on the board using scpcd dev-demos/DIGI-CC-6UL-SBC-Express scp -r bin/* root@<ipaddress>:~/demo
Copy certificate and configuration files
Copy in the demo directory the configuration file (aws_device_cfg.json) and the root CA for the mqtt broker (caChain-xxxxxxxxxxxxxx.crt) from your host PC to the board:
cd path/of/files
scp aws_device_cfg.json root@<ipaddress>:~/demo
scp caChain-xxxxxxxxxxxxxx.crt root@<ipaddress>:~/demo/rootCA.crt
both these files has been generated by the uniquid deploy aws
command you run some steps ago.
Run
connect to the board over terminal emulator or ssh and go to the
demo
directorycd /home/root/demo
run the demo
./S99uniquid-demo start
if you want to run the demo at the board boot copy the above script into the
/etc/rc5.d
directorycp /home/root/demo/S99uniquid-demo /etc/rc5.d
you can check the log running
tail
commandtail -f /var/log/uniquid-demo
to allow the board to publish the led status on aws IoT you have to create a contract between the board (user) and the authorizer (provider)
check here for published messages (please note that the link provided is for the us-east-2 AWS region, you may need to switch to the one you have defined on aws configure)
you can use the button on the board to switch on/off the led status
Last updated