Contents. GoFree Tier 1 Networking Specification



Similar documents
GoFree Tier 1 Data Networking Specification Revision 0.6

ikommunicate NMEA - SignalK Gateway

Configuring a Trimble Sps 461 using the Ethernet Connection GETTING THE GPS ON THE NETWORK HTTP PORT. By Bob Glover

GM862-GPS, GE863-GPS - GPS AT COMMANDS SET GM862-GPS, GE863-GPS 80278ST10021a Rev. 0-21/04/06

SATLAB Field Tools. User Guide for SL55

What communication protocols are used to discover Tesira servers on a network?

FLIR Camera Integration. Guide

Integrating the Brookhouse imux with another on-board network

Networking Basics for Automation Engineers

INSTALLATION MANUAL NMEA DATA CONVERTER

TSUNAMIS NAVIGATOR USER MANUAL

GPSMAP 700 Series Installation Instructions

Signal K - The Internet of Things Afloat & Next Generation Interfacing

SAH2217 Enhanced ATHEROS GPS Module with ultra high sensitivity and antenna open/short detection/protection

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso

Fleet Tracking Capability. FX 500 / FX 250 FleetBroadband Satellite Terminal

GO7. Getting Started ENGLISH. simrad-yachting.com

HDS Gen2 Touch. Installation Manual ENGLISH. lowrance.com

How To. Instreamer to Exstreamer connection. Project Name: Document Type: Document Revision: Instreamer to Exstreamer connection. How To 1.

Installation manual. Simrad AP24/28 EVC, Volvo IPS Pilot System with SG05 SimNet-Volvo Gateway. English

PPS usable by timing applications via serial port emulation

Configuring the FAR2XX7 Series Radar for use with MaxSea Time Zero

R4 AIS Transponder System

WASP User Manual. Revision: 1.6. (c) 2012 North Pole Engineering, Inc.

Enabling Apple AirPrint with Your Xerox Device Built on ConnectKey Technology. A White Paper

Installation & Quick Start Guide inavconnect Wireless Router

vyacht Wifi Router vyacht yacht automation About this manual

User s Manual of BTGP-38KM Bluetooth GPS Data Logger V1.0

Follow these steps to prepare the module and evaluation board for testing.

Datasheet of stand-alone GPS smart antenna module, LS20057

WIZnet S2E (Serial-to-Ethernet) Device s Configuration Tool Programming Guide

AIS (Automatic Identification System)

FURUNO ELECTRIC CO., LTD.

K.Prasanna NIT Rourkela,India Summer Internship NUS

Multi-Homing Security Gateway

TSUNAMIS NAVIGATOR USER MANUAL

Chapter 3 Management. Remote Management

Error Estimation in Positioning and Orientation Systems

ICS 351: Today's plan. IP addresses Network Address Translation Dynamic Host Configuration Protocol Small Office / Home Office configuration

Objectives. The Role of Redundancy in a Switched Network. Layer 2 Loops. Broadcast Storms. More problems with Layer 2 loops

OSBRiDGE 5XLi. Configuration Manual. Firmware 3.10R

Measure wireless network performance using testing tool iperf

Addendum for compatible Navico MFD s that support the following Broadband 4G Radar features:

INSTALLATION MANUAL GPS NAVIGATOR GP-80

International Journal of Research in Advent Technology Available Online at:

NQA Technology White Paper

Configuring Switch Ports and VLAN Interfaces for the Cisco ASA 5505 Adaptive Security Appliance

Juniper / Cisco Interoperability Tests. August 2014

FOUNDATION Fieldbus High Speed Ethernet Control System

ProSAFE 8-Port and 16-Port Gigabit Click Switch

NPort. Copyright 2008 Moxa Inc. Released on July 15, 2008

Multifunctional Broadband Router User Guide. Copyright Statement

OpenCPN Garmin Radar Plugin

Network Simulation Traffic, Paths and Impairment

Chapter 11. User Datagram Protocol (UDP)

Setting Up the ZigBee Ethernet Gateway

Access control designed simply for you

GSM. Quectel Cellular Engine. GSM TCPIP Application Notes GSM_TCPIP_AN_V1.1

Efficient Video Distribution Networks with.multicast: IGMP Querier and PIM-DM

Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

Table of Contents 1. Introduction Installing Sxblue Server Principle of Operation Server Configuration

Chapter 3. Internet Applications and Network Programming

Ethernet 241 Discovery Tool User Manual

For version p (September 4, 2012)

