The document provides an overview of IoTivity, an open source framework for connecting devices. It discusses how IoTivity implements the Open Connectivity Foundation standard to provide seamless discovery and communication between devices. Examples are shown of building an IoTivity server on Arduino and clients on Tizen to create a multi-controlled binary switch that can be read and written to by multiple connected clients. The document encourages exploring IoT development and discusses how IoTivity supports connectivity across various hardware platforms.
In this free 30 minute live webinar, followed by Q&A, you'll learn all about the new MediaTek LinkIt Smart 7688 development platform, the open-source Wi-Fi platform for a more connected world.
The MediaTek LinkIt™ Smart 7688 development platform enables rapid development of Wi-Fi enabled products for the smart home and office, such as advanced IP cameras, surveillance devices, and smart appliances.
In this webinar you will learn about:
• The architecture and capabilities of the MediaTek LinkIt Smart 7688
• How to undertake rapidly develop of Wi-Fi enabled products using Arduino, Python, Node.js or C/C++
Presented by Ajith KP, technical consultant, MediaTek Labs.
Checkout LinkIt Smart 7688 at http://labs.mediatek.com/7688
MediaTek Labs Webinar: Getting Started with LinkIt ONEMediaTek Labs
An introduction to creating Wearables and IoT proof-of-concepts with the MediaTek LinkIt ONE development platform. The presentation provides an overview of the LinkIt ONE development board, before explaining how to setup the SDK, a plug-in for the Arduino SDK. It then looks at how to code with some of the key features of the LinkIt ONE API: SMS, GPS (GNSS), audio and GPRS. It concludes by offering an overview to the MediaTek Cloud Sandbox, other development platforms available, LinkIt Assist 2502 and LinkIt Connect 7681, and details on key links for registration and more information.
Find out more about the LinkIt ONE development platform visit http://labs.mediatek.com/linkitone
Get the resources and support you need to build your own Wearables and IoT devices, register now: http://labs.mediatek.com/register
OpenShift Commons Briefing: Ask Me Anything about Cinder and GlanceBrian Rosmaita
Overview and update on the OpenStack Cinder and Glance projects, including a discussion of upstream OpenStack development, Cinder third-party backend drivers, and how these impact OpenShift.
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...MediaTek Labs
Want to add Wi-Fi to your IoT project? This 30 minute webinar, presented by technical consultant Ajith KP, demonstrated how to program (using Arduino and Python) for peripheral sensors connected to the MediaTek LinkIt Smart 7688 Duo’s microcontroller and how to communicate between the microcontroller and the MT7688 SOC.
Three ways to undertake the peripheral programming for the MediaTek LinkIt Smart 7688 Duo were covered:
1) Using a primitive UART connection
2) Using the Firmata protocol
3) Using the Arduino Yun Bridge Library
A recording of the live event can be found at http://home.labs.mediatek.com/technical-mediatek-linkit-smart-7688-webinar-recording-available/
In this free 30 minute live webinar, followed by Q&A, you'll learn all about the new MediaTek LinkIt Smart 7688 development platform, the open-source Wi-Fi platform for a more connected world.
The MediaTek LinkIt™ Smart 7688 development platform enables rapid development of Wi-Fi enabled products for the smart home and office, such as advanced IP cameras, surveillance devices, and smart appliances.
In this webinar you will learn about:
• The architecture and capabilities of the MediaTek LinkIt Smart 7688
• How to undertake rapidly develop of Wi-Fi enabled products using Arduino, Python, Node.js or C/C++
Presented by Ajith KP, technical consultant, MediaTek Labs.
Checkout LinkIt Smart 7688 at http://labs.mediatek.com/7688
MediaTek Labs Webinar: Getting Started with LinkIt ONEMediaTek Labs
An introduction to creating Wearables and IoT proof-of-concepts with the MediaTek LinkIt ONE development platform. The presentation provides an overview of the LinkIt ONE development board, before explaining how to setup the SDK, a plug-in for the Arduino SDK. It then looks at how to code with some of the key features of the LinkIt ONE API: SMS, GPS (GNSS), audio and GPRS. It concludes by offering an overview to the MediaTek Cloud Sandbox, other development platforms available, LinkIt Assist 2502 and LinkIt Connect 7681, and details on key links for registration and more information.
Find out more about the LinkIt ONE development platform visit http://labs.mediatek.com/linkitone
Get the resources and support you need to build your own Wearables and IoT devices, register now: http://labs.mediatek.com/register
OpenShift Commons Briefing: Ask Me Anything about Cinder and GlanceBrian Rosmaita
Overview and update on the OpenStack Cinder and Glance projects, including a discussion of upstream OpenStack development, Cinder third-party backend drivers, and how these impact OpenShift.
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...MediaTek Labs
Want to add Wi-Fi to your IoT project? This 30 minute webinar, presented by technical consultant Ajith KP, demonstrated how to program (using Arduino and Python) for peripheral sensors connected to the MediaTek LinkIt Smart 7688 Duo’s microcontroller and how to communicate between the microcontroller and the MT7688 SOC.
Three ways to undertake the peripheral programming for the MediaTek LinkIt Smart 7688 Duo were covered:
1) Using a primitive UART connection
2) Using the Firmata protocol
3) Using the Arduino Yun Bridge Library
A recording of the live event can be found at http://home.labs.mediatek.com/technical-mediatek-linkit-smart-7688-webinar-recording-available/
Marketing Cloud: The Dawn of the Digital MarketerDreamforce
The sun is rising on the future of marketing. Customers are engaging with brands they love on digital channels like never before, and new technology is further enabling ways for companies to impress customers every day. The dawn of the digital marketer is upon us. Join us and learn how the world's most innovative brands are cultivating 1-to-1 customer experiences across marketing, sales, and service.
Choosing the Right Solution: When to Use Pardot, Marketing Cloud, or BothDreamforce
Whether you're marketing a B2B or B2C business--and regardless of your company's size or industry--Salesforce has several solutions to help you achieve your goals. Join us to discover the ideal fit for your needs. In this session, we'll guide you through the questions you should ask yourself so that you can determine if you should use Pardot, Marketing Cloud, or both.
Sales Webinar | 12 Elements of a Great Sales Playbook Altify
Effective implementation of a Sales Playbook results in 33% additional revenue, but just over half of companies have one. Travis Hill of The TAS Group shared the 12 Elements of a Great Sales Playbook that you should use to easily realize this revenue gain.
How to Maximize your Email Marketing by Adding Predictive Content, Mobile, an...Dreamforce
Email remains the cornerstone of most marketing strategies—no other channel is more effective at getting and keeping customers engaged. Yet many marketers fail to realize email’s full potential by not pairing it with other solutions. Join us to learn how to further leverage your hard-earned subscribers and data through the addition of predictive content, mobile and advertising. You’ll leave with quick-win tactics you can implement immediately, as well as real-world tips from leading brands.
Customer journeys are no longer just for the marketing department—they transcend all aspects of the business. Join us to learn how we use our own technology to deliver personalized, cross-channel experiences across departments at Salesforce. You’ll see real-world examples of how Marketing Cloud powers journeys to onboard our customers, app users and even our employees.
Digital Marketing Automation with Salesforce Marketing CloudThinqloud
This presentation explains how Salesforce Marketing cloud enables your organization to build and manage powerful 1-to-1 customer journeys.Discover the strategy to target more customers in today's competitive world.
Each year, $83 billion is lost due to poor customer experiences. Today's marketers have a phenomenal opportunity to drive the customer journey and ensure that customers have a consistent experience no matter how or where they choose to do business with a brand. Join us to learn about the value of the customer journey, importance of having one-to-one conversations with customers, and how the Marketing Cloud will allow you to accomplish it.
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisOW2
Even if not totally new, IoT era is bringing many new challenges to address but at a larger scale.
Market oracles are publishing various figures about the expected gross,
while security experts are alarming about their concerns.
Software developers will use as much resources they can, while hardware engineers will focus on optimizing hardware for reducing cost of production or usage by focusing on power consumption.
IoT is involving many subdomains from electronics to radio communication or cloud backends, and thus many skills than nobody can seriously claim to have.
The good news is that nobody is alone in the world of open standards and free software,
and cooperation is one of the key for a seamless "INTERnet of things" where everyone can find a place in this new landscape.
To illustrate openness and interoperability, a couple of projects supported by Samsung Opensource group will be presented and how to get kickstarted on Web+IoT Technologies.
Lab Handson: Power your Creations with Intel Edison!Codemotion
by Francesco Baldassarri - Come along and play with Intel Edison, for the Internet of Things? Learn about the Developer Kit for IoT, chose your preferred environment and test it – or test all the possibilities? We will be providing information and hands on training for developers interested in testing our solutions in C/C++, Javascript, Arduino, Wyliodrin and Python. Just bring you laptop and we will help you to get started. We will also provide information about our Cloud Analytics platform, and test hardware samples with the Grove Starter Kit – Intel IoT Edition. Visit us anytime and start making! What will you make?
Devoxx 2015 - Building the Internet of Things with Eclipse IoTBenjamin Cabé
Eclipse is much more than an IDE. Repeat after me: "Eclipse is much more than just an IDE! Eclipse has a lot of cool projects that can get me started with the Internet of Things!". So whether or not you are using Eclipse as your IDE, this session will give you a crash course on the available technologies to build the Internet of Things on top of Java. You will learn how protocols like MQTT, CoAP or LwM2M and embedded frameworks like Kura help solve classical IoT issues, and you will get useful tips to move from "yay, I blinked an LED!" to more useful industrial IoT scenarios.
https://social.samsunginter.net/web/statuses/101091908485239453# #Cdl2018 : #WebThing using #WebThingIotJs on #TizenRT on #ARTIK05x connected to @MozillaIot featuring @The_Jst #JerryScript + #IotJs , video to be published by @CapitoleDuLibre
webthing-iotjs-tizenrt-cdl2018-20181117rzr
End-to-end IoT solutions with Java and Eclipse IoTBenjamin Cabé
The IoT market is poised to an exponential growth, but there are still lots of barriers that prevent building a real, open, Internet of Things. Over the last years, Eclipse has been growing an ecosystem of open-source projects for IoT, that are used in real-world solutions, from smart gateways bridging sensors to the cloud, to device management infrastructures or home automation systems.
Java is a key-enabler for IoT, and this presentation provides you with concrete examples on how to build end-to-end solutions with the Eclipse IoT Java stack and projects like Paho, Kura, SmartHome, Californium, OM2M, Eclipse SCADA, Concierge ... This session will give you the keys to build a scalable IoT solution on top of open-source technology and open standards.
Some problems can only be solved by looking across a complete compute ecosystem. IoT Devices, Mobile Devices, Media Servers Gateways, Cloud Edge Devices.

