Home >Documents >Monitoring a spacecraft from your smartphone using MQTT ... · PDF file Message broker MQTT...

Monitoring a spacecraft from your smartphone using MQTT ... · PDF file Message broker MQTT...

Date post:21-May-2020
Category:
View:3 times
Download:0 times
Share this document with a friend
Transcript:
  • Monitoring a spacecraft from your smartphone using MQTT with Joram

    joram.ow2.org mqtt.jorammq.com www.scalagent.com David Féliot

  • 2Eclipse IoT Day Grenoble 2014, February 19

    Use case #1: on-call operators

     On-call operators (working outside the control centre)  Receive alert reports describing anomalies  First level analysis by checking the real-time telemetry

     Save time and effort

    Control centre Ground stations

    Real-time telemetry

    Internet

    Home, public place, anywhere (connected)

    Alert Real-time telemetry

    Alert

  • 3Eclipse IoT Day Grenoble 2014, February 19

    Use case #2: distributed scientists

     Science team members remotely working  Their office is outside the mission centre that controls the

    scientific instruments  Need to monitor the instruments health  Situation happens in internationally cooperative space missions

    Internet

    Scientist office

    Scientist office

    Mission centre Ground station

    1) Retrieve payload telemetry

    2) Telemetry processing3) Telemetry

    delivery

    Payload health monitoring

  • 4Eclipse IoT Day Grenoble 2014, February 19

    Internet

    Control centre

    Existing solution

     Client/server architecture  Using HTTP to send requests to a data server  Alerts and telemetry are received by polling the server

     Security can be easily handled  One-way data flow (low interaction level)

     From a secured zone (control centre) to a less secured zone (client)  No data sent by the clients to the control centre (e.g. commands)

    Data server

    HTTP polling

  • 5Eclipse IoT Day Grenoble 2014, February 19

    Message broker

    MQTT (Message Queuing Telemetry Transport)

     Lightweight message queuing protocol  Devices with limited resources  Constrained networks (bandwidth, connectivity)

     Provides a Publish/Subscribe interaction pattern  Message published once on a given topic (subject of interest)  Every consumer registered to this topic receives a copy of the message

     Relies on a message broker  Time decoupling and reliable message delivery

    TopicPublisher

    Subscriber

    Subscriber

    Message « hello »Message

    « hello »

    Message « hello »

  • 6Eclipse IoT Day Grenoble 2014, February 19

    Solution using MQTT

     Event driven architecture  Publish/Subscribe allows to push real-time data

     From the control centre to the clients (one-to-many)  Low message transmission latency

     MQTT should be more efficient than HTTP  Less bandwidth and power usage

     Time decoupling and reliable message delivery  Use case #2: scientist disconnected when the payload telemetry is published

    Spacecraft

    Real-time telemetry

    Message broker

  • 7Eclipse IoT Day Grenoble 2014, February 19

    CCSDS Mission Operations (MO)

     Service Oriented Architecture for space activities  Standard end-to-end services that can be used on ground,

    ground to space, and in space  Decoupling Consumer/Provider implementations

     MO services specify the meaningful information (semantic level)  Exchanged between a consumer and a provider  No dependency on the different links and transport protocols used underneath

    Control centre Ground station Spacecraft

    Service Consumer

    Service ProviderMO services

  • 8Eclipse IoT Day Grenoble 2014, February 19

    MO service framework

    CCSDS Recommended Standard

    Monitoring and Control: Parameter, Alert, Action

    Data model

    Interaction patterns: req/resp, pub/sub

    Data encoding format

    Message sending/receiving, pub/sub

    JMS

    MAL Java API

    CCSDS Recommended Practice

  • 9Eclipse IoT Day Grenoble 2014, February 19

    MO framework implementations

     Two open-source implementations of the MO standard in Java, compliant with the MAL Java API  CNES  ESA

     The CNES implementation is used by a prototype of Mission Control System (MCS)  Developed by CNES  Relies on Java, OSGi and Joram

     MO component platform experimented  Based on Distributed OSGi and iPOJO

  • 10Eclipse IoT Day Grenoble 2014, February 19

    Joram, MAL/Joram and JoramMQ

     Open-source message broker written in Java (http://joram.ow2.org)  Client APIs

     JMS API (v2.0)  C++ API

     Open-source mapping MAL/Joram (CNES)  MAL Java API

     JoramMQ offering by ScalAgent  AMQP protocol (v0.9.1 and v1.0)  MQTT protocol (v3.1)

    Message Broker

    MQTT Client

    AMQP Client

    JMS Client

    C++ Client

    MAL Java Client

  • 11Eclipse IoT Day Grenoble 2014, February 19

    MAL/Joram key features

     Time decoupling provided by the message broker  Message producers not tied to message consumers  Slow consumers are handled by the message broker

     Do not directly affect the producers

     Publish/Subscribe interaction pattern  Real space decoupling provided by the message broker

     Publishers do not need to know the network addresses of subscribers

     Scalability with the number of publishers and subscribers  By distributing the broker across multiple servers

     Message delivery reliability (no message loss)  Messages delivered to the data store of the control centre  Alerts transmission

     Interactions multiplexing (single connection) and flow control

  • 12Eclipse IoT Day Grenoble 2014, February 19

    MQTT/Joram

     Provided by JoramMQ  Fully supports MQTT v3.1 (and upcoming v3.1.1)

     QoS levels  QoS 0, 1, 2 and the Clean Session flag

     Topic  Hierarchies, wildcards, dynamic topic  Retained messages

     Administration tools and security mechanisms  Topic access rights

     MQTT clients interoperate with JMS and AMQP clients  Example: publish with MQTT and subscribe with JMS

     Benefit from JMS 2.0 “shared subscriptions” (parallel consumers)

  • 13Eclipse IoT Day Grenoble 2014, February 19

    Distributed broker

    Clustered broker

    Scalability with the number of clients

    MQTT

    System

    SubSystem2

    MQTT

    SubSystem1

    MQTT

    MQTT

    System

    JMS

    Connectivity improved at the edges of the network

    Message batches

  • 14Eclipse IoT Day Grenoble 2014, February 19

    Mapping from MO to MQTT

    Publish/Subscribe

    Interaction pattern Publish/Subscribe Interaction pattern Publish/Subscribe

    Topics

    Session, Domain, Entity

    Parameter

    QoS, Clean session, Retain

    QoS properties

  • 15Eclipse IoT Day Grenoble 2014, February 19

    Mapping to MQTT topics

     MO data are published in a domain for a given session  A domain is a path, similar to an MQTT topic name

     Identifies a subsystem or device • Example: “spacecraft/AOCS/STR”

     A session is a name identifying the execution context  LIVE, REPLAY (historical data), SIMUL (test data)

     Published parameters have a name and a definition id  Definition: type and unit of a parameter

     Resulting MQTT topic format:  ///  “LIVE/spacecraft/AOCS/STR/Attitude/671”

  • 16Eclipse IoT Day Grenoble 2014, February 19

    Mapping to MQTT QoS, clean session, retain

     Best Effort  Real-time telemetry data (use case #1)

     Data may be dropped in order to keep up with real-time

     At least once  Payload telemetry (use case #2)  Alerts (use case #1)

     Exactly once  Alerts (use case #1)

     If alert not idempotent

     Sessions should not be cleaned  Benefit from time decoupling and durable subscriptions

     All messages should be retained  No need to retrieve a snapshot to have the current data values

  • 17Eclipse IoT Day Grenoble 2014, February 19

    Real-time telemetry published with MQTT

    Real-time telemetry < 64 kbit/s

    MQTT

    Control centre

    LIVE/Spacecraft

    AOCS

    Thruster STR

    SciencePayload

    Instrument

    Temp TempAttitude

    MQTT Decommutation

    Replay

    Alert

    Topics hierarchy

    50 000 parameters

  • 18Eclipse IoT Day Grenoble 2014, February 19

    Scalability with the number of MQTT clients

    MQTT

    MQTT

    MQTT Spacecraft

    Science Payload

    Science Payload

    Telemetry AlertControl

    operators

    Science team members

    MQTT

    Message batches

    Science team members

    Message batches

  • 19Eclipse IoT Day Grenoble 2014, February 19

    More information about MQTT with Joram

     JoramMQ offering by ScalAgent  http://mqtt.jorammq.com

    Spacecraft Monitoring Diapo 2 Diapo 3 Diapo 4 Diapo 5 Diapo 6 Diapo 7 Diapo 8 Diapo 9 Diapo 10 Diapo 11 Diapo 12 Diapo 13 Diapo 14 Diapo 15 Diapo 16 Diapo 17 Diapo 18 Diapo 19

Click here to load reader

Reader Image
Embed Size (px)
Recommended