CS 326e F2002 Lab 1. Basic Network Setup & Ethereal Time: 2 hrs

VIA CONNECT PRO Deployment Guide

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

PART 1 CONFIGURATION 1.1 Installing Dashboard Software Dashboardxxx.exe Administration Rights Prerequisite Wizard

Addendum for Zeus Touch software updates

GPS Based Vehicle Positioning/Tracking System

P-870HN-51b n VDSL2 4-port Gateway DEFAULT LOGIN DETAILS. Firmware v1.00 Edition 1, 9/2009. IP Address:

Introduction to AIS White Paper

Mobile Mapping. VZ-400 Conversion to a Mobile Platform Guide. By: Joshua I France. Riegl USA

Active Management Services

NMEA Reference Manual

NMEA 2000 Engine Interface

Lesson: All About Sockets

Communicating with a Barco projector over network. Technical note

Lab Module 3 Network Protocol Analysis with Wireshark

emerge 50P emerge 5000P

BR-800. ProHD Broadcaster. Easy Set-Up Guide V 1.01

UIP1868P User Interface Guide

이 기기는 업무용 급 으로 전자파적합등록을 한 기기이오니 판매자 또는 사용자는 이점을 주의하시기 바라며 가정 외의 지역에서 사용하는 것을 목적으로 합니다

Snoopy. Objective: Equipment Needed. Background. Procedure. Due Date: Nov 1 Points: 25 Points

! encor en etworks TM

NAVICO Software Upgrade Tool. English sw Document no: Doc Revision: D Date: January 2010

BlackBerry Enterprise Service 10. Version: Configuration Guide

Internet Guide. Prepared for 55 John Street

Rapid Assessment Key v2 Technical Overview

IP Multicasting. Applications with multiple receivers

Ethernet Radio Configuration Guide

System Suggestion

3.1 RS-232/422/485 Pinout:PORT1-4(RJ-45) RJ-45 RS-232 RS-422 RS-485 PIN1 TXD PIN2 RXD PIN3 GND PIN4 PIN5 T PIN6 T PIN7 R+ PIN8 R-

Juniper Networks EX Series/ Cisco Catalyst Interoperability Test Results. May 1, 2009

Wide Area Monitoring, Control, and Protection

Limi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, Socket Programming

Clever Devices IVN GPS Broadcast over Ethernet Interface Control Document

How To Connect Xbox 360 Game Consoles to the Router by Ethernet cable (RJ45)?

HDS GEN XXX Software Update. Release Notes

Transcription:

Contents 1 Overview... 2 2 Service Discovery... 2 2.1 UDP Multicast... 2 2.2 Bonjour... 2 3 Security... 2 4 Data Transmission... 3 4.1 Message Format... 3 4.2 TAG Blocks... 3 4.3 Checksum... 3 4.4 Two-way Communication... 3 4.5 Handling Multiple Sources Of The Same Data... 3 4.6 Automatic Failover... 3 4.7 Supported Sentences... 4 4.8 Frequently Asked Questions... 5 4.8.1 What happens to NMEA0183 data that is not plugged in to the Gateway MFD?... 5 4.8.2 Why not just implement IEC61162-450?... 5 Appendix A Service Discovery... 7 Page 1 of 9

1 Overview This document details the GoFree Tier 1 networking interface provided by Navico Multifunctional Displays. The GoFree Tier 1 networking interface is designed to allow mobile devices (tablets, smartphones and other wi-fi enabled devices) to display and process selected navigation, instrument and engine data (future) from the Navico system. In order to access GoFree data, you need a Navico marine network equipped with at least one GoFree enabled MFD and a GoFree wireless access point. 2 Service Discovery 2.1 UDP Multicast Mobile devices wishing to connect can listen to multicast address 239.2.1.1, port 2052 to discover the IP address and port of MFDs that support the data bridging function. Any MFD will send the following JSON string to this multicast address: Name : Name, IP : N.N.N.N, Model : Model, Services : [ Service : Service, Version : N, Port : N ] Where: <Name> The friendly name of the MFD. If this is changed on the MFD the multicast will change to match. <IP> IP Address of the MFD. This will be obtained from a DHCP server if one is available, otherwise it will be a Zeroconfig address. Note that if a DHCP server is added to the network after power on the IP address announced will switch from Zeroconfig to DHCP. <Model> Model name of the MFD (e.g. "NSS-12"). <Service> Describes the type of data services that the MFD supports. For MFDs that support the webserver, this will be nmea-0183. <Version> Version of the data protocol. <Port> Port number used to transmit the data (e.g. 80). MFDs will send this message at a rate of 1Hz. If this message is not received for a period of 2 second or longer, clients should consider the MFD to be unavailable, and attempt to connect to a different MFD for data. A code example is included in the appendices. 2.2 Bonjour The server will be announced via the Bonjour protocol as _nmea-0183._tcp. This is automatically supported in OS X and ios, and can be added to Windows by installing Bonjour for Windows: http://support.apple.com/kb/dl999 3 Security No security is required to receive the data. Page 2 of 9