OSGi -Simplifying the IoT Gateway - Walt Bowersmfrancis
OSGi Community Event 2015
Why do IoT gateways have to be so difficult? Currently the fragmentation, complexity, and potential lock-in of the gateway make picking an IoT gateway solution appear difficult. Add to that developer integration challenges and the gateway picture seems overly complex. Enter OSGi to simplify the development and deployment of the IoT Gateway.</p>
Built on OSGi, Eclipse Kura provides an open platform for developing and deploying IoT gateways. Combining live demonstrations on the Raspberry Pi and Eurotech Reliagate with real world Eurotech use cases, this talk will provide an overview of Kura demonstrating how it leverages OSGi to simplify IoT gateway solutions.
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015SenZations Summer School
Presentation by Charalampos Doukas: Learn how to use Node.js and JavaScript to program both your IoT hardware and your Cloud application using Open Source tools and the COMPOSE platform. Device sensing and interaction from the Cloud through JavaScript
Session
Speaker: George Kortsaridis is a Software engineer graduate at University of Western Macedonia.
George is a mobile deveLOVER, who has been developing on the Android and iOS platform for many years, and turned into a full stack mobile developer. He specializes in VR development, and he is a co-organizer of GDG Thessaloniki chapter.
Abstract:
ANROID THINGS is coming to town! Together, we will dive into more details about the I.O.T architecture, and we will learn how to code our awesome projects and hack our way to the top!
The most important part of VR interaction is the person doing the interacting. Human-centered interaction design focuses on the human side of communication between user and machine: the interface from the user’s perspective. Focusing on users is more important for VR than for any other medium. When VR is done well, interactions can be brilliant and pleasurable, but when done badly, they can result in frustration, fatigue, and sickness. Many causes of bad VR are centered on a lack of understanding of human perception, intuitive interaction, design principles, and real users. Quality interactions enhance user understanding of what has just occurred, what is happening, what can be done, and how to do it. For optimal VR experiences, goals and needs must be efficiently achieved, and the experiences must be engaging and enjoyable.
Transported vr the virtual reality platform for real estateWithTheBest
We all know that buying a house is an emotional purchase. Facts and figures don’t sell houses. Imagination does. // A buyer walking through a home and imagining their new life there is the most powerful tool you can wield. // So how do we build virtual reality experiences that create walkthroughs that are a near perfect substitute for an in-person showing
Global demand for Mixed Realty (VR/AR) content is about to explode. WithTheBest
Commercial success depends upon the ability of VR producers to understand the complexities of creating and finishing, high-quality, content and finding an audience.
VR, a new technology over 40,000 years oldWithTheBest
Virtual Reality is at once both cutting edge, and a descendant of humanity's most ancient arts. Google's Chief Game Designer will bring some perspective to the origins of VR, why it matters to us in terms of evolution and storytelling, and give an overview of how Google is now supporting VR with tech like Google Cardboard, Android N, Daydream VR, and Spotlight Stories.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
IoT: From Arduino MicroControllers to Tizen Products Using IoTivity - Philippe Coval
1. Samsung Open Source Group 1
IoT:
From micro controllers
to products
using
Philippe Coval
Samsung Open Source Group / SRUK
philippe.coval@osg.samsung.com
“IoT with the Best” Online conference
#IOTWTB <2016-10-29>
2. Samsung Open Source Group 2
Hello World !
● Philippe Coval
– Software engineer for Samsung OSG
● Belongs to SRUK team, based in Rennes, France
● Ask me for IoTivity support on Tizen platform and others
– Interests
● Libre Soft/Hard/ware, Communities, Interoperability
– DIY, Embedded, Mobile, Wearables, Automotive...
– Find me online
● https://wiki.tizen.org/wiki/User:Pcoval
3. Samsung Open Source Group 3
Agenda
● What is IoT ?
● IoTivity framework for connected devices
● Example
● Deployed on Arduino and Tizen Mobile Wearable devices
● More
● Q&A
4. Samsung Open Source Group 4
Internet of Things is: A complex equation
● Where all parameters are correlated :
– Connectivity: not only Internet, probably IP, but not only
● Personal (<1m), Local (<10m - 10km), Metropolitan (<10km), Wide Area
(<1000Km)
– Security matters ! (during all expected life span)
● Several surfaces of attacks: service, monitoring, upgrade
– Cost of materials and cost of usage:
● Computing capability (CPU or MCU?), consumption, if 24x7
● Development, maintenance: FLOSS or Closed source ?
5. Samsung Open Source Group 5
● Many Silos / Many implementations :
– One app per device (better than many remote controls)
– Dependence on centralized models (hub/cloud)
● Many concerns or issues:
– Security/Privacy concerns?
– Long term support and maintenance?
– Do we want critical devices exposed to the Internet ?
● Few Interoperability/Interconnection of today's things.
IoT: Internet of Today or Internet of Troubles ?
6. Samsung Open Source Group 6
IoT: Internet of Tomorrow? Internet of Trust?
● “I” like Interoperability
– <blink>Local connectivity between devices</blink>
– Interconnect any protocols or on line services
● “O” like Openness
– Open standards, protocol, implementations
● “T” like Trustworthy
– Security is sine qua non condition for IoT
– Today, gateway is a reasonable answer
7. Samsung Open Source Group 7
“Talk is cheap.
Show me the code.”
~ Linus Torvalds
8. Samsung Open Source Group 8
“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, certifies of products, propose models
– With industry support (Samsung, Intel, Cisco, GE, +190)
9. Samsung Open Source Group 9
OCF is standard / IoTivity is implementation
● Based on existing standards or solutions
– Interacts with other standards: uPnP, AllSeen
● Current features:
– Discovery (IETF RFC7252 / IP Multicast)
– Communication (RESTfull API on CoAP) w/ Security (DTLS)
– Transports (IP, WiFi, BT, BLE, Zigbee...)
– Data/Device management, web services, cloud, plugins...
● Today I explain only discovery and notification mechanism
10. Samsung Open Source Group 10
“The secret of getting ahead
is getting started.”
~ Mark Twain
11. Samsung Open Source Group 11
Challenge yourself !
● No limit: sensors, robotics, from cat feeder to autonomous vehicles
● Start with simplest example:
– Led blinking is the “hello word” for embedded developer
● Using GPIO
– Then we can replace LED by a relay
● And make is visible by several connected clients
– And notify them on each change
● Today mission: multi controlled binary switch (Flip/Flop)
● Shared resource is boolean (on/off) as READ and WRITE mode
12. Samsung Open Source Group 12
Typical flow
● Resource is identified by an URI and composed of properties
– To be Created, Read, Updated, Deleted, + Notified (CRUD+N)
IoTivity Server IoTivity Client(s)
Network
Registration of resource
Handling new requests Set/Get/ing properties values
Initialization as server Initialization as client
Handling new clients Discovery of resource
( POST/PUT GET )
(CoAP Multicast)
13. Samsung Open Source Group 13
Let's develop a client/server
● You can start an Arduino project
– IoTivity CSDK code is cross platform
– Suggestion: Try to make a portable project too
● Or on a friendly GNU/Linux environment:
– Debian/Ubuntu, Tizen, Yocto (meta-oic), OpenWRT
– Try to Isolate platform code (syscalls, POSIX, GPIO)
– Use your favorites tools, IDE, debug, log, trace, QA
14. Samsung Open Source Group 14
Get your hands on IoTivity!
● Get and build libraries: https://wiki.iotivity.org/build
– Download sources and dependencies
●
Build current version 1.1.1 using scons
– Or if OS shipping IoTivity
● Tizen, Yocto based Automotive Grade Linux GENIVI ...
● Use it a regular library (CPPFLAGS & LDFLAGS)
● Look at tree: https://wiki.iotivity.org/sources
– Samples apps: resource/examples
– C SDK: resource/csdk or C++ SDK: resource/resource/src
15. Samsung Open Source Group 15
IoTivity CSDK flow : Create Resource
OCInit(... OC_SERVER);
OCCreateResource( …, onOCEntity);
{ OCProcess(); }
OCInit(... OC_CLIENT);
IoTivity Server IoTivity Client(s)
IP NetworkIP Network
● Initialization is trivial
● Then server create a new resource
– and registers a callback to serve client
– and waits for new client(s) requests
16. Samsung Open Source Group 16
IoTivity CSDK flow: Discovery of resource
OCInit(NULL, 0, OC_SERVER);
OCCreateResource( …, onOCEntity);
{ OCProcess(); }
OCInit(NULL, 0, OC_CLIENT);
OCDoResource(...,OC_REST_DISCOVER, ...)
onDiscover(... OCClientResponse ...)
IoTivity Server IoTivity Client(s)
IP NetworkIP Network
● Client attempts to discover server's resources
– and finds registered ones
17. Samsung Open Source Group 17
IoTivity CSDK flow: GET Request
OCInit(..., OC_SERVER);
OCCreateResource( …, onOCEntity);
{ OCProcess(); }
onOCEntity(entityHandlerRequest) {
switch entityHandlerRequest->method
{
case 'GET' : // READ current value
...
OCDoResponse(&response);
}}
OCInit(..., OC_CLIENT);
OCDoResource(...,OC_REST_DISCOVER, ...)
onDiscover(... OCClientResponse ...)
OCDoResource(...OC_REST_GET …)
onGet(... OCClientResponse ...)
IoTivity Server IoTivity Client(s)
IP NetworkIP Network
● Client is asking
– for resource's value
● Server is responding
18. Samsung Open Source Group 18
OCDoResource(...OC_REST_PUT …)
onPut(... OCClientResponse ...)
IoTivity CSDK flow: PUT request
OCInit(..., OC_SERVER);
OCCreateResource( …, onOCEntity);
{ OCProcess(); }
onOCEntity(entityHandlerRequest) {
switch entityHandlerRequest->method
{
case 'POST: // Create value
case 'PUT' : // Update new resource
// handling the change
case 'GET' : // READ current value
...
OCDoResponse(&response);
}}
OCInit(..., OC_CLIENT);
OCDoResource(...,OC_REST_DISCOVER, ...)
onDiscover(... OCClientResponse ...)
IoTivity Server IoTivity Client(s)
IP NetworkIP Network
● Client sets resource's value
● Server is handling it
– and responding
19. Samsung Open Source Group 19
OCDoResource(...OC_REST_PUT …)
onPut(... OCClientResponse ...)
IoTivity CSDK flow: Notification/Observation
OCInit(..., OC_SERVER);
OCCreateResource( …, onOCEntity);
{ OCProcess(); }
onOCEntity(entityHandlerRequest) {
switch entityHandlerRequest->method
{
case 'POST: // Create value
case 'PUT' : // Update new resource
OCNotifyAllObservers();
case 'GET' : // READ current value
...
OCDoResponse(&response);
}}
OCInit(..., OC_CLIENT);
OCDoResource(...,OC_REST_DISCOVER, ...)
onDiscover(... OCClientResponse ...)
IoTivity Server IoTivity Client(s)
IP NetworkIP Network
onObserve(... OCClientResponse ...)
● All subscribed clients
– are notified of the change
20. Samsung Open Source Group 20
“I'm not crazy. My reality
is just different from yours.”
~ Lewis Carroll
21. Samsung Open Source Group 21
Microcontrollers (MCU)
● A microcontroller is a System on Chip (SoC)
– Digital I/O, A/D & D/A Conversion, Serial Interface, Timers
– Flash Memory, Static RAM
● Arduino : OSHW Electronic prototyping platform
– Huge community, OOP libraries, education purposes
– Supports daughter boards called shields, ie: Ethernet, WiFi, etc
● Baremetal development
– main loop program have direct access to hardware
● Note that many operating system for MCU are existing
22. Samsung Open Source Group 22
IoTivity is supporting Arduino atmega256
● IoTivity CSDK use atmega256 as reference target
– Based on Atmel ATmega2560 MCU (8KiB RAM, 256KiB of Flash, 16Mhz)
● Class 2 Constrained device (RFC7228 ~ 50 KiB data ~ 250 KiB code)
– Build it using scons tool:
scons resource
TARGET_OS=arduino TARGET_ARCH=avr BOARD=mega SHIELD=ETH
– It will download toolchain, and build using avr-gcc & avr-g++
– And produce a set of static libs (~100KiB) to be linked with any program:
● libcoap.a, liboctbstack.a, libconnectivity_abstraction,a ...
23. Samsung Open Source Group 23
Port server code to Arduino API
● Adapt/rewrite platform code: sleep(sec) vs delay(ms)
– Initialize Ethernet, GPIO (pinMode, digitalWrite)
● Update build scripts (tip: use Arduino-Makefile/Arduino.mk)
– Note Arduino API are using C++ POO while ours in plain C
– Trick: symlink or echo “#include “$file.c” “ > “$file.c.tmp.cpp”
– LOCAL_CPP_SRCS += src/server.c.tmp.cpp
● Deploy server using Arduino's avrdure: (117056 bytes of flash)
● Use client(s) on GNU/Linux or port code for other devices
24. Samsung Open Source Group 24
Hardware integration : DIY or Modules?
● High voltage relay (0-220V)
– Signal = Base of NPN Transistor
● Simples modules, to wire on headers
– Ie: Single channel Relay (HXJ-36) : 0V, +5V, GPIO
SBC
Relay 5V
Finder F34
30.22.7.005.0010
Vcc 2
?
GND 2
Vcc 1
+ 5V
GND 1
Transistor NPN
P2N 2222A
Resistor *
(*) ARTIK10 | MinnowMax
47 OHM
(yellow, purple, black)
C
B
E
o
o
o
o
GPIO
(*) RaspberryPI
180 OHM
(brown, grey, brown)
GND1GND1
GPIOGPIO
PinPin
1313
Vcc1Vcc1
(5v)(5v)
Vcc2Vcc2
GND2GND2
25. Samsung Open Source Group 25
What is a friend?
A single soul dwelling in two bodies
~ Aristotle
26. Samsung Open Source Group 26
Interaction with products
● Tizen is an Operating System based on FLOSS
● Shipped into consumer electronics products
● Tizen IoTivity
– Tizen:3 contains as platform package (.rpm)
– Tizen:2 can ship shared lib into native app (.tpk)
● For Samsung Z{1,2,3} (Tizen:2.4:Mobile)
● Samsung GearS2 (Tizen:2.3.1:Wearable)
27. Samsung Open Source Group 27
Build Tizen clients 1/2: build 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
28. Samsung Open Source Group 28
Build Tizen clients 2/2: create App
● Using Tizen SDK, create native tizen project
– Unpack lib and headers from: iotivity-*.rpm iotivity-devel*.rpm
– Update build and link flags (see wiki)
– cp usr/lib/*.so lib and make deploy package (.tpk)
● Adapt EFL gui and integrate IoTivity
– Create UI using elementary widgets toolkit
– Use previous CSDK client (or write it again using C++)
● Start IoTivity client in a separate thread
– Update UI on IoTivity events (main loop)
29. Samsung Open Source Group 29
IoTivity hardware to hack on:
● Single Board Computers with daughters boards
– ARTIK 5,10,7 are also compatible with Arduino Shields
– Raspberry Pi + hats (RabbitMax Flex, CoPiino)
– Minnowboard + lures (Calamari, Tadpole), Edison
● Other micro controllers:
– ESP8266, Arduino 101, Galileo
● Yours? Tell us: https://wiki.iotivity.org/hardware
● IoTivity is also supported outside GNU/Linux or Tizen
30. Samsung Open Source Group 30
You can even create your own Tizen device
● Since Tizen 3, Tizen:Common was introduced
● A profile to create new profiles on:
– 90% Tizen:IVI (cars) is Tizen Common
– IoTivity is part of Tizen:Common
● Like “your Tizen gateway” profile
– Start by installing OS for supported devices (ARM or Intel)
● Or port to new architecture hardware using GBS or Yocto
31. Samsung Open Source Group 31
“Any sufficiently
advanced technology
is indistinguishable
from magic.”
~ Arthur C. Clarke
32. Samsung Open Source Group 32
iotivity-arduino-20161006rzr
https://vimeo.com/185851073#iotivity-arduino-20161006rzr
33. Samsung Open Source Group 33
Want More ?
● More constrained:
– Iotivity-constrained: RIOT, Contiki, Zephyr...
– Tizen Micro (RTOS + JerryScript + IoT.js), Tizen Nano...
● More connectivity: BT, BLE, Zigbee, LTE, NFC...
● Security & scale: Deploy an OCF network of sensors
– For Smart (Home | Car | City | $profile)
34. Samsung Open Source Group 34
Summary
● IoT is not only about apps or cloud but new connections between things
● Open Connectivity Foundation
– establishes a standard for interconnecting things
– Open Source IoTivity project implements it
● Devices can be connected using IoTivity:
– Micro controllers are part of IoT
– Arduino are great development platforms for prototyping
– Tizen OS is shipped into today products or into your own design
● And many more OS or hardware