Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »


Key Points


Resources


Resource____________________________________________________Notes____________________________________________________________


https://networklessons.com/cisco/evolving-technologies/iot-standards-and-protocolsIoT network and data standards
https://www.ubuntupit.com/top-15-standard-iot-protocols-that-you-must-know-about/Top 15 IoT protocols
https://www.sam-solutions.com/blog/internet-of-things-iot-protocols-and-connectivity-options-an-overview/IoT protocols overview
https://www.avsystem.com/blog/iot-protocols-and-standards/IoT protocols and standards blog




https://objectcomputing.com/products/openddsOpenDDS basic concepts
https://objectcomputing.com/products/opendds/resources#techOpenDDS resources
https://objectcomputing.com/resources/publications/mnb/code-generation-with-opendds-part-i

OpenDDS code generation - part 1

( OLD )

http://mnb.ociweb.com/mnb/MiddlewareNewsBrief-201007.htmlOpenDDS code generation - part 2




https://www.amazon.com/ELECROW-Raspberry-Learning-Computer-Electronics/dp/
B07W3ZGBQ4/ref=sr_1_3?gclid=Cj0KCQiA9dDwBRC9ARIsABbedBMNELvLfgPAE
K_1fLrvgA4uuzkE3piYQcXBf24LwJDKoApLU8DQiFMaAgRPEALw_wcB&hvadid=
153700809756&hvdev=c&hvlocphy=9002163&hvnetw=g&hvpos=1o1&hvqmt=b&hvrand=18083923115835876406&hvtargid=aud-837858999240%3Akwd-56661256719&hydadcr=18034_9433544&keywords=raspberry+pi+sensor+kit&qid=1578452884&sr=8-3

elecrow-raspberry-pi-sensor-tester-kit-239.pdf

ELECROW CrowPi Raspberry Pi 4B 3B+ Learning Computer Sensor Kit for Learning Coding and Electronics(Basic Kit, RPI Not Included, Black)






https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systemsComparison of IoT / Real time OS options

https://en.wikipedia.org/wiki/FreeRTOS

https://www.freertos.org/

Free RTOS, MIT license

https://en.wikipedia.org/wiki/Apache_Mynewt

http://mynewt.apache.org/

MyNewt - Apache free RTOS

supports wireless apps

https://en.wikipedia.org/wiki/RTAI

https://www.rtai.org/

RTAI - real time extension of Linux Kernel

supports IA-32, x86-64, PowerPC, ARM and MIPS

https://en.wikipedia.org/wiki/Linux_kernel#Preemption

https://www.kernel.org/

Linux Kernel



Key Concepts


IoT Networking and Data Standards

https://networklessons.com/cisco/evolving-technologies/iot-standards-and-protocols

There are many protocols that have a direct or indirect role in IoT. We’ll focus on two protocol types in particular:

  • Network protocols
  • Data protocols

Network Protocols

The network protocols we use for IoT should be open standards because our IoT network has to support devices from multiple vendors. Proprietary protocols increase complexity because you then need devices that can translate between the different protocols.

The Internet Protocol (IP) is well established and we have been using IP for IT networks for a long time. This is one of the reasons why IP is also the main choice for IoT networks.

Using IPv6 is encouraged because there are no address space limitations as there are with IPv4. Solutions such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPAN) or IPv6 Routing Protocol for LLNs (RPL) don’t even support IPv4, only IPv6.

Data Protocols

We need to transfer data between our devices and other systems such as an IoT platform. Some devices have sensors that push data at a regular interval. Other sensors work with a pull model where you have to request the information. There are several data protocols we can use in IoT. Here are three popular protocols:

  • Message Queuing Telemetry Transport (MQTT)
  • Constrained Application Protocol (CoAP)
  • Extensible Message and Presence Protocol (XMPP)

MQTT

MQTT is probably the most used protocol in IoT. It’s a lightweight message protocol that uses publish and subscribe operations to transmit data between a client and server. It uses TCP as the transport protocol.

Packets are tiny and require little bandwidth. MQTT uses a client-server model. The server is called a broker. There are two operations:

  • Publish: a device (client) sends data to a broker (server).
  • Subscribe: a device (client) wants to receive data from a broker (server).

CoAP

CoAP is also a lightweight protocol and was developed as a standard (RFC 7252). It’s based on a REST model. A server makes resources available under a URL and clients access these resources with GET, PUT, POST, and DELETE methods. It is easy to get started with CoAP because many developers are familiar with REST.

CoAP can carry different payload types including XML and JSON and uses UDP as the transport protocol.

XMPP

XMPP is an open standard (RFC6120) and is based on XML technology for real-time communication. It’s used for a range of applications including VoIP, instant messaging, and IoT.

XMPP has been around for a while and has proven scalability and security. There are many servers that have used XMPP for many years. Software is available for any programming language making it easy to get started. Because XMPP was originally an instant messaging protocol and uses XML, it has more overhead compared to a lightweight protocol like MQTT.



IoT protocols overview

https://www.sam-solutions.com/blog/internet-of-things-iot-protocols-and-connectivity-options-an-overview/

