Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Samsung Open Source Group 1
connected with
Open Source Innovation Spring 2016
<2016-05-03>
Philippe Coval
Samsung Open Sou...
Samsung Open Source Group 2
Until 2020
Samsung Open Source Group 3
IoT ? You said ?
● “I” like Interoperability
– Do we want all devices exposed to the Internet ...
Samsung Open Source Group 4
“T” like platform
● Integrates many existing components :
– Mainline Linux kernel with SMACK s...
Samsung Open Source Group 5
“I” like framework
● Seamless device to device connectivity for IoT
– Core: Discovery, Secure ...
Samsung Open Source Group 6
“O” like Openness
● Tizen and IoTivity are
– FLOSS LinuxFoundation collaborative projects
● Io...
Samsung Open Source Group 7
Today's reality
● Tizen:3.0 platform supports IoTivity
– Only on development devices (Single B...
Samsung Open Source Group 8
Let's practice
Samsung Open Source Group 9
Challenge : IoT GPS Map
● Share a GPS position to nearby devices
– https://youtu.be/Y7gwAlaoq5...
Samsung Open Source Group 10
Single Board Computer on Tizen 3
● RPI 0
– 5 EUR
– Yocto
– GPIO
– GPU
– USB
– ARMv6
– No Eth
...
Samsung Open Source Group 11
Build an IoT server
● Invest 5 EUR into RaspberryPI zero
● Learn a bit about Yocto (or ask me...
Samsung Open Source Group 12
Build IoT clients 1/2 : library
● Setup and configure GBS for :
– Tizen:2.4:Mobile for Z1
– T...
Samsung Open Source Group 13
Build IoT clients 2/2 : app
● Create Native EFL app (C/C++)
– Using supported tizen-sdk
– For...
Samsung Open Source Group 14
Client / Server Flow
2016-04-27
14
OCPlatform::Configure(OC::PlatformConfig )
OCPlatform::reg...
Samsung Open Source Group 15
Shared Resource
● Once setup server owns resource's value:
– Updates it in a loop (from GPS o...
Samsung Open Source Group 16
More Showcases
Samsung Open Source Group 17
More Showcases
● Real world resources : Relay control
– Using GPIO (MinnowMax, GENIVI, OSVehi...
Samsung Open Source Group 18
Summary
● You can build your own full FLOSS IoT device
– Running on and OS
– On accessible de...
Samsung Open Source Group 19
Reference
● Entry point :
– https://wiki.iotivity.org/tizen
● Join online community (IRC) :
–...
Samsung Open Source Group 20
Thanks
IRIL, INRIA, Pole Systematic, PF/OpenWide,
FLOSS Communities : Tizen, IoTivity, EFL, Y...
Upcoming SlideShare
Loading in …5
×

Tizen Connected with IoTivity

17,708 views

Published on

Philippe Coval explains how Tizen and IoTivity work together to make an idea IoT platform.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Tizen Connected with IoTivity

  1. 1. Samsung Open Source Group 1 connected with Open Source Innovation Spring 2016 <2016-05-03> Philippe Coval Samsung Open Source Group / SRUK philippe.coval@osg.samsung.com
  2. 2. Samsung Open Source Group 2 Until 2020
  3. 3. Samsung Open Source Group 3 IoT ? You said ? ● “I” like Interoperability – Do we want all devices exposed to the Internet ? – <blink>Local connectivity between devices</blink> – Today, gateway is a reasonable answer ● “O” like Openness – Open standards, protocol, implementations ● “T” like Trustworthy – Security is Sine qua non condition for IoT
  4. 4. Samsung Open Source Group 4 “T” like platform ● Integrates many existing components : – Mainline Linux kernel with SMACK security module – libc, X11/Wayland, GStreamer, EFL, WebKit/Blink ● Split into profiles for specific features – Mobile, Wearable, IVI... ● Shipped into consumer electronic products – 2011 … 2012 ... 2013 … 2014 … 2015 … 2016 ...
  5. 5. Samsung Open Source Group 5 “I” like framework ● Seamless device to device connectivity for IoT – Core: Discovery, Secure Transmission, Data/Device – Plus profile services : SmartHome, Automotive, Health... ● C/C++ library (Apache 2.0) – RESTfull design : CoAP and CBOR ● Backed by Open Connectivity Foundation – Establishes standard, certification – With Industry support (Samsung, Intel, Cisco, GE, +170)
  6. 6. Samsung Open Source Group 6 “O” like Openness ● Tizen and IoTivity are – FLOSS LinuxFoundation collaborative projects ● IoTivity / OCF – Not tied to Tizen or Linux or any vendor ● Cross platform : Linux, Yocto, Tizen, Android, MCUs, TBC – Abstract Transport : ● IP, Bluetooth, BLE, WiFi, +plugins (Zigbee, LTE, NFC) – Backed by Open Connectivity Foundation ● Open standard, with 170+ members
  7. 7. Samsung Open Source Group 7 Today's reality ● Tizen:3.0 platform supports IoTivity – Only on development devices (Single Board Computers) ● Some 2.x products are supporting Native APIs – On actual devices : Mobile and Wearables ! ● IoTivity is also supported outside Tizen – Automotive: Poky based system (GENIVI, AGL, ...) – Bridges, Web, Cloud : IoTivity node ● Open many developers opportunities ! – Convergence
  8. 8. Samsung Open Source Group 8 Let's practice
  9. 9. Samsung Open Source Group 9 Challenge : IoT GPS Map ● Share a GPS position to nearby devices – https://youtu.be/Y7gwAlaoq5U#iotivity-gears2-20160427rzr ● Using IoTivity on Tizen powered devices – Make a basic server: ● shares a resource (pair of float numbers) ● To run on supported device – Make a basic client: ● displays position on a map ● To run on consumer product(s)
  10. 10. Samsung Open Source Group 10 Single Board Computer on Tizen 3 ● RPI 0 – 5 EUR – Yocto – GPIO – GPU – USB – ARMv6 – No Eth ● RPI 2 – ARMv7 – Ethernet
  11. 11. Samsung Open Source Group 11 Build an IoT server ● Invest 5 EUR into RaspberryPI zero ● Learn a bit about Yocto (or ask me helper script) ● And build a tizen-distro image source ./tizen-common-init-build-env build-common BBLAYERS += ".../meta-raspberrypi" BBLAYERS += ".../meta-oic" IMAGE_INSTALL += " iotivity " ● Add virtual GPS server recipe and rebuild image
  12. 12. Samsung Open Source Group 12 Build IoT clients 1/2 : library ● Setup and configure GBS for : – Tizen:2.4:Mobile for Z1 – Tizen:2.3.1:Wearable for Gear S2 – Tizen:3.0 for x86 or ARM ● Build dependencies 1st : (scons, boost...) – git clone $URL -b ${branch} # (ie: tizen, tizen_2.4) – gbs build -p ${profile} # (ie: tizen_mobile-armv7l) ● In the end : iotivity-*.rpm
  13. 13. Samsung Open Source Group 13 Build IoT clients 2/2 : app ● Create Native EFL app (C/C++) – Using supported tizen-sdk – For selected profile : ● Tizen:2.4:Mobile for Z1 or Tizen:2.3.1:Wearable for Gear S2 ● Integrate IoTivity library : – Unpack lib and headers from RPM in project – Update Eclipse project settings (to link with IoTivity see wiki) ● Code your client using EFL (hint: elm_map) ● Deploy package to Device (*.tpk)
  14. 14. Samsung Open Source Group 14 Client / Server Flow 2016-04-27 14 OCPlatform::Configure(OC::PlatformConfig ) OCPlatform::registerResource(...) ... OC::EntityHandler(OCResourceRequest) { switch(getRequestType) { case 'GET' : ... OCPlatform::sendResponse(...);; case 'PUT' : ... OCPlatform::sendResponse(...); OCPlatform::notifyAllObservers();; }} OCPlatform::findResource(...) // Multicast for discovery:(UDP) OCPlatform::Configure(OC::PlatformConfig ) OC::OCResource::put(...) OC::PutCallback(...) OC::OCResource::get(...) OC::GetCallback(...) IoTivity Server (on Tizen 3) IoTivity Client(s) (on Tizen 2) OC:ObserveCallback(...) IP Network
  15. 15. Samsung Open Source Group 15 Shared Resource ● Once setup server owns resource's value: – Updates it in a loop (from GPS or simulated) ● m_Representation.setValue("lat", m_lat); ● m_Representation.setValue("lon", m_lon); ● Once discovered client reflects the resource: – Listen as observer (transparent) – or polling on GET (using EFL timer) – onChange(... const OCRepresentation &rep …) ● lat = rep.getValue<double>("lat"); ● lon = rep.getValue<double>("lon");
  16. 16. Samsung Open Source Group 16 More Showcases
  17. 17. Samsung Open Source Group 17 More Showcases ● Real world resources : Relay control – Using GPIO (MinnowMax, GENIVI, OSVehicle) ● https://vimeo.com/164000646#tizen-genivi-20160424rzr ● Check Automotive WIP about Bridging RVI to OCF too
  18. 18. Samsung Open Source Group 18 Summary ● You can build your own full FLOSS IoT device – Running on and OS – On accessible developer devices (SBC) ● Interact with commercialized products – Through Native apps – Developed with Tizen SDK – Linked with IoTivity ● Or any other devices of your dreams
  19. 19. Samsung Open Source Group 19 Reference ● Entry point : – https://wiki.iotivity.org/tizen ● Join online community (IRC) : – https://wiki.tizen.org/wiki/Meeting ● Resources : – https://github.com/tizenteam/iotivitymap – https://blogs.s-osg.org/iotivity-ready-automotive/ – https://wiki.tizen.org/wiki/Raspberry_Pi – http://www.slideshare.net/SamsungOSG/
  20. 20. Samsung Open Source Group 20 Thanks IRIL, INRIA, Pole Systematic, PF/OpenWide, FLOSS Communities : Tizen, IoTivity, EFL, Yocto LinuxFoundation, OCF, SamsungOSG, Libreoffice, FlatIcons (CC BY 2.0) YOU ! https://wiki.tizen.org/wiki/User:Pcoval

×