Wiki source code of RS Interface Software

Last modified by Stefan Taferner on 2016/09/01 07:00

Show last authors
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.