Compare 0 Products     empty

How to test Semioty services with engicam microdev board.

Prepare the building environment

Download the Pyro virtual machine image and run it.

Enter into the yocto source folder and update the layers:

cd pyro/fsl-community
cd sources/
cd meta-engicam
#update the engicam layer
git pull origin pyro

#clone the simoty layer
git clone https://engicamtestgit-admin@bitbucket.org/engicamtestgit/meta-semioty.git

Now we need to setup the yocto environment for building.

For do this , return into the main yocto folder and run the bitbake setup environment script:

source engicam-setup-environment microdev

Change the machine type to microdev changing MACHINE ??= 'microdev' line.

The result should be the same at below:

MACHINE ??= 'microdev'
DISTRO ?= 'fslc-framebuffer'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    ABORT,${TMPDIR},100M,1K \
    ABORT,${DL_DIR},100M,1K \
    ABORT,${SSTATE_DIR},100M,1K \
    ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"

BB_NUMBER_THREADS = '4'
PARALLEL_MAKE = '-j 4'
PACKAGE_CLASSES = "package_ipk"

DL_DIR ?= "${BSPDIR}/downloads/"

UBOOT_CONFIG="sd"

PACKAGECONFIG_append_pn-qtbase = " tslib "
PACKAGECONFIG_append_pn-qtbase = " linuxfb "
PACKAGECONFIG_append_pn-qtbase = " fontconfig "

IMAGE_ROOTFS_SIZE = "2097152"
IMAGE_OVERHEAD_FACTOR = "1.0"
PACKAGECONFIG_remove_pn-qtbase  = " gl "
PACKAGECONFIG_remove_pn-qtbase  = " gles2 "
QT_CONFIG_FLAGS_remove = " -eglfs "
QT_CONFIG_FLAGS_append =" -no-opengl "
DISTRO_FEATURES_remove = " x11 wayland opengl gl"
STARTUPDEMO = "resistive"
ACCEPT_FSL_EULA = "1"

edit the conf/bblayers.conf file and add the meta-semioty layer to the layers list.

gedit conf/bblayers.conf

at the end add the ${BSPDIR}/sources/meta-semioty \ line and save it.

the result should be like:

POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}"
BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')}"

BBFILES ?= ""
BBLAYERS = " \
  ${BSPDIR}/sources/poky/meta \
  ${BSPDIR}/sources/poky/meta-poky \
  \
  ${BSPDIR}/sources/meta-openembedded/meta-oe \
  ${BSPDIR}/sources/meta-openembedded/meta-multimedia \
  \
  ${BSPDIR}/sources/meta-freescale \
  ${BSPDIR}/sources/meta-freescale-3rdparty \
  ${BSPDIR}/sources/meta-freescale-distro \
  ${BSPDIR}/sources/meta-engicam \
  ${BSPDIR}/sources/meta-qt5 \
  ${BSPDIR}/sources/meta-iot-cloud \
  ${BSPDIR}/sources/meta-openembedded/meta-python \
  ${BSPDIR}/sources/meta-semioty \
"

Now you are ready to launch the build script.

launch the command:

bitbake semioty-image

Write the sdcard and install SDK

at the end of building enter into the folder deploy folder:


cd tmp/deploy/

In this path you'll the image folder and the sdk folder.

First of all install the SDK.

enter into sdk folder and type:

./fslc-framebuffer-glibc-x86_64-semioty-image-armv7at2hf-neon-toolchain-2.3.1.sh

and follow the install instruction (keep in mind the path of installation your sdk you have to use it during the demo building ).

Now flash the sdcad image.

Insert the sdcard on your sdcard reader and check the reader path with lsblk command.

Suppose to have your sdcard reader on on /dev/sdc.

enter on images foldes, and lanch the command:

cd images/midrodev
sudo dd if=semioty-image-microdev.sdcard  of=/dev/sdc bs=12M && sync

now put sdcard in to microdev , select sdcard boot and poweron the board.

Build the semioty demo

clone the latest demo sources from engicam git repo.

On your VM type the command:

git clone https://engicamtestgit-admin@bitbucket.org/engicamtestgit/semiotymicrodev.git

Now enter on semiotymicrodev folder and launch the SDK setup script

source <sdk folder> environment-setup-armv7at2hf-neon-fslc-linux-gnueabi
e.g.
source /opt/fslc-framebuffer/2.3/environment-setup-armv7at2hf-neon-fslc-linux-gnueabi

change the configs.h file with your credential:

#define MQTT_USER <your user>
#define MQTT_PSW <your password>
#define MQTT_TOPIC_SUB "<mqtt topic>/measures"
#define MQTT_TOPIC_SUB_BASE "<mqtt topic>/command"

now build teh application :

cmake .
make

At the end copy the application file on target with your certificate (ask semioty for this).

On target rename the certificate file in my.cert

Warning application file and certificate file must be in the same folder.

Now you are ready to run the application on target.