BTkit und V2

Für alle die das BTKit auch noch rumliegen habe stell ich das mal als Anstoß rein.

Wenn mann sich die Doku zum BtKit mal etwas genauer ansieht kann mal über eine serielle Verbindung alle Funktionen steuern.

Dazu BtKit an PC koppeln und Virtuellen Bluetooth ComPort (115200,8,1,N) im IPS einrichten

Zum Test habe ich ein XML File auf das BtKit geladen. (Geht entweder über die Java Software oder einfach unter XP mit senden an Bluetooth.)

Das XML Konfig File stellt alle Ports auf Digital. (sollte auch mit Analogen Ports funktionieren)
Zum setzen der Ports ist nur der erste Teil nötig <device …/device>
Der Teil zwischen <gui>…</gui> findet nur bei der original Java Software Anwendung.

<?xml version="1.0" encoding="UTF-8" ?> 
<!-- default.xml -->
<btkit version="1.0">
  <device btname="BT HomeControl">
    <port dir="output" type="digital" id="0" pins="a.0" init="0" save="true" /> 
    <port dir="output" type="digital" id="1" pins="a.1" init="0" save="true" /> 
    <port dir="output" type="digital" id="2" pins="a.2" init="0" save="true" /> 
    <port dir="output" type="digital" id="3" pins="a.3" init="0" save="true" /> 
    <port dir="output" type="digital" id="4" pins="a.4" init="0" save="true" /> 
    <port dir="output" type="digital" id="5" pins="a.5" init="0" save="true" /> 
    <port dir="output" type="digital" id="6" pins="a.6" init="0" save="true" /> 
    <port dir="output" type="digital" id="7" pins="a.7" init="0" save="true" /> 
    
    <port dir="output" type="digital" id="10" pins="b.0" init="0" save="true" /> 
    <port dir="output" type="digital" id="11" pins="b.1" init="0" save="true" />
    <port dir="output" type="digital" id="12" pins="b.2" init="0" save="true" /> 
    <port dir="output" type="digital" id="13" pins="b.3" init="0" save="true" /> 
    <port dir="output" type="digital" id="14" pins="b.4" init="0" save="true" /> 
    <port dir="output" type="digital" id="15" pins="b.5" init="0" save="true" /> 
    <port dir="output" type="digital" id="16" pins="b.6" init="0" save="true" /> 
    <port dir="output" type="digital" id="17" pins="b.7" init="0" save="true" /> 
  </device>
<gui>
   
    <list name="Schalter 1">
   
      <button name="Schalter A0" portid="0" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter A1" portid="1" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter A2" portid="2" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter A3" portid="3" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter A4" portid="4" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter A5" portid="5" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter A6" portid="6" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter A7" portid="7" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      
      <button name="Schalter B0" portid="10" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter B1" portid="11" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter B2" portid="12" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter B3" portid="13" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter B4" portid="14" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter B5" portid="15" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter B6" portid="16" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
      <button name="Schalter B7" portid="17" defaultlabel="--">
        <option label="On" value="1" /> 
        <option label="Off" value="0" /> 
      </button>
   
   </list>
   
   <list name="Schalter 2">
   
		<button name="Toggle A0" portid="0" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle A1" portid="1" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle A2" portid="2" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle A3" portid="3" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle A4" portid="4" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle A5" portid="5" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle A6" portid="6" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle A7" portid="7" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
      	
		<button name="Toggle B0" portid="10" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle B1" portid="11" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle B2" portid="12" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle B3" portid="13" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle B4" portid="14" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle B5" portid="15" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle B6" portid="16" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>
		<button name="Toggle B7" portid="17" mode="toggle" defaultlabel="---">
         <option label="On " value="1" /> 
         <option label="Off" value="0" /> 
      	</button>

    </list>
</gui>
</btkit>

Zum Testen ein einfaches Lauflicht

<?
/*
=========================================================================
File     : BTKit.ips.php
Trigger  :
=========================================================================*/
// Settings

//		Set Port 0 off <event portid="0" value="0"/>
//		Set Port 0 on  <event portid="0" value="1"/>


// set Ports to 1
$value=1;

for ($i=0; $i<8; $i++)
{
	$port=$i;
	COMPort_SendText(42794 /*[COM 7 - BTkit]*/, chr(60)."event portid=".chr(34).$port.chr(34)." value=".chr(34).$value.chr(34)."/>");
	sleep(1);
}
for ($i=10; $i<18; $i++)
{
	$port=$i;
	COMPort_SendText(42794 /*[COM 7 - BTkit]*/, chr(60)."event portid=".chr(34).$port.chr(34)." value=".chr(34).$value.chr(34)."/>");
	sleep(1);
}

$value=0;   // set Ports to 0
for ($i=0; $i<8; $i++)
{
	$port=$i;
	COMPort_SendText(42794 /*[COM 7 - BTkit]*/, chr(60)."event portid=".chr(34).$port.chr(34)." value=".chr(34).$value.chr(34)."/>");
	sleep(1);
}
for ($i=10; $i<18; $i++)
{
	$port=$i;
	COMPort_SendText(42794 /*[COM 7 - BTkit]*/, chr(60)."event portid=".chr(34).$port.chr(34)." value=".chr(34).$value.chr(34)."/>");
	sleep(1);
}



?>

(ich weis der Code geht schöner und einfacher aber ist nur als Demo gedacht)

Über die Debug Funktion am Com Port kann man auch die IR Befehle auslesen (FB auf BtKit richten und Taste drücken)

Debug Ausgabe:

Schickt man das dann wieder an das BtKit, funktioniert auch das senden über IR.

<?
/*
=========================================================================
File     : BTKitITsend.ips.php
Trigger  :
=========================================================================*/
// Settings

//		<irsend repeat="2" base="7774" code="11030004011002aa0000"/>

	COMPort_SendText(42794 /*[COM 7 - BTkit]*/, chr(60)."irsend repeat=".chr(34)."5".chr(34)." base=".chr(34)."7774".chr(34). " code=".chr(34)."11030004011002aa0000".chr(34)."/>");

?>

Gruß
astrastar