Bluetooth I/O-Karte v. Reichelt

Hi Forum,

ich habe mich gefragt, in wie weit IPS mit dem ser. Bluetooth Protokoll klar kommt oder ob dies schon einmal jemand getestet hat.
Bei Reichelt gibt es diese Bluetooth-Relais-Karten, die würden für mich eine echte Alternative zu FS20 darstellen, da diese auch bidi sind.
Hat evtl. jemand schon Erfahrung mit diesen Dingern machen können?
Da ich keine Steuerleitung zum oberen Fußbodenverteiler habe, könnte man doch dieses dafür einsetzten? Über die analogen Eingänge könnte ich auch gleich Vor- u. Rücklauftemperatur erfassen.

http://www.reichelt.de/inhalt.html?SID=18zCH8aKwQARMAAAE0T3Y84a0d482fcfce4d54ce927e083628274;ACTION=7;LASTACTION=6;SORT=artikel.artnr;GRUPPE=X2;WG=0;SUCHE=bluetooth%20i%2Fo;ARTIKEL=MFC%204422-DC%2FEM;START=0;END=16;STATIC=0;FC=669;PROVID=0;TITEL=0;DATASHEETSEARCH=MFC%204422-DC%2FEM;FOLDER=X700;FILE=MFC4422-DC-EM-Handbuch%23INTR.pdf;DOWNLOADTYP=1;DATASHEETAUTO=;OPEN=1

Gruß,

Thomas

Daran glaub ich nicht gerne. In der Doku steht: Bis zu 100m Reichweite. Also ich habe einen Bluetooth Adapter im PC für mein Handy, und hier ist schon nach 5 Metern um die Ecke (oder auch bei Sichtweite) Schluss !
Und wenn ich mich nicht irre ist auch die Sendeleistung für Bluetooth streng regelt. Ich denke nicht das die bei Reichelt hier mehr leisten werden.

mfG Franz

Hallo Franz,

Dein Handy hat mit ziemlicher Sicherheit nur Class2, glaube ich, also maximale Sichtreichweite 10m.

Gruss Torro

Kann sein Torro,

ich habe mich noch nicht so richtig erkundigt. Mein Handy is ein Siemens CX75.

mfG Franz

Hallo Franz,

es gibt verschiedene Bluetooth Standards mit unterschiedlicher Reichweite. Ich habe z.B. ein Bluetooth Keyboard von Logitech das reicht in der Wohnung schon bis zu 20m, und da ist der Dongle hinten am Rechner angesteckt.

Spannend ist die Lösung schon, und wenn die Reichweite nicht passt kann man das Modul ja auch noch zurückschicken.

Grüße, Keule

Also COMPort Technisch sehe ich das kein Problem. Seit der neuten BETA kann man sogar DTR/RTS ect setzten…

Ich bin aber auch nicht der Bluetooth Fan… Mein PDA geht auch nur durch 1 Wand und dan ist Schluss :frowning:

Grüße, paresy

Immer dieser Pessimismus.:smiley:

Ich werde mir mal so’n Teil bestellen und mal testen. Viel schlimmer als das Vellemanboard über eine USB Verlängerung kann es ja nicht mehr werden. :stuck_out_tongue:

Ich melde mich dann, was beim Reichweitentest rausgekommen ist.

Grüße, Keule

Hallo zusammen,

interessant finde ich die Lösung schon, da hier gleiche alles komplett auf der Platine ist. Die etwas schwachen Reed-Relais kann man sicherlich durch evtl. andere Relais mit kleinem Steuerstrom tunen.

Die Platine hat übrigens einen Class1 sender, der um einiges stärker ist, als bei einem Handy o. PDA. Mit dem passendem Gegenstück am PC (auch Class1, USB bei Reichelt unter 20€) sehe ich hier nicht die Reichweite als Problem.
Ich bin mir nur nicht sicher gewesen, ob IPS auf die Windows Ser.-Schnittstelle zugreift und direkt auf die HW. Ansonstem dürfte doch eine Virt.-Com doch kein Problem darstellen, oder?

Gruß,

Thomas

Hallo Thomas,

kein Problem, wir haben ueber COM auch schon den Dachs (Blockheizkraftwerk) an IPS angebunden. Man muss sich halt nur die ganze Logik selbst machen, sollte aber nicht das Problem sein.

