Wiki source code of RS Interface Software
Last modified by Stefan Taferner on 2016/09/01 07:00
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | [[image:Technik.Controller_922_4TE@controller4TE 3.53_ 006_200x150.jpg||style="float: right;"]] | ||
2 | |||
3 | === Features === | ||
4 | |||
5 | * Software zur einfachen EIB kommunikation. | ||
6 | * Mit beliebigen LPC Controllern verwendbar. | ||
7 | |||
8 | === Beschreibung === | ||
9 | |||
10 | Dies ist ein EIB RS232 Interface auf Basis der Selfbus LIB und eines LPC-Controllerboards. | ||
11 | |||
12 | Die Schnittstelle ist auf 19.200 Baud,n,8,1 eingestellt. | ||
13 | |||
14 | Vom Bus empfangene Multicast-Telegramme werden in der Form x/x/x=y[CR][LF] an der seriellen Schnittstelle ausgegeben (z.B. 1/5/27=1). Sofern sie nicht gefiltert werden (das ist neu). | ||
15 | |||
16 | Als Hardware kann grundsätzlich jede LPC Controller Schaltung verwendet werden, wie der [[4TE Controller>>Technik.Controller_922_4TE]], der [[2TE Controller>>Technik.Controller_922_2TE]] oder das [[Einbaumodul>>Geräte.Eingänge.Einbaumodul]]. Auch der [[FT1.2 Adapter für den Raspberry Pi>>FT12_Raspi]] ist verwendbar. | ||
17 | |||
18 | [[image:Main.Icons@icon_warning_128.png||style="float: left;" width="40"]]Es ist dringend anzuraten den Controller galvanisch vom PC zu entkoppeln. Beim FT1.2 Adapter für den Raspberry Pi ist das schon so. Bitte unbedingt Optokoppler verwenden. | ||
19 | |||
20 | === Downloads === | ||
21 | |||
22 | [[[[image:Main.Icons_22@icon_binary_22.png||style="vertical-align: bottom;" width="22"]]RS-Lib Firmware>>url:https://raw.github.com/selfbus/software/master/RS232_lib/Release/RS232_lib.hex||rel="__blank"]] zur Kommunikation mit dem Bus. | ||
23 | |||
24 | === Befehle === | ||
25 | |||
26 | Folgende Kommandos können an das Interface gesendet werden, jeweils durch ein CR abgeschlossen: | ||
27 | |||
28 | |=Befehl|=Beispiel|=Beschreibung | ||
29 | |fbs01/BB/L/TTT=0 oder 1|fbs01/0/0/1=1<CR>|sendet ein EIS1 Telegramm auf den Bus | ||
30 | BB/L/TTT ist die Gruppenadresse | ||
31 | schaltet Gruppenadresse 0/0/1 ein | ||
32 | |fbs02/BB/L/TTT=[u/d][0..7]|fbs02/0/1/12=u3<CR>|sendet ein EIS2 Telegramm auf den Bus | ||
33 | u= up heller oder aufwärts | ||
34 | d= down dunkler oder abwärts | ||
35 | 0= stop 1=100%,2=50%,3=25%, | ||
36 | 4=12%,5=6%,6=3%,7=1% | ||
37 | |fbs03/BB/L/TTT=0..7,hh:mm:ss|fbs03/7/3/12=2,04:09:45|Sendet ein Zeit Telegramm. | ||
38 | Tag 0=kA,1= Mo,2=DI...7=SO. | ||
39 | führende Nullen mit eingeben! | ||
40 | |fbs04/BB/L/TTT=dd.mm.yy|fbs04/7/5/212=18.10.12|Sendet ein Datums Telegramm. | ||
41 | führende Nullen mit eingeben! | ||
42 | |fbs05/BB/L/TTT=[-671 088.64 ...... | ||
43 | 0...670 760.96]|fbs05/7/2/128=12,4<CR>|sendet ein EIS5 Telegramm | ||
44 | z.b. für Temperatur-, Helligkeitswerte | ||
45 | |fbs06/BB/L/TTT=[0..255]|fbs06/2/1/30=128<CR>|sendet ein EIS6 Telegramm, | ||
46 | z.b. für Dimmwerte | ||
47 | |fbs15/BB/L/TTT=[A-Z,a-z,0-9]|fbs15/1/3/230=Hallo Welt<CR>|sendet ein EIS15 Telegramm, für Ascii Texte, max. 14 Zeichen | ||
48 | |fbsfa/BB/L/TTT|fbsfa/14/7/1<CR>|trägt die GA in die Filtertabelle ein UND | ||
49 | setzt den FILTERMODUS . | ||
50 | |fbka|fbka<CR>|Löscht alle Einträge der Tabelle und löscht FILTERMODUS | ||
51 | |fbrpa|fbrpa<CR>|lesen der physikalischen Adresse des Adapters | ||
52 | |fbspaXX.XX.XXX|fbspa1.1.250<CR>|Setzt die physikalische Adresse des Adapters | ||
53 | |fbrgaBB/L/TTT|fbrga12/0/10<CR>|liest den gespeicherten Wert einer Gruppenadresse aus der Tabelle | ||
54 | |fbrvaBB/L/TTT|fbrva12/0/10<CR>|Sendet ein Lesetelegramm an den Bus, sodass ein Gerät mit gesetztem Leseflag mit seinem Value antwortet (Vom Bus lesen). | ||
55 | |fblist|fblist<CR>|gibt die interne Tabelle der GA aus, bis diese auf einen freien Speicherplatz trifft, der mit der GA 15/7/255 markiert ist. Danach ein 'OK\n' * Interface muss mit fbka initialisiert sein! | ||
56 | |fbdump|fbdump<CR>|gibt die interne Tabelle der GA hexadezimal immer komplett aus. | ||
57 | |fbfm=[0..1]|fbfm=0<CR>|setzt/löscht den Filtermodus | ||
58 | |fbsbr[115200,57600, 19200,9600]|fbsbr9600<CR>|setzt die Baudrate der Schnittstelle, diese wird im Flash ausfallsicher gespeichert. | ||
59 | |fbsec|fbsec$|Das Escape zeichen ist jetzt $. Der ASCII Modus aktiv. | ||
60 | |Folgendes gilt nur wenn|das ESC zeichen nicht|' f ' ist: | ||
61 | |<ESC>bsgaBB/L/TTT|<ESC>bsga5/1/125|Setzt die Gruppenadresse ausfallsicher auf die der Text gesendet wird.(Alle Befehle müssen statt mit ' f ', mit<ESC> beginnen.) | ||
62 | <ESC> ist frei wählbar. Bsp: $brpa | ||
63 | | Text <CR>| Hallo Welt<CR>|Hallo Welt wird auf auf die gespeicherte GA gesendet | ||
64 | | Text >14 Zeichen| irgend ein langer Text|nach Empfang des 14. zeichens wird der Text auf die gespeicherte GA gesendet. | ||
65 | |||
66 | Das RS-Interface speichert kontinuierlich die Werte aller^^(*)^^ Gruppenadressen | ||
67 | die sie empfängt oder selbst sendet. Und zwar bis zu 62 verschiedene GA, danach | ||
68 | wird verworfen. Man kann jederzeit den Wert auslesen, ohne ein Telegramm auszulösen. | ||
69 | |||
70 | (*) Im FILTERMODUS=1 werden die Adressen gesendet und deren Wert nur gesichert | ||
71 | wenn die zugehörige GA schon in der Filtertabelle enthalten ist. | ||
72 | Es können nur GA's die nicht größer als 2 Byte, gespeichert werden. | ||
73 | Ferner werden vom BUS nur in der Filtertabelle enthaltene GA's durchgelassen. |