Difference between revisions of "NMEA"

From HSYCO
Jump to navigation Jump to search
(Created page with "The NMEA I/O Server can be used to interface HSYCO and the Arteco Next platform using the Arteco Open Connector SDK protocol. The current release of the I/O Server has been ...")
 
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
The NMEA I/O Server can be used to interface HSYCO and the Arteco Next platform using the Arteco Open Connector SDK protocol.
+
The NMEA I/O Server implements a basic NMEA 0183 TCP client that connects to a NMEA 0183 source and receives all sentences, checking and discarding the checksum of valid messages, and ignoring invalid messages.
 +
 
 +
Different datapoints are generated for each sentence. The datapoint name is the lowercase sentence tag.
 +
 
 +
The value is a comma separated string of all fields following the tag. The checksum field and its "*" delimiter character are not included in the value string. The "$" or "!" start delimiters are not included in the datapoint names. Sentences not starting with the "$" or "!" start delimiters or with a wrong checksum are discarded.
  
The  current release of the I/O Server has been tested with the Arteco Open Connector protocol V6. It automatically handles connection and authentication to the OC server, and offers simple commands to send events and control output devices.
 
  
 
[[Category:I/O Server]]
 
[[Category:I/O Server]]
  
 
== HSYCO Configuration ==
 
== HSYCO Configuration ==
Add an ARTECOOC I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:
+
Add an NMEA I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:
  
 
=== Communication ===
 
=== Communication ===
*'''IP Address''': host name or IP address of the Arteco Open Connector server
+
*'''IP Address''': host name or IP address of the NMEA 0183 server
*'''IP Port''': TCP/IP port to use, leave blank to use default port 80
+
*'''IP Port''': TCP/IP port of the NMEA 0183 server
*'''User''': username
 
*'''Password''': password.
 
  
 
=== High Availability ===
 
=== High Availability ===
Line 18: Line 19:
  
 
=== Options ===
 
=== Options ===
 
+
n/a
{| class="wikitable"
 
!ID
 
!Default
 
!Values
 
!Description
 
|-
 
 
 
|connectorid
 
|
 
|N
 
|the connector ID, configured in the Arteco Next platform. This parameter is mandatory; the I/O Server will not start without a valid ID.
 
|-
 
 
 
|}
 
  
 
== Datapoints ==
 
== Datapoints ==
Line 50: Line 37:
 
|offline
 
|offline
 
|R
 
|R
|HSYCO can't connect to the Arteco Open Connector server
+
|HSYCO can't connect to the NMEA 0183 TCP server
 
|-
 
|-
  
|event
+
|<tag>
 
|value
 
|value
|W
 
|send an event notification
 
|-
 
 
|rowspan="4" |io.&lt;s&gt;.&lt;p&gt;
 
|rowspan="2" |0
 
|R
 
|pin &lt;p&gt; of server &lt;s&gt; successfully set to 0
 
|-
 
|W
 
|set pin &lt;p&gt; of server &lt;s&gt; to 0
 
|-
 
 
|rowspan="2" |1
 
 
|R
 
|R
|pin pin &lt;p&gt; of server &lt;s&gt; successfully set to 1
+
|the sentence fields, excluding leading sentence tag and checksum
|-
 
|W
 
|set pin &lt;p&gt; of server &lt;s&gt; to 1
 
 
|-
 
|-
  
 
|}
 
|}
  
You can send simple events, with only a text description, by writing a plain text message to the event datapoint, for example:
+
Note that events are only generated on datapoint's change, so repeated identical sentences don't generate multiple events.
 
 
<pre>
 
init : io connector.event = "this is the description of an event sent to Open Connector wevery time the events code is updated"
 
</pre>
 
 
 
You can also sent any custom XML section data compatibile with the Open Connector protocol specification, by simply passing the full XML string of all relevant sections in the value, including empty sections, after the plain text description. For example, the following function cound be used to send an event with custom XML data:
 
 
 
<pre>
 
function OCURLEventDataBlock(text, icon, label, datablock, url) {
 
ioSet('connector.event', text + '<cameras />' + datablock +
 
'<io /><web><web-device id="10"><icon id="' + icon + '" /><label>' + label + '</label><target><url>' +
 
url + '</url></target></web-device></web>');
 
}
 
</pre>
 
  
 
== Release Notes ==
 
== Release Notes ==
 +
=== 3.8.0 ===
 +
*improved NMEA sentences parser compatibility
 
=== 3.5.1 ===
 
=== 3.5.1 ===
 
*initial release
 
*initial release

Latest revision as of 14:11, 12 February 2021

The NMEA I/O Server implements a basic NMEA 0183 TCP client that connects to a NMEA 0183 source and receives all sentences, checking and discarding the checksum of valid messages, and ignoring invalid messages.

Different datapoints are generated for each sentence. The datapoint name is the lowercase sentence tag.

The value is a comma separated string of all fields following the tag. The checksum field and its "*" delimiter character are not included in the value string. The "$" or "!" start delimiters are not included in the datapoint names. Sentences not starting with the "$" or "!" start delimiters or with a wrong checksum are discarded.

HSYCO Configuration

Add an NMEA I/O Server in the I/O Servers section of the Settings and set its parameters:

Communication

  • IP Address: host name or IP address of the NMEA 0183 server
  • IP Port: TCP/IP port of the NMEA 0183 server

High Availability

  • Shutdown when inactive: defaults to false.

Options

n/a

Datapoints

ID Value R/W Description
connection online R connection established
offline R HSYCO can't connect to the NMEA 0183 TCP server
<tag> value R the sentence fields, excluding leading sentence tag and checksum

Note that events are only generated on datapoint's change, so repeated identical sentences don't generate multiple events.

Release Notes

3.8.0

  • improved NMEA sentences parser compatibility

3.5.1

  • initial release


ARTECO is a registered trademark of Arteco Srl.