Types of IoT connections



Network Toplogies

Wireless nets can also be categorized according to their topology, i.e. a connectivity configuration. There may be various combinations of connections between nodes: line, ring, star, mesh, fully connected, tree, bus.


Network requirements for IoT

  • The capacity to connect a large number of heterogeneous elements
  • High reliability
  • Real-time data transmission with minimum delays
  • The ability to protect all data flows
  • The ability to configure applications
  • Monitoring and traffic management at the device level
  • Cost-effectiveness for a large number of connected objects

IoT Protocols

MQTT

MQTT (Message Queue Telemetry Transport) is a lightweight protocol for sending simple data flows from sensors to applications and middleware.

The protocol functions on top of TCP/IP and includes three components: subscriber, publisher and broker. The publisher collects data and sends it to subscribers. The broker tests publishers and subscribers, checking their authorization and ensuring security.

MQTT suits small, cheap, low-memory and low-power devices.


Open DDS from OMG

DDS (Data Distribution Service) is an IoT standard for real-time, scalable and high-performance machine-to-machine communication. It was developed by the Object Management Group (OMG).

You can deploy DDS both in low-footprint devices and in the cloud.

The DDS standard has two main layers:

  • Data-Centric Publish-Subscribe (DCPS), which delivers the information to subscribers
  • Data-Local Reconstruction Layer (DLRL), which provides an interface to DCPS functionalities


AMQP for middleware

AMQP (Advanced Message Queuing Protocol) is an application layer protocol for message-oriented middleware environments. It is approved as an international standard.

The processing chain of the protocol includes three components that follow certain rules.

  1. Exchange — gets messages and puts them in the queues
  2. Message queue — stores messages until they can be safely processed by the client app
  3. Binding — states the relationship between the first and the second components

OpenDDS concepts

https://objectcomputing.com/products/opendds

OpenDDS was developed by Object Computing, Inc., working closely with key customers, users, and other researchers at various universities and other locations around the globe.

FEATURES

  • Broad platform support, including real-time and non-real time operating systems on a variety of hardware platforms.
    • Operating systems include Linux, Windows™, Mac OS™, VxWorks™, LynxOS™, and others
    • Hardware platforms include the Intel Core Processor Family, ARM, Raspberry Pi, and others
  • Complies with the OMG DCPS layer of the Data Distribution Service for Real-Time Systems (DDS) specification.
  • A Pluggable Transport Layer that allows data transmission across a variety of transport protocols. OpenDDS currently implements simple TCP, UDP, reliable multicast, and unreliable multicast transports. In addition, application developers may implement their own custom transport protocols and plug them into OpenDDS.
  • Interoperability with other DDS implementations through the RTPS transport.
  • Support for Java bindings through JNI and the option of inclusion with JBoss (ESB) frameworks by means of a JMS wrapper.

BENEFITS

  • OpenDDS is free Open Source software (FOSS), which means no vendor lock-in and maximum user control. There are no license fees whatsoever.

  • Full source code available (also at no cost).

  • The OpenDDS Modeling Software Development Kit (SDK), built on top of the Eclipse Modeling Framework, simplifies the use of OpenDDS, leaving the developer free to devote more time to application issues rather than the details of internal middleware plumbing.

  • Efficient marshaling and demarshalling of user-defined data types.

  • Robust federated information repository that allows publishers and subscribers to discover one another, to support registration of participants and creation of topics, and to support publication of built-in topics for meta-data propagation.

  • Scalable, multi-threaded architecture.

  • Includes an easy-to-use run-time configuration framework that supports configuration via a combination of files, options, and application programming interfaces.


Opportunities



Challenges



Solutions



Hyperchain Labs sensor integration with Blockchain


CrowPI test kit for Raspberry PI sensors

https://www.elecrow.com/crowpi-compact-raspberry-pi-educational-kit.html

$220


CrowPi is an educational tool based on Raspberry Pi, designed to help people learn electronics, programming, and basic computer science. CrowPi was first released on Kickstarter in May 2018 and won a very successful campaign. The initial users spoke highly of CrowPi and left several good riviews.

 
The success of CrowPi is based on the popularity of Raspberry Pi, and on the unique advantages of the product itself, such as the compact development board, the neat and portable case, the step by step tutorials, and the affordable price.
 
As we all know, computer science and programming are now regarded as an essential ability for 21st-century students, and are becoming a key component of many curriculums, even in primary schools. And when we combine computer science and programming with electronics, we can build many useful devices both for industrial applications and for use in our daily life. Some examples of modern applications for IT are: running a weather station, PIR automatic lighting, line tracking robot car, vehicle radar, and so on.

crowpi video intro










Details



Next Steps



Link


Link__________________________________________________________Notes_______________________________________________________________
https://confluence.atlassian.com/confcloud/import-a-confluence-space-724765531.htmlHow to import space export xml zip file into Confluence Cloud





Instructions - Move sites between Confluence instances

  1. How to Export a Space in Confluence Cloud to xml zip file
  2. How to Import a Space in Confluence Cloud from xml zip file


  • No labels