4 Data Transmission In order to receive Tier 1 data, clients can create a TCP connection to any of the MFDs transmitting to the multicast address. If different MFDs send different version strings, then the client should connect to the MFD with the latest (highest version number) MFD. 4.1 Message Format Messages are formatted using NMEA0183 version 4.00. Readers are referred to that specification for a detailed explanation of the protocol. 4.2 TAG Blocks TAG blocks, as defined by NMEA0183 version 4.00, are not currently used by GoFree. However, devices that read GoFree data should be robust and tolerant of TAG blocks, since they may be used in future implementations. 4.3 Checksum NMEA0183 checksums are transmitted by the gateway as part of each GoFree sentence. 4.4 Two-way Communication Two way communication is not currently supported. Data transmitted by mobile devices to the MFDs will be ignored. Mobile devices must not transmit data to the GoFree multicast address. 4.5 Handling Multiple Sources Of The Same Data Clearly it is possible for a network to be configured where multiple sources are available for the same data. For example, a network may have two or more GPS antennas. The GoFree gateway will only transmit one source of data for each data type. For Simrad products, this will be the data source that has been selected by the system for the Simrad group. For the first release of GoFree, it will not be possible to view data from sources other than the Simrad group sources. However, it is possible to view and change which devices are selected in the Simrad group from the MFD. The same applies to the B&G Zeus, data selected in the default group will be transmitted. For Lowrance products, the transmitted data will be from the global data source for each data type. As with Simrad, it will not be possible to view data from sources other than the global source for first release. However, it is possible to view and change the global source from the MFD. 4.6 Automatic Failover Automatic failover is supported in systems where multiple MFDs are present. Clients should monitor the multicast transmissions to ensure the MFD they are in communication with is still active, and if that MFD stops transmitting for a period of 2 seconds or longer: Close the TCP socket to the unavailable MFD. Choose another MFD from the devices that are transmitting to the multicast address. Open a TCP socket to that MFD and continue receiving data. Page 3 of 9

4.7 Supported Sentences Standard Sentences Identifier Data Output rate GGA Global Positioning System Fix Data 5Hz GLL Geographic Position Latitude/Longitude 5Hz GSA & GSV GNSS DOP and Active Satellites/Satellites in View 1Hz VTG Course Over Ground and Ground Speed 1Hz ZDA Time and Date 1Hz AAM Waypoint Arrival Alarm 1Hz APB Heading/Track Controller (Autopilot) Sentence B 1Hz BOD Bearing Origin to Destination 1Hz BWC Bearing and Distance to Waypoint Great Circle 1Hz BWR Bearing and Distance to Waypoint Rhumb Line 1Hz RMC Recommended Minimum Navigation Information 1Hz RMB Recommended Minimum GNSS Data 1Hz XTE Cross Track Error 1Hz DBT Depth Below Transducer 1Hz DPT Depth 1Hz MTW Water Temperature 1Hz VLW Dual Ground/Water Distance 1Hz VHW Water Speed and Heading 1Hz HDG Heading, Deviation and Variation 10Hz MWV Wind Speed and Angle (Relative) 1Hz MWV Wind Speed and Angle (True) 1Hz MWD Wind Direction and Speed 1Hz Page 4 of 9

