1. Home
  2. Docs
  3. Documentation
  4. Integrations
  5. Syrus 4G IIoT Gateway

Syrus 4G IIoT Gateway

In this article we are connecting a Syrus 4G IIoT Gateway device to Nimbus MQTT solution platform.

Syrus IIoT Gateway

The Syrus IoT Telematics Gateway (Syrus 4G) provides advanced fleet productivity and asset management solutions. Developed by Digital Communications Technologies (DCT), it delivers wireless infrastructure for mobile assets, offering actionable intelligence fully accessible via APIs.

Requirements

  1. Syrus 4G IIoT Gateway Device
  2. Nimbus808 Account

Syrus 4G IIoT Gateway Configuration

Note: Please make sure you have the latest version of Apex OS

Step 1: Preparing the System:

Access the Management Tool at http://192.168.9.2 (if connected via USB). Navigate to System and verify that the device firmware is up to date.

Navigate to Applications Manager and select Check for Updates. Ensure that the latest version of the SyrusJS application is installed.

Step 2: Create an instance:

In Applications Manager, open the SyrusJS menu to display all installed versions. Select the latest version and choose Create a New Instance.

Name your instance and select Create Instance button. This will create the new instance.

Step 3: Create Configuration Files

Create two files using any text editor (e.g., Notepad, Notepad++, Sublime, VSCode). You may choose any filename, but the file extension must be .syrus.conf.

The first one contains the destination data, protocol, output format, MQTT URI, username, and topics, here is an example:

### DESTINATIONS

define destination nimbus808 json mqtt://test.mosquitto.com:1883 
protocol="mqtt"username=""subscribe="/nimbus808/devices/syrus4g"
publish="/nimbus808/devices/[YOUR_DEVICE_LABEL]"

Replace the mqtt:// broker information to your Nimbus808 brokers URL.

The second file defines all events to be transmitted to Ubidots via MQTT. For example, it can send Ignition On/Off events and track points at one-minute intervals.

####### ###### ####### ###### ###########
############ START MQTT EVENT ###########

define variable constant_1 1
define fieldset nimbus808 

fields="ident":$modem.imei,position.context.lat:$gnss.latitude,position.context.lng:$gnss.longitude,position.value:$variables.constant_1,"position.direction":$gnss.heading,"position.hdop":$gnss.hdop,"position.pdop":$gnss.pdop,"position.vdop":$gnss.vdop,"position.speed":$gnss.mph,"position.altitude":$gnss.altitude,"event.enum":code,"can.engine.rpm":$ecu.rpm,"can.throttle.pedal.level":$ecu.accel_pedal_position,"can.engine.temperature":$ecu.coolant_temp,"can.fuel.consumed":$ecu.fuel_total,"can.intake.map":$ecu.intake_manif_pressure,"can.vehicle.speed":$ecu.fe6c_7-8,"can.fuel.temperature":$ecu.fuel_temp,"can.engine.load":$ecu.engine_load,"can.engine.torque":$ecu.actual_engine_torque,"can.catalyst.outlet.temp":$ecu.aftmt_catalyst_outlet_gas_temp,"can.fuel.rate":$ecu.fuel_rate,"can.engine.hours":$ecu.hours_total,"can.ambient.temp":$ecu.ambient_air_temp,"can.oil.pressure":$ecu.oil_pressure

define group nimbus808
set destinations group=nimbus808 nimbus808

define tracking_resolution nimbus808_tracking 5m 25deg 1000mts

define signal ignitionON min_duration=5s $io.ign == true
define signal ignitionOFF min_duration=5s $io.ign == false

define event ignitionONmqtt group=nimbus808 fieldset=nimbus808 ack=seq label=ignonmqtt code=102 trigger=ignitionON
define event ignitionOFFmqtt group=nimbus808 fieldset=nimbus808 ack=seq label=ignoffmqtt code=103 trigger=ignitionOFF

# Define tracking event, a single tracking resolution signal that can be controlled by different actions

define event trackingOffMqtt group=nimbus808 fieldset=nimbus808 ack=seq label=prdtst code=100 trigger=@tracking_resolution.nimbus808_tracking.signal,ignitionOFF,and
define event trackingOnMqtt group=nimbus808 fieldset=nimbus808 ack=seq label=trckpnt code=101 trigger=@tracking_resolution.nimbus808_tracking.time,ignitionON,and
define event trackingHeadingMqtt group=nimbus808 fieldset=nimbus808 ack=seq label=heading code=140 trigger=@tracking_resolution.nimbus808_tracking.heading,ignitionON,and
define event trackingDistanceMqtt group=nimbus808 fieldset=nimbus808 ack=seq label=distance code=141 trigger=@tracking_resolution.nimbus808_tracking.distance,ignitionON,and

############ END MQTT EVENT ###########
####### ###### ####### ###### #######

define event trackingOnMqtt group=mqtt fieldset=mqtt ack=seq label=trckpnt code=101 trigger=@tracking_resolution.mqtt_tracking.time,ignitionON,and
define event trackingHeadingMqtt group=mqtt fieldset=mqtt ack=seq label=heading code=140 trigger=@tracking_resolution.mqtt_tracking.heading,ignitionON,and
define event trackingDistanceMqtt group=mqtt fieldset=mqtt ack=seq label=distance code=141 trigger=@tracking_resolution.mqtt_tracking.distance,ignitionON,and

############ END MQTT EVENT ###########
####### ###### ####### ###### #######

Step 4: Upload your configuration files

Select your created instance then go to the Data Folder

Select Upload File:

Locate the previously created configuration files on your local disk and upload them individually to the system.

Navigate to the Configuration tab, open the Configuration > Destination File menu, select your previously updated items, and click Save.

Step 5: Start your Instance

Finally, go back to the Information tab and click the Start button:

Related articles

Feel free to post questions or suggestions on our community portal, or contact us via email at support@nimbus808.com

Other Users also found helpful…

  • another article
  • another another article
  • another another another article

Related Articles