Gruss Torro

Morgen Torro,

aber da ist genau mein Problem. Ich weiss einfach nicht, wie ich eine eingehende Bytefolge über den COM auswerten kann/muss. Bis in die Reg.Variable ist das eigentlich kein Problem, aber mir fehlt der passende Scriptschnipsel dafür, die einzelnen Byte auszuwerten, zumal das was in der Reg.Variablen ankommt, wie Datenmüll aussieht.

Gruß,

Thomas

Hmm du könntest ja einen Blick auf tommi’s M232 Script werfen:
http://www.ipsymcon.de/forum/showthread.php?t=1135

Das Problem mit dem Datenmüll ist folgendes:
Du siehst die Zeichen als ASCII Darstellungen (Base^256). Interesannt für dich zum auswerten ist aber HEX (Base^64) oder Dezimal (Base^10).

Meistens sind die Werte in den Protokollen als HEX Werte angeben.

Zum umrechnen in PHP gibts dafür „dechex“ oder „hexdec“. Oder der Windows Taschenrechner im Wissenschaftlichen Modus hilft da auch recht gut.

Für’s erste erstell dir einfach ein Script das den String in Dezimalwerte umrechnet:


$instr=chr(34).chr(56).chr(124).chr(64).chr(255);
$newstr="";

for($i=0; $i<strlen($instr); $i++) {
 $newstr.=strtoupper(dechex(ord($instr{$i})))." ";
}
echo $newstr;

Dann solltest du gucken, ob das Protokoll irgendwelches Angebane über Startbytes macht, d.h. Mit welchem Byte eine „übertragung“ beginnt, oder ob es vielleicht mit einem STX/ETX gekapselt ist. Wenn ja kannst du das COMPort Modul entsprechend konfigurieren. Das spart viel Arbeit :slight_smile:

Sobald das erledigt ist, musst du gucken, was nach dem StartByte gekommen ist und laut Protokoll auswerten (Man beachte immer, ob das Protokoll alles in HEX oder DEC angibt!)

Beim Senden geht alles genau andersrum. Dann musst du einen String erstellen, so wie ich es oben bei $instr gemacht habe und rausschicken, per COMPort_SendText.

Grüße, paresy

Hallo,

naja, als erstes musst Du wissen, was da kommt und was steht an welcher Stelle. Als Beispiel:

Man senden an die COM Schnittstelle eine Befehlsfolge 01 01 09 und daraufhin wird der Empfaenger veranlasst, seinerseits Daten zurueckzusenden. Diese hast Du ja dann in Deiner Variablen. Du musst aber wissen, was da genau gekommen ist und an welcher Stelle welches Byte liegt.

Zum Beispiel:
$binaer = GetValueString( „Daten“ ); //ergibt die Binaerdaten aus der Variablen

// setzt den „Muell“ nach HEX um
for ( $i=0; $i < strlen ( $binaer ); $i++) {
$v .= bin2hex ( substr ( $binaer, $i, 1 ) ) ." ";
}

// diese Daten nun in ein Array rein.
$daten = explode ( " ", $v ) );

//und so kommt man dann mit den Daten weiter
SetValueString(„Betriebsstunden“,hexdec($daten[1].$daten[2])." h"); //Ausgabe Betriebsstunden
echo („Betriebsstunden“.hexdec($daten[1].$daten[2])." h"); }

Ich hoffe, das hilft Dir mal als eine kleine Anregung. Es ist aber kein fertiges Script, bitte beachten.

Gruss Torro

Hallo paresy, hallo Torro,

Karneval ist gerettet :stuck_out_tongue:

vielen Dank erstmal für die ich denke für mich nun sehr hilfreichen Hinweise. Werde das am Wochenende mal versuchen umzusetzten.
Es ging mir hier gar nicht direkt um die Umsetzung des Bluetooth-Module v. Reichelt, sondern mehr um den Empfang der Daten des Homeline-Interfaces v. Contr…cs. Ich hatte das schonmal in einem anderem Treat beschrieben. Bisher hatte ich noch gar keinen Anhaltspunkt, wie ich die Daten auslesen könnte, senden war hier eigentlich nicht das Problem. Mir fehlen auch noch viele grundlegende PHP-Fähigkeiten, Array war mir gar nicht bekannt. Es ist vielleicht nicht ideal, mit solchen Problemen zu beginnen, nur leider muß ich dies mit dem Contr…cs Controller zuerst lösen, sonst nutzt mir IPS nix. Die Daten fangen übrigens immer mit einem Startbyte an. Paresy, dir müsste das Protokoll evtl. vorliegen.
Ich hoffe, das ich auf euch nochmal zurück kommen darf, wenn am WE doch nicht so klappt, wie ich mir das vorgestellt habe.

