Development Boards for Tizen IoT
-
Upload
samsung-open-source-group -
Category
Software
-
view
9.793 -
download
5
Transcript of Development Boards for Tizen IoT
Samsung Open Source Group 1
Dev boards for IoT ?From Minnow, Odroids, RPIs to ARTIK
Philippe CovalSamsung Open Source Group / SRUK
Tizen Community Meetup NUMA Paris <2016-06-09>
https://wiki.tizen.org/wiki/Category:Hardware
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
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
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
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
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
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...
Samsung Open Source Group 8
History
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 ?
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 devicebzcat "$file" | sudo dd of="$disk" bs=32M oflag=sy
Samsung Open Source Group 11
iotivity-tizen-z1-gears-20160331https://vimeo.com/161074400#
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
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
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
Samsung Open Source Group 15
connected-tizen-20160131rzrhttps://vimeo.com/153263103#
Samsung Open Source Group 16
SBC
+3.3V
Relay 5VFinder F34
30.22.7.005.0010
Vcc 2
?
GND 2
Vcc 1+ 5V
GND 1
Transistor NPNP2N 2222A
Resistor *
(*) MinnowMax 47 OHM (yellow, purple, black)
C
B
E
o
oo
o
GPIO
(*) RaspberryPI 180 OHM (brown, grey, brown)
Controlling a relay with GPIO
Samsung Open Source Group 17
ARTIK just landed !
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
Samsung Open Source Group 19
iotivity-artik-20160606rzrhttps://vimeo.com/169937208#
Samsung Open Source Group 20
Build Yocto poky with meta-artik
● Fetch sources:$ git clone http://git.yoctoproject.org/git/poky$ cd poky && git checkout jethro$ git clone b jethro https://github.com/resinos/metaartik
● Configure environment :$ . ./oeinitbuildenv
$ cat<<EOF>>conf/bblayers.confBBLAYERS += "$(pwd)/metaartik"EOF
● Build the whole OS:
$ MACHINE=artik10 bitbake coreimageminimal
Samsung Open Source Group 21
Working on bootable SDcard
● Dump to SdCard, set switches and logindd 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.confBBLAYERS += "$(pwd)/metaoic"EOF
– ...
Samsung Open Source Group 22
Tizen builds ARTIK images
● Download for Artik10 (or Artik5):– http://download.tizen.org/snapshots/tizen/common/\
latest/images/arm-wayland/
– boot=tizen-common_*_common-boot-armv7l-artik10.tar.gz
– root=tizen-common_*_common-wayland-3parts-armv7l-artik.tar.gz
● Dump to Sdcard:$ lsblk ; disk=/dev/sdTODO # (adapt)$ git clone https://github.com/tizenteam/sdboot$ cd sdboot && git checkout b sandbox/pcoval/for/master$ sudo bash x ./mk_sdboot.sh f "$disk"$ sudo bash x ./mk_sdboot.sh w $disk $boot $ sudo bash x ./mk_sdboot.sh w $disk $root
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/ttyUSB0screen /dev/ttyUSB0 115200
● Set U-Boot parameters to boot Sdcard :env default fset rootdev 1set rootpart 3set opts ${opts} init=/lib/systemd/systemd set opts ${opts} rootwait rootdelay=3boot
● Login as root:tizen$ cat /proc/versionLinux 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
Samsung Open Source Group 24
Want more ?
Samsung Open Source Group 25
More boards
● SolidRun Humming board (TizenYocto Common & IVI)● Renesas RCAR_M2 (Tizen Common)● Atmel SAMA5d4 (Yocto BSP: meta-atmel)
– I/O Compatible with Arduino shields (LoRa?), no GPU
● Intel Edison : Yocto BSP● 64 bits boards : ?
– Juno from ARM (with MALI T624 GPU), 96 Boards, ..
– Odroid C2
– RPI3 ARMv8 (Yocto BSP : meta-raspberrypi)
● Many more ARM SBC but also MIPS or other archs ...
Samsung Open Source Group 26
Pick yours ?
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
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
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
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, openshotVB,RR,NumaParis, Meetup
YOU !