Hallo zusammen,
kürzlich kaufte ich einen BroadLink RM mini 3, um diesen an mein OpenHab anzubinden und damit TV+Receiver etc. schalten zu lassen. Dummerweise habe ich erst hinterher gelernt dass man im WLAN Kennwort KEINE Sonderzeichen verwenden darf, sonst verbindet sich das lustige Broadlink-Teil nämlich gar nicht. Da ich mein Kennwort nicht "unsicherer" machen möchte werde ich somit auf den Broadlink verzichten.
Kennt jemand sinnvolle Alternativen (gekauft oder selbstgebaut) um Infrarot-Befehle vom Raspi zu verschicken?
Danke
Geräte per Infrarot steuern - Alternative zu Broadlink ?
-
- Beiträge: 18
- Registriert: 18. Sep 2017 21:14
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Geräte per Infrarot steuern - Alternative zu Broadlink ?
Ein Passwort ohne Sonderzeichen ist nicht weniger sicher als eines mit Sonderzeichen Wichtiger ist die Länge des Passwortes.
"Dies ist ein sicheres Passwort" oder "DiesisteintotalsicheresPasswort" ist besser als "P4s5wort!" oder "Pa55!Wor7!" WPA2 gestattet bis zu 63 Zeichen, das sollte auch ohne Sonderzeichen ausreichend sicher sein.
"Dies ist ein sicheres Passwort" oder "DiesisteintotalsicheresPasswort" ist besser als "P4s5wort!" oder "Pa55!Wor7!" WPA2 gestattet bis zu 63 Zeichen, das sollte auch ohne Sonderzeichen ausreichend sicher sein.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 1
- Registriert: 14. Aug 2019 08:34
Re: Geräte per Infrarot steuern - Alternative zu Broadlink ?
Hallo, hast du dein Broadlink benutzt? Wenn nicht, würde ich es gerne von dir kaufen!
-
- Beiträge: 226
- Registriert: 11. Aug 2019 06:39
Re: Geräte per Infrarot steuern - Alternative zu Broadlink ?
Ich nutze dazu einen Wemos D1 Mini mit einer IR Diode
Kostenpunkt liegt bei wenigen Euros.
Befehle sende ich per MQTT an den Wemos.
Natürlich kannst du auch einen Raspberry dafür nehmen.... aber ich würde es für OverDressed halten... IR braucht keine "Rechnenpower"
Das z.b. ist mein Arduino Code für einen Teufel Subwoofer, den ich auseinander gebaut habe und den Wemos mit IR Diode direkt im Subwoofer versenkt
PS: Der Code geht bestimmt noch einfacher und sauberer, aber er funktioniert bis dato ohne Aussetzer
Kostenpunkt liegt bei wenigen Euros.
Befehle sende ich per MQTT an den Wemos.
Natürlich kannst du auch einen Raspberry dafür nehmen.... aber ich würde es für OverDressed halten... IR braucht keine "Rechnenpower"
Das z.b. ist mein Arduino Code für einen Teufel Subwoofer, den ich auseinander gebaut habe und den Wemos mit IR Diode direkt im Subwoofer versenkt
PS: Der Code geht bestimmt noch einfacher und sauberer, aber er funktioniert bis dato ohne Aussetzer
Code: Alles auswählen
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <IRremoteESP8266.h>
#include <IRsend.h>
const char* ssid = "SSID";
const char* password = "WLANPASSWORT";
const char* mqtt_server = "IP-DES-MQTT-SERVER";
const char* mqtt_channel = "/MQTT/CHANNEL/subwoofer/ir";
#define IR_LED 4 // (D2)
IRsend irsend(IR_LED);
WiFiClient espClient;
PubSubClient client(espClient);
void setup_wifi() {
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
randomSeed(micros());
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void callback(char* topic, byte* payload, unsigned int length) {
// handle message arrived
byte* p = (byte*)malloc(length);
//Byte to String
std::string message ( reinterpret_cast<char const*>(payload), length ) ;
Serial.println();
if (message == "Sub_Init") {
//Set 140Hz
irsend.sendNEC(0x1FE9867, 32);
//80 Times Volume Down
for (int i=0; i<80; i++){
irsend.sendNEC(0x1FEE817, 32);
}
//60 Times Volume Up
for (int i=0; i<60; i++){
irsend.sendNEC(0x1FEC837, 32);
}
Serial.println("Sub_Init");
}
if (message == "Volume_Up") {
irsend.sendNEC(0x1FEC837, 32);
Serial.println("Volume_Up");
}
if (message == "Volume_Down") {
irsend.sendNEC(0x1FEE817, 32);
Serial.println("Volume_Down");
}
if (message == "140Hz") {
irsend.sendNEC(0x1FE9867, 32);
Serial.println("140Hz");
}
if (message == "110Hz") {
irsend.sendNEC(0x1FE28D7, 32);
Serial.println("110Hz");
}
if (message == "80Hz") {
irsend.sendNEC(0x1FE58A7, 32);
Serial.println("80Hz");
}
if (message == "50Hz") {
irsend.sendNEC(0x1FE38C7, 32);
Serial.println("50Hz");
}
}
void reconnect() {
// Loop until we're reconnected
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
// Create a random client ID
String clientId = "WeMos_TeufelSubwoofer_IR";
// Attempt to connect
if (client.connect(clientId.c_str())) {
Serial.println("connected");
client.subscribe(mqtt_channel);
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
// Wait 5 seconds before retrying
delay(5000);
}
}
}
void setup() {
Serial.begin(115200);
irsend.begin();
//Wait for Subwoofer BootUp
delay(4000);
//Sub_Start_Up
//Set 140Hz
irsend.sendNEC(0x1FE9867, 32);
//20 Times Volume Up
for (int i=0; i<20; i++){
irsend.sendNEC(0x1FEC837, 32);
}
Serial.println("Sub_Start_Up");
setup_wifi();
client.setServer(mqtt_server, 1883);
client.setCallback(callback);
}
void loop() {
if (WiFi.status() != WL_CONNECTED) {
setup_wifi();
}
if (!client.connected()) {
reconnect();
}
client.loop();
}