Viele Grüße,

Thomas

Noch mal zu der Bluetooth Reichweite:

Man muss da sehr genau die Klassen unterscheiden. Die 100m Geräte funken siese Distanz laut Serviceunterlagen nur im Freifeld bei ebenem Untergrund. Es ist mit Reichweiten Einbußen bis zu 90% zu rechnen. Das sind immerhin noch 10m unter wiedrigsten Umständen. Das selbe steht bei den 10m Geraten auch. Also 1m im schlimmsten Fall. Wie ich festgestellt habe ist das gen Frühling, wenn die Bäume und Büsche wieder Saft ziehen noch schlechter. Das geschieht im übrigen analog zu allem was funkt. Kenne das auch von Satellitenanlagen, die im Winter besser empfangen. Wenn man nun versucht durch Stahlbeton oder gar ein Blechdach zu funken bin ich mir Sicher, dass das nicht geht. Oder wie ich durch 1m Erdreich diagonal (Teilkeller) - ging auch nicht.

Ich hab das Übertragungswunder BlueFritz am werkeln. Der liegt nun zugänglich über der Beton-Kellerdeck im Fußboden (Luftschicht). Ich schaffe locker durch den Fußboden, eine Zimmerdecke, eine Ex-Feuerschutzwand und eine Außenwand und surfe auf dem Balkon. Ein Bekannter hat sich ein altes Bauernhaus ausgebaut und überträgt Daten diagonal, durch den Fußboden quer durchs Haus - keine Ahnung wie weit… Weit!

Unsere Firmen PDA’s und mein Handy schaffen nur Trockenbauwände… wenn überhaupt. BT ist als nicht gleich BT!

Toni

Bestell-Nr.: MFC 4422-DC/EM - € 124,-

Moin moin zusammen,

Wie ich festgestellt habe ist das gen Frühling, wenn die Bäume und Büsche wieder Saft ziehen noch schlechter. Das geschieht im übrigen analog zu allem was funkt. Kenne das auch von Satellitenanlagen, die im Winter besser empfangen.

Die in unmittelbarer Nähe stehenden Bäume beeinflußen den Satellitenempfang ?
Nicht die Witterungsverhältnisse ?

Gruß

Jörg…

Hallo paresy,

das mit dem Script funktioniert ja schon mal gut, auch wenn ich nicht wirklich weiss, was da gemacht wird. Ein paar Frage dazu hätte ich aber nochmal.

  1. ich bekomme den String nur in HEX geliefert, hätte aber lieber Dec, was muß ich wie verändern und warum (wills ja auch verstehen u. nicht nur abtippen)?

  2. wie kann ich in IPS die Ansicht der Variablenseite so einstellen, das ich den ganzen String sehen kann und nicht nur die ersten 3 Zahlen?

  3. habe im Com-Port Modul den Filter auf das Startbyte gesetzt, dann kommt gar nichts mehr, was muss ich den dort eingeben (hex,dec,bin…)?

Danke für eure Hilfe,

Thomas

Du brauchst eine „Sichtverbindung“ zum Satteliten.

Egal ob Wolken, Bäume, große und kleine Nachbar-Häuser, „Wetterschutz-Plastiktüten“ (sieht man ja immer wieder), Rost oder Moos auf dem Sat-Spiegel… Alles das beeinflusst den Empfang… und zwar zum negativen…:wink:

Toni

Das meinte ich.

Denn wenn die Bäume in unmittelbarer Nähe (aber nicht im Sichtfeld der Schüssel) stehen, haben die doch keinen Einfluß, oder ?

Jörg…

Nein, bei Bluetooth und WLAN und Handys und Radio und … aber auch nicht :wink: