+ All Categories
Home > Documents > Monitoring a spacecraft from your smartphone using MQTT...

Monitoring a spacecraft from your smartphone using MQTT...

Date post: 21-May-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
19
Monitoring a spacecraft from your smartphone using MQTT with Joram joram.ow2.org mqtt.jorammq.com www.scalagent.com David Féliot
Transcript
Page 1: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

Monitoring a spacecraft from your smartphone using MQTT with Joram

joram.ow2.orgmqtt.jorammq.comwww.scalagent.com David Féliot

Page 2: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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)

AlertReal-time telemetry

Alert

Page 3: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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) Telemetryprocessing3) Telemetry

delivery

Payload health monitoring

Page 4: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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)

Dataserver

HTTP polling

Page 5: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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 »

Page 6: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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

Page 7: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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

Page 8: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

8Eclipse IoT Day Grenoble 2014, February 19

MO service framework

CCSDSRecommendedStandard

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

CCSDSRecommendedPractice

Page 9: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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

Page 10: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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 JavaClient

Page 11: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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

Page 12: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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)

Page 13: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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

Page 14: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

14Eclipse IoT Day Grenoble 2014, February 19

Mapping from MO to MQTT

Publish/Subscribe

Interaction patternPublish/SubscribeInteraction patternPublish/Subscribe

Topics

Session, Domain, Entity

Parameter

QoS, Clean session, Retain

QoS properties

Page 15: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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: <session>/<domain>/<param>/<def> “LIVE/spacecraft/AOCS/STR/Attitude/671”

Page 16: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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

Page 17: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

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

Topicshierarchy

50 000 parameters

Page 18: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

18Eclipse IoT Day Grenoble 2014, February 19

Scalability with the number of MQTT clients

MQTT

MQTT

MQTT Spacecraft

SciencePayload

SciencePayload

TelemetryAlertControl

operators

Science team members

MQTT

Messagebatches

Science team members

Messagebatches

Page 19: Monitoring a spacecraft from your smartphone using MQTT ...wiki.eclipse.org/images/0/...MQTT_Joram-19feb2014.pdf · MQTT (Message Queuing Telemetry Transport) Lightweight message

19Eclipse IoT Day Grenoble 2014, February 19

More information about MQTT with Joram

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


Recommended