How you can listen to MAS400 — An AI-controlled ship powered by IBM technology
By: Tom Davidson
Tags: Shipping, Ocean Conservation, Mqtt, IBM, AI

How you can listen to MAS400 — An AI-controlled ship powered by IBM technology Tom Davidson Jun 17·4 min read

Listen to the AI-powered MAS400 ship as it completes it’s unmanned journey across the Atlantic

Image courtesy of IBM

With the MAS400 beginning its journey, retracing the route of the original Mayflower some 400 years ago, I wanted to share how you can connect to some of the data, and start building!

As a bit of background, the Mayflower 400 is an exciting project in which IBM is the technology partner, alongside a number of other stakeholders, to send an AI powered ship across the Atlantic. During this journey there are a number of research projects that will be collecting a tremendous amount of data on everything from water quality to Sperm whale calls! If you want to learn more about the MAS400, please check out the excellent: www.mas400.com (disclaimer: I worked on it, so be nice 😉).

The purpose of this post though, is the data itself, and more specifically what you can do with it.

(Second disclaimer: I’m a fairly recent discoverer of MQTT-enabled tech, so this is all a bit new to me too. This means you might detect a continual theme of amazement in this post about how easy it is to use.)

The main point of this post is to emphasise that all of the MAS400 live data is avaliable, publically, free!

How, you ask? Well, as one of the team who worked on pulling it together I’d love to explain, and the short answer is MQTT.

The MAS400 is sending data constantly, and within our tech set up, all of this data is published various topics on our MQTT broker. This means you can subscribe to the topics and make use of the data however you wish. Now, to quickly explain the topic trees:

status/# — this contains information about the status of the ship (funnily enough…!) and the current weather conditions. It includes connectivity, speed, heading, wind speed and more.

— this contains information about the status of the ship (funnily enough…!) and the current weather conditions. It includes connectivity, speed, heading, wind speed and more. hydrophone/# — these messages represent positive identifications from the hydrophone (“water microphone” to you and me!), along with a confidence level, timestamp and location data

— these messages represent positive identifications from the hydrophone (“water microphone” to you and me!), along with a confidence level, timestamp and location data threat/# — these are messages from one or more of the six cameras around the Mayflower, along with an array of integer numbers corresponding to the “threat” it has seen

— these are messages from one or more of the six cameras around the Mayflower, along with an array of integer numbers corresponding to the “threat” it has seen science_pod/# — this is a bit more operational data, on the health of the various Raspberry Pi nodes powering the experiements, and also contains some internal MAS400 data

(N.B: These are topic trees, hence the # after the name, so there are individual topics with messages beneath these, and that’s how you access the data. For an entry-level MQTT explanation, please check the excellent HIVE MQTT Essentials Docs)

The broker details are:

mqtt://mqtt.mas400.com on port 1883

on port wss://mqttws.mas400.com for a secure websocket connection, using port 443 .

These should allow you to work either on a server, Node-RED or a web browser.

All messages are published retain: true , so subscribe to the topic and you will get to see the full range, and please reach out on Twitter if you need any more help!

I’m super excited to see what everyone can build with this!