Tech Guides‎ > ‎Obsolete things‎ > ‎

Ship Remote Control and Notification System


Basic concept : two daemons

illutron Ship Daemon: 
  • Lives on the ship in a Java app on an Asus Eee PC
  • Has an Arduino board with sensors connected
  • Will send messages to its friends, if certain criteria is met.
    • (Like: A float sensor has become wet - the ship could be taking on water)
illutron Server Daemon: 
  • Lives on a Google server
  • Monitors the presence of the illutron Ship Daemon, and will send messages to its friends, if the ship daemon goes offline.
  • Can talk to the illutron Ship Daemon and display answers (values, data, sensorstate) on a public webpage.



illutron Ship Daemon in details

  • A Java app running on a Asus Eee Pc with Windows XP
  • Connected to the Google Talk server via the Smack XMPP library
  • Connected to an Arduino board via the serial library of Processing and the Arduino-Firmata library.
  • The Arduino board runs the Firmata firmware


Scripting the criteria for sending messages

The Java app have a script interface, where it is possible to write logic for the sensors using normal JavaScript. 

A script could look like this: 
if (digital[5] == 0) {
    message[1] = "A sinking alarm sensor was triggered. ";
    messagerecipients[1] = "ALL";
}

if (analog[1] > 300) {
    message[2] = "The temperature is now above 20 degrees in the Mess room.";
    messagerecipients[2] = "chrlilje@gmail.com";
}

The Java app at the ship

(My first Java App with a GUI ever, so bare with me)