TRB141 1-Wire Setup/Configuration: Difference between revisions
Appearance
No edit summary |
|||
| (22 intermediate revisions by 3 users not shown) | |||
| Line 3: | Line 3: | ||
==Introduction== | ==Introduction== | ||
Inputs and outputs are used for monitoring and controlling a connected device or receiving signals from that device in order to trigger certain events. In this chapter, we will set up and configure the 1-Wire sensor with '''TRB141'''. | Inputs and outputs are used for monitoring and controlling a connected device or receiving signals from that device in order to trigger certain events. | ||
1-Wire is a voltage-based digital system that works with two contacts, data and ground, for half-duplex bidirectional communication. Compared to other serial communication systems such as I2C or SPI, 1-Wire devices are designed for use in a momentary contact environment. It is developed by Dallas Semiconductor (now Maxim Integrated) that allows devices to communicate over a single wire using a complex protocol to transfer data. The 1-Wire protocol is commonly used for low-speed communication between microcontrollers and their peripherals, such as temperature sensors, memory devices, and other digital and analog sensors. | |||
Currently, only one Teltonika device (TRB141) supports 1-Wire communication protocol. | |||
In this chapter, we will set up and configure the 1-Wire sensor with '''TRB141'''. | |||
== Prerequisites == | == Prerequisites == | ||
| Line 9: | Line 15: | ||
* TRB141 | * TRB141 | ||
* 1-Wire sensor | * 1-Wire sensor | ||
* If 1-Wire doesn't have | * If 1-Wire doesn't have its Wires(Like Dallas DS1820 used in this example) you will need additional wires to connect the sensor to TRB141 | ||
==Connecting 1-Wire Sensor with TRB141== | ==Connecting 1-Wire Sensor with TRB141== | ||
First of all we will connect the 1-Wire sensor with TRB141, for this example, we will be using two different 1-Wire sensors Dallas DS1820 and Dallas DS9092. | |||
Before we proceed with the connection, make sure you know how your 1-Wire sensor has to be connected, or open your 1-Wire sensor data sheet to reference where each wire should be connected. | |||
===DS1820 connection=== | |||
---- | |||
The wiring for DS1820 can be seen in the picture provided below. We will connect the 1st wire to TRB141, the second wire to the 1-Wire pin on TRB141, and the 3rd wire to the + pin. Please see the Wiring of DS1820 and Pinout of TRB141 on which pins should be connected. | |||
====Wiring==== | |||
---- | |||
[[File:Networking rut configuration 1 wire wiring v1.png|border|class=tlt-border]] | |||
====Pinout==== | |||
---- | |||
[[File:Networking trb141 manual input output input output connector pinout v7.png|border|class=tlt-border]] | |||
* 1 - Red Wire | |||
* 2 - White Wire | |||
* 3 - Green Wire | |||
---- | |||
===DS9092 connection=== | |||
---- | |||
'''Note: Keep in mind that the wire colors of your Ibutton can be different to ones used for this example.''' | |||
The wiring for DS9092 can be seen in the picture provided below. We will connect the '''Green Wire''' to TRB141 1-Wire Pin, the '''Red Wire''' to the Ground pin on TRB141. Please see the Wiring of DS9092 and Pinout of TRB141 on which pins should be connected. | |||
====Wiring==== | |||
---- | |||
[[File:Networking rut configuration 1 wire wiring DS9092 v1.png|border|class=tlt-border]] | |||
====Pinout==== | |||
---- | |||
[[File:Networking trb141 manual input output input output connector pinout v4.png|border|class=tlt-border]] | |||
* 1 - Green Wire | |||
* 2 - Red Wire | |||
====Picture-example==== | |||
---- | |||
[[File:Networking rut configuration 1 wire wiring example v3.jpg|border|class=tlt-border]] | |||
==1-Wire configuration on TRB141== | |||
1-Wire configuration is simple, you will only need to log in to your device's CLI/SSH and execute a few commands. | |||
Firstly, let's connect to your device's CLI. Open your WebUI by opening Browser on your computer and inputting your device's IP(by default 192.168.2.1). | |||
Now navigate to '''System → CLI'''. Login with your '''root''' username and your '''admin password''': | |||
[[File:Networking trb141 configuration 1 wire cli v1.png|border|class=tlt-border|1100px]] | |||
===1-Wire activation commands=== | |||
---- | |||
In order to read one-wire sensor data you will need to follow these steps: | |||
<ol> | |||
<li>Set one-wire sensor value to "1' using the <i>ubus</i> command: <pre>ubus call ioman.gpio.onewire update '{"value":"1"}'</pre></li> | |||
<li>List the connected one-wire devices from the <i>/sys/bus/w1/devices</i> directory using the <b><i>ls</i></b> command: <pre>ls /sys/bus/w1/devices</pre></li> | |||
<li>Choose a sensor to read and obtain its state from the <i>/sys/bus/w1/devices/<device_name>/w1_slave</i> directory: <pre>cat /sys/bus/w1/devices/<device_name>/w1_slave</pre></li> | |||
</ol> | |||
'''Commands executed on CLI:''' | |||
[[File:Networking trb141 configuration 1 wire cli commands v1.png|border|class=tlt-border|1100px]] | |||
==Testing the configuration== | |||
The configuration testing is straight forward, you will need to execute command '''cat /sys/bus/w1/devices/<device_name>/w1_slave''' you should see the data from your sensor in the CLI output, keep in mind that the output entirely depends on the 1-Wire sensor used, so most likely you will see different outup. And if you will be using a similar 1-Wire device to '''DS9092''' you will need to touch and hold the key for a few seconds until you would see the slave device. | |||
'''The example output:''' | |||
[[File:Networking trb141 configuration 1 wire cli commands test v1.png|border|class=tlt-border|1100px]] | |||
==Connecting Multiple 1-Wire Sensors with TRB141== | |||
The configuration for connecting multiple 1-wire sensors is the same as above. | |||
There’s no restriction or limit on the number of sensors that can be connected to TRB141. However, there’s a limit on how many sensors can be read every second which is up to 75 sensors only. | |||
===DS18B20 connection=== | |||
---- | |||
The wiring image is a similar scheme that we used as our guide for connecting multiple 1-Wire sensors on the TRB141. | |||
====Wiring==== | |||
---- | |||
[[File:Networking trb1 configuration connectionguide v1.png|border|class=tlt-border|500px]] | |||
====Picture-example==== | |||
---- | |||
[[File:Networking trb1 configuration multi 1wire via breadboard v1.png|border|class=tlt-border|500px]] | |||
==Output== | |||
Enable the 'ioman.gpio.onewire' service. You can configure this by following the instructions above regarding [[TRB141_1-Wire_Setup/Configuration#1-Wire_activation_commands|1-Wire activation commands]]. | |||
We should be able to see all the 1-wire sensor directories and read their values accordingly. | |||
[[File:Networking trb1 configuration cli multi1wire v1.png|border|class=tlt-border|800px]] | |||
[[File:Networking trb1 configuration cli multi1wire output v1.png|border|class=tlt-border|800px]] | |||
28-00000e55f136 = '''31.1 °C''' | |||
28-00000e7dfff9 = '''24.3 °C''' | |||
==Summary== | |||
In this article we connected and configurated different 1-Wire sensors and learned how to configure the 1-Wire sensor to display data on TRB141 SSH/CLI. Additionally, in this article you can find how different 1-Wire sensors have to be wired/connected to TRB141. | |||
==References== | |||
[[TRB141 Input/Output]] | |||