Working Reference (After-the-post note): https://github.com/intelmakers/GETTING-STARTED/wiki/Options-for-installing-IoTivity-stack-on-Edison
Experiment goal:
To explore IoTivity and to execute client-server test using IoTivity discovery feature
Result:
- Creation of and flashing Yocto image for Edison
- looks to be succssessfull according to logs (see the picture below)
- !!! but NO components named with iotivity or oic were found on Edison with fresh flashed Yocto.
- Compiling of simpleclient and simpleserver provided at iotivity examples
- succeeded only at Ubuntu PC host (see the picture below)
- !!! failed to compile examples for Yocto
Conclusion
Goals not achieved yet. The investigation/experiment has to continue.
Process:
- Source links:
- Main link: https://wiki.iotivity.org/running_sample_codes_in_iotivity_0.9_sdk_on_edison
- http://shawnhymel.com/585/creating-a-custom-linux-kernel-for-the-edison/
- https://communities.intel.com/message/253475#253475
- http://download.intel.com/support/edison/sb/edisonbsp_ug_331188007.pdf
- http://www.scons.org/doc/production/HTML/scons-user.html#chap-build-install
- https://www.iotivity.org/downloads/iotivity-0.9.0-release
- https://www.iotivity.org/documentation/linux/getting-started
- Ingredients:
- Ubuntu LTS 14.04 64 bit
- Intel Edison wit Arduino Extension Board
- Iotivity 0.9 SDK
- Steps:
- install required packages
sudo apt-get install build-essential git diffstat gawk chrpath texinfo libtool gcc-multilib
sudo apt-get install libboost-dev libboost-program-options-dev libexpat1-dev libqt4-core libqt4-gui
sudo apt-get install dfu-util screen libsdl1.2-dev kate u-boot-tools
- download edison yocto sources from here: http://downloadmirror.intel.com/25028/eng/edison-src-ww25.5-15.tgz (refered here as ‘Linux source files’ for Edison Firmware:https://software.intel.com/en-us/iot/hardware/edison/downloads)
~>cp Downloads/edison-src-ww25.5-15.tgz ~
cd ~
- extract doewnloaded file
tar xvf edison-src-ww25.5-15.tgz
- Build initial Yocto image for Edison:
— Initialize Yocto build environment
cd edison-src/meta-intel-edison
./setup.sh –bb_number_thread=2 –parallel_make=2
— Run bitbake to create an initial Edison image (bitbake execution will take time: several hours)
cd /home/mpasha/edison-src/out/linux64
source poky/oe-init-build-env
bitbake edison-image
- Add Iotivity (meta-oic) to the build
cd edison-src/device-software
git clone http://git.yoctoproject.org/git/meta-oic
cd meta-oic
git checkout
- Add ”meta-oic” Iotivity layer to the build with editing ”bblayer.conf”
cd ~/edison-src/build/conf
kate bblayer.conf & - Add the full path of meta-oic in section [BBLAYERS ?= ” \]
example:
…
BBLAYERS ?= ” \
/home/mpasha/edison-src/out/linux64/poky/meta \
/home/mpasha/edison-src/out/linux64/poky/meta-yocto \
/home/mpasha/edison-src/out/linux64/poky/meta-yocto-bsp \
/home/mpasha/edison-src/meta-intel-edison/meta-oic$ \
\
”
… - Add iotivity package to the build with editing local.confkate local.conf &
Add lines
IMAGE_INSTALL_append = ” iotivity-dev iotivity-resource-samples iotivity-service-samples”
or
IMAGE_INSTALL_append = ” iotivity-resource-samples iotivity-service-samples”
BBMASK = “meta-oic/recipes-kernel/”
Make sure to keep a space between the opening quote and “iotivity-dev”
else you will run into an error with bitbake complaining there is no provider of clloaderiotivity
- Build Edison Yocto image again with IoTivity (this will take about 2 hours)
cd /home/mpasha/edison-src/out/linux64
source poky/oe-init-build-env
bitbake edison-image -c populate_sdk
- setup SDK
mpasha@mpasha-pc:~$ ./edison-src/out/linux64/build/tmp/deploy/sdk/poky-edison-glibc-x86_64-edison-image-core2-32-toolchain-1.7.2.sh - Finally, run the post-build script to generate the toFlash/ directory:
mpasha@mpasha-pc:~$ sudo ./edison-src/meta-intel-edison/utils/flash/postBuild.sh ./edison-src/out/linux64/build - install xfstk
https://communities.intel.com/message/257193#257193 - Flash Yocto image to Edison
sudo ./edison-src/out/linux64/build/toFlash/flashall.sh
Connect Edison and your development system with 2 USB cables and execute below command
reconnect (pull the USB cables out and plug them again) the board when propmpted
- Checking the flash process
sudo screen /dev/ttyUSB0 115200
- Boot up and Configure Edison
Boot up Edison, connect to it with Putty on serial port and configure name, password and wifi
At Edison command prompt:
configure_edison –setup
— To detect USB on Ubuntu:
sudo apt-get install input-utils
mpasha@mpasha-pc:~$ lsusb
mpasha@mpasha-pc:~$ ls -l /dev/ttyU*
crw-rw—- 1 root dialout 188, 0 אוג 15 08:36 /dev/ttyUSB0
mpasha@mpasha-pc:~$ sudo putty
- #######################################################################
- Build edisonserver and edisonclient
- #######################################################################
install scons according: iotivity/readme.scons.txt
iotivity> sudo apt-get install libboost-dev libboost-program-options-dev libexpat1-dev libboost-thread-dev uuid-dev
iotivity> sudo apt-get install libcurl4-openssl-dev
iotivity> sudo ldconfig
iotivity>sudo apt-get install libssl-dev
iotivity>sudo apt-get install scons
if scons asks you to install additional packages – do so util scons stopps ascing and starts compiling iotivity
iotivity> git clone https://github.com/01org/tinycbor.git extlibs/tinycbor/tinycbor
mpasha@mpasha-pc:~/iotivity$ source /opt/poky-edison/1.7.2/environment-setup-core2-32-poky-linux
mpasha@mpasha-pc:~/iotivity$ scons ./examples/OICSensorBoard
mpasha@mpasha-pc:~/iotivity$ scons ./examples/OICMiddle/
mpasha@mpasha-pc:~/iotivity$ scons ./resource/examples/
- Compilation results are here:
/home/mpasha/iotivity/out/linux/x86_64/release/examples
/home/mpasha/iotivity/out/linux/x86_64/release/resource/examples
sudo apt-get install libboost-all-dev
- boost installing according : https://www.iotivity.org/documentation/linux/getting-started
cd boost_1_55_0/
sudo ./bootstrap.sh –with-libraries=system,filesystem,date_time,thread,regex,log,iostreams,program_options –prefix=/usr/local
sudo apt-get update
sudo apt-get install python-dev autotools-dev libicu-dev build-essential libbz2-dev
sudo ./b2 install
sudo sh -c ‘echo ‘/usr/local/lib’ >> /etc/ld.so.conf.d/local.conf’
sudo ldconfig - scons commands to try
sudo scons TARGET_OS=yocto TARGET_ARCH=x86_64 resource/examples/
sudo scons TARGET_OS=yocto –extrapath=/home/mpasha/boost_1_55_0
scons RELEASE=false TARGET_OS=yocto TARGET_ARCH=x86_64
- IoTRelated files at Edison
on Edison
./usr/lib/python2.7/dist-packages/iotkit.py
./usr/bin/iot
./usr/lib/node_modules/iotkit
./usr/lib/node_modules/iotkit-agent
./usr/lib/node_modules/iotkit-comm
./usr/lib/opkg/info/iotkit-xxx
./usr/share/iotkit-lib
./usr/share/iotkit-comm
./usr/include/iotkit-lib
./usr/include/iotkit-comm
./lib/systemd/system/iotkit-agent.service
./etc/iotkit-lib
./etc/iotkit-comm
Pics:
- simpleclient and simpleserver communicate on Ubuntu
- Edison Yocto image flash suceeded, but no oic or iotiviyu files detected on Edison
Same here.. nothing related files i seen in the edition board.. have you found the fix ?
for me it was showing like
root@edison:~# ./server
./server: error while loading shared libraries: liboc.so: cannot open shared object file: No such file or directory
I didn’t continue with that, but somebody in Intel community did: https://github.com/intelmakers/GETTING-STARTED/wiki/Options-for-installing-IoTivity-stack-on-Edison
Enjoy
i Have build my own image with iotivity stack.. now it is working on Edison. cheers 🙂
Will be glad to see your description on how you achieved that. Tnx