The document discusses several single board computers that can be used for IoT and Tizen development including the Raspberry Pi, Odroid, Minnowboard Max, and Samsung's new ARTIK boards. It provides guidance on installing Tizen or building from source using Yocto Project on various boards. Graphics support can sometimes be challenging for boards without 3D acceleration. IoTivity allows interacting with other IoT devices and products across different operating systems and hardware platforms.
1. Samsung Open Source Group 1
Dev boards for IoT ?
From Minnow, Odroids, RPIs to ARTIK
Philippe Coval
Samsung Open Source Group / SRUK
philippe.coval@osg.samsung.com
Tizen Community Meetup NUMA Paris <2016-06-09>
https://wiki.tizen.org/wiki/Category:Hardware
2. Samsung Open Source Group 2
Embedded developer feedback
● Joined Tizen in 2013:
– worked with Intel and now Samsung
– Mostly as platform developer
● Hardware for platform development
– GNU/Linux based Operating Systems :
● Tizen, Yocto
● Demonstrated with IoT experiments
3. Samsung Open Source Group 3
Tizen is an Operating System
● For consumer electronics
– Open to application developers
– To be connected by 2020 (IoT)
● Free and Open Source Software
– Based on GNU/Linux
– Hosted by LinuxFoundation since 2011
– Platform developers welcome
4. Samsung Open Source Group 4
Single Board Computers (SBC)
● Are for developers not like end user products.
● Support lot of I/O, Peripherals GPIO
● Many use cases :
– DIY, Robotic, Server, Web, NAS, Gateway, IoT
– Use Tizen, or prototype custom profiles
● May support (many) Linux Operating Systems.
– Yocto/OpenEmbedded can be helpful
5. Samsung Open Source Group 5
Strategy
● Official Tizen support
– Binary released on Tizen.org : OS images and packages
– Built with Git Build System (GBS) and MIC
● ARMv7, x86 (32 or 64bits)
● Official Yocto Poky support
– Cross compiling the whole OS
– Can support extra Board Support Package (BSP)
● Tizen Yocto ports
– Forked from Poky dizzy version + BSPs
● Community ports
– Custom built kernel + device trees along official RootFs
6. Samsung Open Source Group 6
Few Hints
● Watch for legal concerns (drivers as binary blobs)
● Important for Tizen
– Kernel version
● Tizen:Common uses SMACK and LSTI kernel (3.14+)
– Graphics : X11 or Wayland ? Drivers / blobs ?
● Tizen:3 is focused on wayland
● Important for IoT
– Connectivity, Security
– Power Consumption, better use MCU and not Linux
7. Samsung Open Source Group 7
Internet of Things with
● IoTivity is a framework to provide
– Seamless Device to Device connectivity for IoT
– C/C++ library (FLOSS : Apache 2.0)
● Implementation of Open Standard
– Open Connectivity Foundation (OCF)
● Supported in Tizen:3.0, Yocto, others OS and MCUs
● Cross Platform, multi profiles & protocol agnostic
– IP, Ethernet, WiFi, Bluetooth, BLE, Zigbee, LTE...
9. Samsung Open Source Group 9
Allwinner based devices
● Achievements on Olimex OpenSource hardware
– Tizen:2.x hacks : RootFs from RDPQ's images
– Tizen:3.0:Common on OLinuXino micro (A20) TDC2014
● Allwinner SoC
– Support form linux-sunxi community : 3.4 (No Security)
– - : MALI GPU : no support for wayland
– + : Framebuffer
● https://wiki.tizen.org/wiki/Sunxi
● Next ? : Mainline kernel, C.H.I.P ?
10. Samsung Open Source Group 10
MinnowBoard Max
● Reference platform for Tizen:3.0:IVI (based on Common)
– Intel Based (E3815), Open Source Hardware
– https://wiki.tizen.org/wiki/MinnowMax
– Supports web apps (.wgt), Accelerated graphics...
● Download EFI x86-64 image :
– tizen-3.0.2015.Q2-common_20150630.1
– http://download.tizen.org/releases/milestone/tizen
● Dump to USB or Sdcard:
file=”tizen3.0.2015.Q2common_20150630.1_commonwaylandefix86_64sda.raw.bz2”
lsblk ; disk=/dev/sdTODO # update device
bzcat "$file" | sudo dd of="$disk" bs=32M oflag=sy
11. Samsung Open Source Group 11
iotivity-tizen-z1-gears-20160331
https://vimeo.com/161074400#
12. Samsung Open Source Group 12
Odroid U3 & XU4
● By HardKernel, ships Exynos CPU
– Note: Not on all Odroids (ie: C1 uses Amlogic)
– Uses signed u-boot mechanism : ARM Trust Zone
– ARM Mali GPU
● Official Tizen:3 support
– GPU support with DDK
– + : Closer to products
13. Samsung Open Source Group 13
Raspberry Pi
● RPI2 ARMv7 : efforts by S-OSG
– using Tizen Yocto (TDC2015)
– but could use GBS too
● RPI1 and RPI0 (ARMv6)
– so Tizen Yocto
● Graphics : BCM Video Core
– Userland : Legacy
● Does not work well with Wayland
– DRM : Mainline support
● To Upgrade Kernel, mesa, xwalk
14. Samsung Open Source Group 14
Raspberry Pi Zero
● Super cheap: 5 GBP
● Lacks connectivity but provides USB
● ARMv6 : Like PI1 : not supported on Tizen Infra
● So Tizen Yocto !
● More: OSIS2016
15. Samsung Open Source Group 15
connected-tizen-20160131rzr
https://vimeo.com/153263103#
16. Samsung Open Source Group 16
SBC
+3.3V
Relay 5V
Finder F34
30.22.7.005.0010
Vcc 2
?
GND 2
Vcc 1
+ 5V
GND 1
Transistor NPN
P2N 2222A
Resistor *
(*) MinnowMax
47 OHM
(yellow, purple, black)
C
B
E
o
o
o
o
GPIO
(*) RaspberryPI
180 OHM
(brown, grey, brown)
Controlling a relay with GPIO
18. Samsung Open Source Group 18
● Modules for IoT & Cloud
● ARTIK5 & ARTIK10 : Exynos5 based CPU(s)
– Multimedia : ARM MALI
– Connectivity :
● Ethernet, WIFI, Bluetooth, BLE, Zigbee, SigFox...
– Others : Security (ARM Trusted zone)
● ARTIK1 is MIPS
– Not appropriate to run Linux
19. Samsung Open Source Group 19
iotivity-artik-20160606rzr
https://vimeo.com/169937208#
21. Samsung Open Source Group 21
Working on bootable SDcard
● Dump to SdCard, set switches and login
dd if=build/tmp/deploy/images/artik10/*.artiksdimg of=...
● Add more features, for instance IoT
– Add meta-oic layer and iotivity package
$ cd poky
$ git clone
http://git.yoctoproject.org/cgit/cgit.cgi/metaoic
$ cat<<EOF>>conf/bblayers.conf
BBLAYERS += "$(pwd)/metaoic"
EOF
– ...
23. Samsung Open Source Group 23
Boot Tizen from SD card on ARTIK
● Plug Debug USB & Setup debug console :
ls l /dev/ttyUSB*
# crwrw 1 root dialout 188, 0 Jun 2 15:11 /dev/ttyUSB0
screen /dev/ttyUSB0 115200
● Set U-Boot parameters to boot Sdcard :
env default f
set rootdev 1
set rootpart 3
set opts ${opts} init=/lib/systemd/systemd
set opts ${opts} rootwait rootdelay=3
boot
● Login as root:tizen
$ cat /proc/version
Linux version 3.10.933.8armartik10 (abuild@w17)
(gcc version 4.9.2 (Tizen/Linaro GCC 4.9.2 2015.02) )
#1 SMP PREEMPT Fri Jun 3 23:11:09 UTC 2016
27. Samsung Open Source Group 27
Conclusion
● It's up to you to define what are your priorities :
– Cost
● RaspberryPI0, PI1, PI2, Odroid C1
– Connectivity, I/O, IoT :
● ARTIK5, ARTIK10, Atmel, PI3
– OSHW :
● Minnowboard Max, Olimex
– Align to Tizen platform developers
● Exynos SBCs : Odroid XU4 or ARTIK
28. Samsung Open Source Group 28
Summary
● Many single board computers on the market
– Most are supporting Linux or even Yocto
● Few are supported by Tizen project : x86 or ARM Exynos
● Others can be adapted somehow
– Accelerated graphics can be difficult for hobbyists
– Fallback on headless use cases (I/O, server, IoT)
● IoT is fun with IoTivity
– Interact with other devices or commercialized products
– ARTIK is focused on IoT use cases too
29. Samsung Open Source Group 29
References
● Entry point :
– https://wiki.tizen.org/wiki/Category:Hardware
● Keep in touch with online communities :
– https://wiki.tizen.org/wiki/Meeting
– https://wiki.tizen.org/wiki/Events
– https://developer.artik.io/forums/users/rzr
– https://blogs.s-osg.org/author/pcoval/
● Mentioned :
– https://wiki.tizen.org/wiki/FOSDEM
– https://wiki.tizen.org/wiki/MinnowMax
– https://wiki.tizen.org/wiki/Raspberry_Pi
30. Samsung Open Source Group 30
Thanks
https://wiki.tizen.org/wiki/User:Pcoval
Samsung OSG, SSI,
Intel, Allwinner, Atmel, HardKernel, ARTIK,
FLOSS Communities: Tizen, Yocto, IoTivity, Wayland
LinuxFoundation,OCF,
FlatIcons (CC BY 2.0), Libreoffice, openshot
VB,RR,NumaParis, Meetup
YOU !