VPW VMG to Wind 1Hz TLL Target Latitude and Longitude 1Hz TTM Tracked Target Message 1Hz VDM UAIS VHF Data-link Message 1Hz VDO UAIS VHF Data-link Own-vessel report 1Hz Proprietary Sentences XDR Heel, Trim, Barometric Pressure 1Hz $IIXDR,A,2.5,D,HEEL,A,-0.2,D,TRIM,P,1.016,B,BARO $IIXDR,ANGULAR DISPLACEMENT,2.5,DEGREES,HEEL,ANGULAR DISPLACEMENT,- 0.2,DEGREES,TRIM,PRESSURE,1.016,BAR,BARO 4.8 Frequently Asked Questions 4.8.1 What happens to NMEA0183 data that is not plugged in to the Gateway MFD? Most types of NMEA0183 data are bridged on to the NMEA2000 network and will therefore be available to the gateway MFD via NMEA2000. If the NMEA0183 device in question is selected as the Simrad group or Global source, then its data will be bridged by the gateway and will be available to mobile devices. 4.8.2 Why not just implement IEC61162-450? IEC61162-450 is the IEC s recently released Ethernet networking standard. Like the GoFree data networking standard, it is fundamentally based on transmitting NMEA0183 formatted sentences over UDP multicast. However, it has some key differences: IEC61162-450 defines 16 IP address/port pairs. The address/port pair that is used depends on the talker ID of the sentence. This additional complexity is not present in GoFree, only one address/port pair is used. We made this decision for simplicity of implementation. The chosen address/port for GoFree does not conflict with IEC61162-450. IEC61162-450 specifies the use of TAG blocks to carry additional data for each sentence. This functionality is not required in the initial release of GoFree. However, GoFree listeners must robustly parse and ignore sentences with TAG blocks so we can implement this functionality in the future. IEC61162-450 specifies manual allocation of IP addresses for devices. This is not compatible with Navico marine networks. IEC61162-450 is based on multicast UDP for message transmission. For transmission of data to a small number of clients over wireless networks, unicast is preferred. TCP is convenient since there are a number of existing applications for mobile devices that can process TCP streams of NMEA0183 data. Page 5 of 9

More generally speaking, IEC61162-450 is a standard for Ethernet networking, whereas GoFree is a wireless networking standard. Page 6 of 9

Appendix A Service Discovery Sample C# code for service discovery. This uses the open source plugin Json.NET (http://www.codeplex.com/json/) for simplicity. using System; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using Newtonsoft.Json; using System.Diagnostics; namespace NavicoDiscovery class Program public class MFDService public MFDService(string service, uint version, uint port) Service = service; Version = version; Port = port; public string Service; public uint Version; public uint Port; public class MFD public string Name; public string IP; public string Model; public MFDService[] Services; static readonly object _locker = new object(); private static void ReceiveOldMessage() // Navico NSS 2.0: Multicast 239.2.1.1, port 2050 UdpClient client = new UdpClient(); IPEndPoint localep = new IPEndPoint(IPAddress.Any, 2050); client.client.bind(localep); IPAddress multicastaddress = IPAddress.Parse("239.2.1.1"); client.joinmulticastgroup(multicastaddress); string output; while (true) Page 7 of 9

Byte[] data = client.receive(ref localep); if (data.length > 0) string strdata = Encoding.ASCII.GetString(data); char[] lineend = '\r', '\n' ; strdata = strdata.trimend(lineend); string[] strparams = strdata.split(','); output = string.format("service: 0\tVersion: 1\tIP: 2\tPort: 3", strparams[0], strparams[1], strparams[2], strparams[3]); lock (_locker) Console.WriteLine(output); Debug.Print(output + string.format("\r\n")); private static void ReceiveNewMessage() // Navico NSS 2.5: Multicast 239.2.1.1, port 2052 UdpClient client = new UdpClient(); IPEndPoint localep = new IPEndPoint(IPAddress.Any, 2052); client.client.bind(localep); IPAddress multicastaddress = IPAddress.Parse("239.2.1.1"); client.joinmulticastgroup(multicastaddress); string output; while (true) Byte[] data = client.receive(ref localep); if (data.length > 0) string strdata = Encoding.ASCII.GetString(data); MFD deserializedmfd = JsonConvert.DeserializeObject<MFD>(strData); output = string.format("mfd: 0\tModel: 1\tIP: 2", deserializedmfd.name, deserializedmfd.model, deserializedmfd.ip); lock (_locker) Console.WriteLine(output); Debug.Print(output); for (uint service = 0; service < deserializedmfd.services.count(); service++) output = string.format("\tservice 0: 1\tVersion: 2\tPort: 3", service, deserializedmfd.services[service].service, deserializedmfd.services[service].version, deserializedmfd.services[service].port); Console.WriteLine(output); Debug.Print(output); Page 8 of 9

static void Main(string[] args) Thread oldthread; oldthread = new Thread(new ThreadStart(ReceiveOldMessage)); oldthread.isbackground = true; oldthread.start(); Thread newthread; newthread = new Thread(new ThreadStart(ReceiveNewMessage)); newthread.isbackground = true; newthread.start(); while (true) Page 9 of 9