Onewire iButton & RFIDs

Syrus can communicate with compatible 1-wire accessories such as iButton probes and RFID readers, allowing you to connect iButton IDs and RFID cards and take action over them.

📘

1-wire sensor simultaneous reading

Please note that up to 64 1-wire sensors can be supported simultaneously. This means if you want to read an iButton you can have a maximum 63 other temperature sensors connected all reading temperatures at the same time. Note that this does not affect the authorized/whitelisted list of accessories, up to 500 1-wire accessories can be authorized for use with the apx-onewire tool.

General Overview

  • Connect an iButton or RFID reader to the Syrus using the steps below
  • Present an iButton or RFID card to the reader to read the unique ID with the apx-onewire tool
  • Use Syrus cloud to manage the list of onewire accessories and synchronize it with your device

Installation

Compatibility Matrix

Note that the Syrus is compatible with most 1-wire accessories that support reading a unique identifier. The table below are examples of some that we have tested.

NameDescriptionManufacturerP/NDatasheet
DS9092iButton Probe/ReaderAnalog DevicesDS9092📃
1W-H0-05 or 1W-H0-04RFID Reader Module 13.56MHzDrexia1W-H0-05K or 1W-H0-04K📃 📃

Syrus 4 Datasheet with Pinout

1-wire Wiring Pinout (found in 14-pin molex) for Connection to iButton probe

iButton Probe Wires Signal Description Syrus Signal Syrus Wires
Gray DATA Data signal, connect to the Syrus white/red 1-wire cable. Make sure to use the 14-pin molex white/red cable. 1WIRE
Black GND Connect to the Syrus electrical ground cable. GND

1-wire Wiring Pinout (found in 14-pin molex) for Connection to RFID reader

RFID Reader Wires Signal Description Syrus Signal Syrus Wires
White DATA Data signal, connect to the Syrus white/red 1-wire cable. Make sure to use the 14-pin molex white/red cable. 1WIRE
Grey Power Supply (-) Connect to the Syrus electrical ground cable. GND
Yellow Power Supply (+) Connect to a power supply from 6.5 - 30V DC. Red

Read the data

After installing the reader/probe, you can connect an iButton or RFID and read data with apx-onewire tool.

Return list of IDs (note that this command works for RFID as well)

$ sudo apx-onewire ibutton get_all
{
    "ibuttons": [
        {
            "alias": null,
            "id": "123456789012345",
            "whitelisted": false,
            "connected": false,
            "conn_epoch": 1608048266,
            "disc_epoch": 1608048273
        }
    ]
}

Once you have read the data you can move on to the management of the iButtons or RFIDs using Syrus Cloud.

Redis Interaction

To notify the changes on the status, the onewire application publishes:

onewire/notification/ibutton/state onewire_ibutton_json_object

"PUBLISH" "onewire/notification/ibutton/state" "{\"alias\":\"driver1\",\"id\":\"123456789012345\",\"whitelisted\":true,\"connected\":true,\"conn_epoch\":1610658389,\"disc_epoch\":1610658390}"


Troubleshooting

What do I do if my onewire accessory is not returning any data?

First, check the response of the apx-onewire status command. If it returns a -1 it means that there is a fault in the 1-wire cable.

Disconnect any accessory from the 1-wire cable and measure the voltage of the 1-wire cable on the Syrus device. It should measure 3.3V. If it measures less than that then it is damaged (2.4V for example).

You must make sure that the accessory you are connecting to the Syrus outputs at most 3.3V if it outputs 5V then it damages the 1-wire cable.

Finally, try electrically resetting the Syrus and see if the voltage of the 1-wire cable returns to 3.3V, if it does then connect another appropriate accessory and try reading data again.