Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

SmartThings-IR-Bridge mit Arduino UNO & ThingShield selbst bauen

Komponenten und Zubehör

Bauteil Menge
Arduino UNO 1
SmartThings ThingShield für Arduino 1
IR-Empfänger (z. B. TSOP38238) 1
IR-Sende-LED (940 nm) 1
Widerstand 100 Ω (optional, für IR-LED) 1

Projektbeschreibung

Eine einfache TV-Fernbedienung wird mit der SmartThings-Cloud zum mächtigen Steuerwerkzeug. Mit minimalem Bauteilaufwand und sofortigem Nutzen eignet sich dieses Projekt hervorragend, um die SmartThings-Plattform kennenzulernen.

Hintergrund: Arduino & ThingShield

Der SmartThings ThingShield verbindet den Arduino UNO per Zigbee direkt mit dem SmartThings-Hub. Ein Schalter auf dem Shield wählt zwischen den Pin-Paaren (0/1 oder 2/3) für die serielle Kommunikation. Pin 6 wird vom Shield reserviert.

Mehr zu Arduino-Grundlagen: Arduino Guide

Schritt 1: Benötigte Teile

Schritt 2: IR-Bibliothek installieren

Das Projekt nutzt die ausgezeichnete Arduino-IRremote-Bibliothek von Ken Shirriff. Installation wie gewohnt über den Bibliotheksverwalter oder manuell.

Wichtig: In IRRemoteInt.h muss der Timer auf Pin 9 gelegt werden, da Pin 3 für die ThingShield-Kommunikation verwendet wird.

Schritt 3: Arduino-Sketch hochladen

Der vollständige Sketch befindet sich im Code-Bereich. Er initialisiert die IR-Empfangs- und Sende-Routinen, kommuniziert per SoftwareSerial mit dem ThingShield und sendet empfangene IR-Codes (NEC, Sony, RC5, RC6, RAW) als formatierte Strings an den SmartThings-Hub.

Schritt 4: Hardware-Aufbau

  1. ThingShield auf den Arduino stecken.
  2. IR-Empfänger: VCC → 5 V, GND → GND, OUT → Arduino Pin 11.
  3. IR-Sende-LED: Anode → Pin 9 (über 100 Ω optional), Kathode → GND.

Hinweis: Der 100 Ω Widerstand ist optional, da die LED nur kurz gepulst wird. Bei Dauerstrom würde sie ohne Vorwiderstand überhitzen.

Schritt 5: Eigenen SmartThings Device Type erstellen

  1. In der SmartThings IDE: „My Device Types“ → „New SmartDevice“.
  2. Name: Ir Bridge (wird später im SmartApp referenziert).
  3. Attribute und Commands definieren:
    • Attribute: recStatus, buttonAStatus, buttonBStatus, buttonAHex, buttonACode, buttonBHex, buttonBCode, lastButton
    • Commands: record, buttonA, buttonB
  4. Device-Definition (Groovy-Code) einfügen, speichern und veröffentlichen.

Schritt 6: ThingShield auf neuen Device Type umstellen

  1. ThingShield mit Hub koppeln: Shield auf Arduino, Strom an, „Switch“-Taste 6 s gedrückt halten, in SmartThings-App „Gerät hinzufügen“, nochmals Switch drücken.
  2. In der IDE unter „Devices“ das ThingShield auswählen, „Edit“, im Dropdown „Type“ den neuen Ir Bridge wählen, Update.

Schritt 7: SmartApp schreiben

  1. In der IDE: „My SmartApps“ → „New SmartApp“.
  2. Code einfügen (siehe Code-Bereich), speichern, veröffentlichen.
  3. Referenz auf Device Type: input "irDevice", "device.IrBridge" (CamelCase ohne Leerzeichen).

Schritt 8: SmartApp aktivieren & Fernbedienung anlernen

  1. In der SmartThings-App: Neue SmartApp auswählen, IR-Device und gewünschte Schalter (Lampen, Steckdosen) zuordnen, „Installieren“.
  2. In der Geräte-Detailansicht (Zahnrad-Symbol) den großen „Record“-Button drücken → wird rot.
  3. Gewünschten Steuer-Button (Play/Pause oder B) antippen → wird gelb.
  4. Fernbedienung auf ThingShield richten, gewünschte Taste drücken. Code wird gelernt und dem Button zugewiesen.
  5. Button wird grün, Record-Button wieder weiß. Fertig.

Ab sofort schaltet der Druck der gelernten Fernbedienungstaste den zugeordneten SmartThings-Schalter um.

Code

Arduino Sketch (C/C++)

Enthält: IR-Empfang mit Dekodierung (NEC, Sony, RC5, RC6, RAW), Senden per IRsend, Kommunikation mit ThingShield über SoftwareSerial (Pins 2/3), LED-Statusanzeige auf Shield.

Device Definition (Groovy)

Definiert Tiles für Record-Status (rot/weiß), Button A & B (grau/gelb/grün), Parsing eingehender IR-Codes, Umschaltung in Lernmodus, Senden gespeicherter Codes via Zigbee.

SmartApp (Groovy)

Abonniert Events button.A und button.B des IR-Devices und toggelt die konfigurierten Schalter (switch1, switch2).

Weiterführende Links

Herstellungsprozess

  1. Roboter mit Raspberry Pi und Python bauen: Komplette Anleitung
  2. Selbstbalancierenden Segway mit Raspberry Pi bauen
  3. Daten im Internet of Reliability nutzen: Strategien für effektives Management
  4. Wassertropfen-Hochgeschwindigkeitsfotografie mit Arduino Nano – DIY Setup
  5. K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
  6. Kommunikationshilfe für Taubblinde: 1Sheeld + Arduino + Sprachausgabe & Anzeige
  7. Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
  8. LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
  9. Heimtemperatur weltweit überwachen: Arduino Cloud Integration mit TMP36
  10. Aufbau der Belegschaft von morgen: Wie intelligente Automatisierung Employee Experience verbessert