oneM2M Tutorials using Jupyter Notebooks
oneM2M provides a series of introductional hands-on tutorials to various oneM2M concepts, resource types and requests.
This page provides an overview, links, and introduction and overview to these tutorials.
Episodes
Episode 0 - Introductions
In this first episode Andreas and Ken introduce a series of short talks on using oneM2M standards to build open and interoperable IoT systems. This talk begins with an introduction to the basic elements in an IoT system and where oneM2M fits into the picture. In future talks, Andreas will illustrate oneM2M’s capabilities via a set of Jupyter Notebooks that contain software and explanatory notes.
Episode 1 - Setup Configurations
This series of talks uses Jupyter Notebooks to illustrate the basic capabilities that oneM2M standards support. In this talk, Andreas explains how to access the Notebooks online, and how to run a oneM2M Common Services Entity (CSE), which functions as an IoT platform, inside the Notebooks. He also explains how oneM2M supports the exchange of messages between applications and a CSE.
- Presentation
- Jupyter Notebook for this episode (online): Launch on MyBinder
Episode 2 - First Contact with oneM2M
In this episode Andreas and Ken take a more detailed look at oneM2M requests. The practical part involves a request to the oneM2M CSE to retrieve information about its “resource tree”. The resource tree corresponds to a “digital twin” of an IoT system.
- Presentation
- Jupyter Notebook for this episode (online): Launch on MyBinder
Episode 3 - Basic Resources & Requests using REST Calls
In this episode Andreas and Ken explore how IoT resources are organized in the oneM2M resource tree. The practical part uses some of oneM2M’s most basic resource types and we learn how an application can create new resources in the CSE allowing another application to retrieve information about those resources.
- Presentation
- Jupyter Notebook for this episode (online): Launch on MyBinder
Episode 4 - Resource Discovery
An essential function in all IoT systems is to find and discover stored resources. In this episode Andreas and Ken talk about the “Discovery” function and how it is implemented in oneM2M.
- Presentation
- Jupyter Notebook for this episode (online): Launch on MyBinder
Episode 5 - Groups
The "Group Management" Common Service Function (CSF) of oneM2M provides a way to organize multiple IoT resources into collections for efficiency and ease of management. Example scenarios might involve grouping street lights along north and south bound sections of a highway, for environmental sensors in adjoining city districts or, to electrical outlets on different floors in an office building. oneM2M's Group Management CSF helps users to manage IoT devices in groups in addition to the possibility of issuing commands to individual items. In this episode Andreas and Ken talk about the this functionality and how it operates in oneM2M.
- Presentation
- Jupyter Notebook for this episode (online): Launch on MyBinder
Episode 6 - Access Control
The “Access Control” Common Service Function (CSF) is a major part of oneM2M's security functions. Its purpose is to control who has what access to stored IoT data and to resources on a oneM2M Common Services Entity (CSE). Without the proper access rights, a CSE’s security mechanisms prevent an entity that forms part of an IoT system from retrieving or performing actions on these resources. In this episode, Andreas and Ken talk about this essential functionality and illustrate its use in a streetlight use case. For this example, they consider how one streetlight operator can give another operator limited access to the data stored for their own streetlights. Together, they can create a better lighting scenario for a whole area, beyond their individual footprints. In a wider sense, data sharing enabled by a common, Access Control function promotes innovative applications and multi-stakeholder collaboration in areas ranging from smart cities to industrial supply chains.
- Presentation
- Jupyter Notebook for this episode (online): Launch on MyBinder
Episode 7 - Subscriptions and Notification s
TBD Text YT link
- Presentation
- Jupyter Notebook for this episode (online): Launch on MyBinder
More Episodes to Come
- FlexContainers
Useful Links and Resources
- Do you have any questions? Then join the discussions on GitHub, or ask questions on StackOverflow.
- Use this link to oneM2M's GitHub repository to experiment with these tutorials using a local copy.
- YouTube Video Playlist
- Access the ACME oneM2M CSE on GitHub.
About the Presenters
Andreas Kraft works for Deutsche Telekom for more than 20 years as an enterprise architect and innovation expert in the field of IoT. He represents Deutsche Telekom in oneM2M and various other standardization consortia.
Ken Figueredo is an advisor to oneM2M’s Marketing & Communications (MARCOMs) Committee which promotes oneM2M technical standards, developer resources and deployment examples.
About oneM2M
oneM2M is the global standards initiative that covers requirements, architecture, API specifications, security solutions and interoperability for Machine-to-Machine and IoT technologies. oneM2M was formed in 2012 and consists of eight of the world's preeminent standards development organizations: ARIB (Japan), ATIS (U.S.), CCSA (China), ETSI (Europe), TIA (U.S.), TSDSI (India), TTA (Korea), and TTC (Japan), together with industry fora and consortia (GlobalPlatform) and over 200 member organizations. oneM2M specifications provide a framework to support applications and services such as the smart grid, connected car, home automation, public safety, and health. oneM2M actively encourages industry associations and forums with specific application requirements to participate in oneM2M, in order to ensure that the solutions developed support their specific needs. For more information, including how to join and participate in oneM2M, see: https://www.onem2m.org.