Das One-Wire Bricklet ermöglicht die Kommunikation mit 1-wire kompatiblen Geräten .
Die API stellt verschiedene High-Level-Befehle (Bus Search, Reset, Write, Read, Write Command) bereit, die direkt den Status zurückmelden und einfache Fehlererkennung ermöglichen.
Bis zu 64 1-Wire Geräte können gleichzeitig angeschlossen und genutzt werden.
Ein Jumper kann genutzt werden um zwischen 3,3V, 5V und einer externen Stromversorgung für das 1-Wire Gerät zu wechseln.
Eine Beispielanwendung für das Bricklet wäre z.B. das Bestimmen der Temperatur mit einem MAX31820 1-Wire Temperatursensors.
Das Bricklet verfügt über keine galvanische Trennung zum Tinkerforge System. Das heißt es gibt eine direkte elektrische Verbindung zwischen den Anschlussklemmen des Bricklets und dem restlichen System. Sollte dies in der jeweiligen Anwendung zu ungewollten Verbindungen, Masseschleifen oder Kurzschlüssen führen, so ist der Einsatz zusammen mit einem Isolator Bricklet ratsam.
Eigenschaft | Wert |
---|---|
Stromverbrauch | 35mW (7mA bei 5V) |
Maximale Busgröße | 64 |
Unterstützte Spannungen | 3,3V, 5V und externe Versorgung |
Befehle | Bus Search, Reset, Write, Read, Write Command |
Abmessungen (B x T x H) | 30 x 30 x 14mm (1,18 x 1,18 x 0,55") |
Gewicht | 6,5g |
Ein 1-Wire Gerät kann mit VCC/DAT/GND (Spannung, Daten, Masse) verbunden werden
Der Jumper kann genutzt werden um die Stromversorgung auf der VCC-Klemme zwischen 3,3 und 5V zu wechseln. Wenn der Jumper auf NC gesetzt wird, kann eine externe Stromversorgung an VCC angeschlossen werden. Wenn eine externe Stromversorgung verwendet wird darf der Jumper nicht auf 3,3V/5V gesetzt werden.
Das folgende Python Beispiel ließt über das One Wire Bricklet die Temperatur eines angeschlossenen MAX31820 Temperatursensors aus:
ow.write_command(0, 0x4E) # WRITE SCRATCH PAD
ow.write(0x00) # ALARM H (unused)
ow.write(0x00) # ALARM L (unused)
ow.write(0x7F) # CONFIGURATION: 12 bit mode
while True:
ow.write_command(0, 0x44) # CONVERT T (start temperature conversion)
time.sleep(1) # Wait for conversion to finish
ow.write_command(0, 0xBE) # READ SCRATCH PAD
t_low = ow.read().data # Read LSB
t_high = ow.read().data # Read MSB
print('Temperature: {0} °C'.format((t_low | (t_high << 8)) / 16.0))
Um ein One Wire Bricklet testen zu können, müssen zuerst Brick Daemon und Brick Viewer installiert werden. Brick Daemon arbeitet als Proxy zwischen der USB Schnittstelle der Bricks und den API Bindings. Brick Viewer kann sich mit Brick Daemon verbinden, gibt Informationen über die angeschlossenen Bricks und Bricklets aus und ermöglicht es diese zu testen.
Als nächstes muss das One Wire Bricklet mittels eines Bricklet Kabels mit einem Brick verbunden werden und ein 1-Wire Gerät an das Bricklet angeschlossen werden.
Wenn der Brick per USB an den PC angeschlossen wird sollte einen Moment später im Brick Viewer ein neuer Tab namens "One Wire Bricklet" auftauchen. Wähle diesen Tab aus. Wenn alles wie erwartet funktioniert kann jetzt mit dem angeschlossenen 1-Wire Gerät kommuniziert werden.
Nun kann ein eigenes Programm geschrieben werden. Der Abschnitt Programmierschnittstelle listet die API des One Wire Bricklet und Beispiele in verschiedenen Programmiersprachen auf.
Ein laser-geschnittenes Gehäuse für das One Wire Bricklet ist verfügbar.
Der Aufbau ist am einfachsten wenn die folgenden Schritte befolgt werden:
Im Folgenden befindet sich eine Explosionszeichnung des One Wire Bricklet Gehäuses:
Hinweis: Auf beiden Seiten der Platten ist eine Schutzfolie, diese muss vor dem Zusammenbau entfernt werden.
Siehe Programmierschnittstelle für eine detaillierte Beschreibung.
Sprache | API | Beispiele | Installation |
---|---|---|---|
C/C++ | API | Beispiele | Installation |
C/C++ für Mikrocontroller | API | Beispiele | Installation |
C# | API | Beispiele | Installation |
Delphi/Lazarus | API | Beispiele | Installation |
Go | API | Beispiele | Installation |
Java | API | Beispiele | Installation |
JavaScript | API | Beispiele | Installation |
LabVIEW | API | Installation | |
Mathematica | API | Beispiele | Installation |
MATLAB/Octave | API | Beispiele | Installation |
MQTT | API | Beispiele | Installation |
openHAB | API | Beispiele | Installation |
Perl | API | Beispiele | Installation |
PHP | API | Beispiele | Installation |
Python | API | Beispiele | Installation |
Ruby | API | Beispiele | Installation |
Rust | API | Beispiele | Installation |
Shell | API | Beispiele | Installation |
Visual Basic .NET | API | Beispiele | Installation |
TCP/IP | API | ||
Modbus | API |