Page 2 of 9

Posted: Sat Nov 24, 2007 9:11 am
by Bouwer66
Ik ben klaar met de proof of concept en alles werkt !!! :D

Zoals ik hoger al schreef: je hebt dus GEEN communicatie interface nodig.

De bij het PACK bijgeleverde USB kabel heeft een geintegreerde USB-to-Serial chip. Die driver installeer je , bij mij gaf dat dan een COM7 poort en dan kan je inderdaad via het protocol dat in de help staat met Zelio communiceren.

Je hebt 24 adressen en op elk ervan kan je een woord schrijven - 16 bits.
Ik heb een programmaatje geupload waarmee ik een uitgang kan schakelen zowel via de Zelio ingang (schakelaar) als door het schrijven van een byte op de seriele interface. Ik gebruik 2 bits per uitgang - 1 om die te zetten of en 1 om die te clearen.

Het geheel werkt schitterend. Nu nog een simpel programmaatje schrijven om willekeurige byte naar willekeurig adres te schrijven met zelio (checksum algoritme implementeren).

Ik heb een mini ITX je op de kop getikt inclusief voeding voor 135 euro. Het ding heeft genoeg USB poorten - volledige touchscreen/bluetooth gestuurde domotica voor amper 1500 euro - HET KAN ! :

Een paar fotootjes van mijn testopstelling:
http://users.edpnet.be/zeratul/poc/
Het dunne draadje is de schakelaar (een simpel drukknopje)
Op het suikertje komt de 230volt binnen. Die gaat naar de voeding (de goedkope 24volt voeding, omdat de zelio voeding belachelijk veel duurder was) en naar de lamp.
De Q1 en Q2 uitgangen heb ik verbonden met de lamp en de suiker en de 24volt met Zelio en schakelaar. De seriele kabel zit in zijn plaats in de voorkant van de Zelio.
Op het scherm van de laptop (niet zo heel duidelijk) zie je de reeks bytes die ik stuur om de laptop te schakelen - ik heb een seriele terminal programmaatje gebruikt (Hercules) met de juiste com poort instellingen.

Wat ik ook nog moet doen is een Zelio programmaatje schrijven om de status van uitgangen uit te lezen. Kan niet moeilijk zijn met SLout ipv SLin.

Re:

Posted: Sat Nov 24, 2007 10:03 am
by Alfred
Petje af,

Net ook eens geprobeerd,
Het lukt me om de waarde van het voorbeeld op het scherm te laten verschijnen.

het lukt me wel niet om de cheksum te berekenen.
Hoe doe je dit?

Re:

Posted: Sat Nov 24, 2007 10:11 am
by Bouwer66
Alfred wrote:Petje af,

Net ook eens geprobeerd,
Het lukt me om de waarde van het voorbeeld op het scherm te laten verschijnen.

het lukt me wel niet om de cheksum te berekenen.
Hoe doe je dit?
Dat moet ik ook nog doen - ik heb voorlopig het voorbeeld gebruikt uit de help (adres 3 en een zeker getal schrijven)
De berekeningsformule staat toch in de help ?
Een reeks bytes optellen, dan er 2 bijdoen, dan het complement nemen .. moet toch lukken, niet ?
Enfin, dit is bij mij voor morgen ofzo gepland. Vandaag helaas geen tijd meer.

Re:

Posted: Sat Nov 24, 2007 10:13 am
by Alfred
idd maar wat is een complement

Re:

Posted: Sat Nov 24, 2007 10:19 am
by Bouwer66
Alfred wrote:idd maar wat is een complement
gewoon alle bits flippen denk ik
0000-> FFFF
0001 -> FFFE
etc

Re:

Posted: Sat Nov 24, 2007 10:47 am
by Alfred
[quote="Bouwer66]
gewoon alle bits flippen denk ik
0000-> FFFF
0001 -> FFFE
etc[/quote]

Na een beetje puzzelen tot de volgende conclusie gekomen
adh van het voorbeeld;
Hex | Dec | Bin
1AE = 430 = 110101110
Complement:
51 = 81 = 001010001
2 bijtellen
53 = 83 =001010011

Posted: Mon Nov 26, 2007 10:28 am
by koen
misschien moet ik (als Millenium III-gebruiker) dit forum ook maar eens volgen. Als ik de pics van Bouwer66 bekijk, dan kan ik alleen maar vaststellen dat de layout van die Zelio KNAL dezelfde is als bij de M3 van Crouzet. 9 kansen op 10 is dat communicatie-protocol ook hetzelfde. :)

Posted: Mon Nov 26, 2007 12:26 pm
by Bouwer66
Ik ben momenteel bezig met het schrijven van een Java programma als client side interface. Door een paar problemen met stack overflows in de native library RTXTcomm is dat voorlopig nog niet klaar.

De chip die in de USB->Serial convertor zit is een SGS Thomson Microelectronics
met USB ID 0483:7270. Onder linux nog niet direct aan de praat gekregen, mogelijks zal ik zelf de driver moeten schrijven.

Alternatief voor de hele dure kabel (ik heb er nog maar 1 en 3 zelios) zou zijn om de seriele pins rechtstreeks te wiren op de zelio's. Dat moet zeker lukken. en dan kan ik 1 doodgewone 10 euro usb/serieel convertor gebruiken, en de beschikbare com poort op de mini itx aansluiten op de 3de zelio.

Re:

Posted: Mon Nov 26, 2007 4:30 pm
by Bouwer66
koen wrote:misschien moet ik (als Millenium III-gebruiker) dit forum ook maar eens volgen. Als ik de pics van Bouwer66 bekijk, dan kan ik alleen maar vaststellen dat de layout van die Zelio KNAL dezelfde is als bij de M3 van Crouzet. 9 kansen op 10 is dat communicatie-protocol ook hetzelfde. :)
Uit deze link op ST forum (wel eerst registreren) haal ik dat Crouzet Millenium inderdaad volledig dezelfde kabel heeft - met zelfde USB ID etc.
http://www.st.com/mcu/modules.php?&name ... topic=4965

Kans dat het hele protocol gelijk is bestaat wel.

Posted: Mon Nov 26, 2007 7:57 pm
by Bouwer66
De pinout voor de crouzet millenium heb ik gevonden:
http://www.crouzet-usa.com/downloads/mi ... 2modem.pdf

Ik heb de USB kabel eens opengemaakt. Op de chip staat
ST72F651
AR6T1E22ORM VP
MLT22710

Deze chip is een ST Microelectronics met 32Kb flashram.
De datasheet heb ik hier gevonden http://www.datasheetcatalog.com/datashe ... F651.shtml

Het ding lijkt echter een willekeurige USB chip - waar je vanalles mee kan maken - o.a. mass storage devices of usb serial convertors. Dat maakt het wel een stuk lastiger om een driver te implementeren. Ik ga toch nog eens onderzoeken met mijn voltage meter of ik de pinout niet kan reverse engineeren.

Posted: Mon Nov 26, 2007 9:24 pm
by Bouwer66
Hoera - vergeet wat ik hierboven schreef - alles werkt nu ook onder linux! 8)

Na wat graven en uitproberen: linux heeft blijkbaar een standaard usbserial_generic driver waar je zelf een USB vendor en product id aan kan geven. Die driver doet het perfect!

Als bij het inpluggen van de zelio cable de cdc_acm module wordt geladen moet je die rmmod-en (mijn kubuntu herkent die verkeerdelijk als een usb modem en laadt dat stuurprogramma, je krijgt dan een /dev/ttyACM0 die niet werkt).

Hoe moet het wel, very simple:

modprobe usbserial vendor=0x0483 product=0x7270

En lampje aan is dan doodsimpel:
ttylog -b 115200 -f -d /dev/ttyUSB0 & (dit is gewoon om baudrate juist te zetten)
echo \":01100000FF0202217953\"\\n > /dev/ttyUSB0
:idea:

De kernel logt:
usbserial_generic 2-2:1.0: generic converter detected
usbserial_generic 2-2:1.0: Generic device with no bulk out, not allowed.
usbserial_generic: probe of 2-2:1.0 failed with error -5
usbserial_generic 2-2:1.1: generic converter detected
usb 2-2: generic converter now attached to ttyUSB0
usbcore: registered new interface driver usbserial_generic


Oef, eventjes was ik bang geweest dat ik domotica installatie (tijdelijk) op Windows zou moeten draaien. Gelukkig, de nachtmerrie van crashende verlichtingsinstallatie blijft me bespaard 8)

Posted: Tue Nov 27, 2007 10:52 am
by roeln
goe bezig jeroen.
het enthousiasme druipt er af...
wel blijven ademen he :wink:

Re:

Posted: Tue Nov 27, 2007 10:56 am
by Bouwer66
roeln wrote:goe bezig jeroen.
het enthousiasme druipt er af...
wel blijven ademen he :wink:
;)
Al vooruitgang gemaakt met de logo's ?

Posted: Tue Nov 27, 2007 1:15 pm
by roeln
ja hoor alles werkt. Tof
ben aan het wachten op de keuring. Als 't (goed)gekeurd is post ik hier nen uitleg met foto's.
infotainment system met koppeling naar logo's zal wel nog even op zich moeten wachten ... voorlopig werk met hogere prioriteit genoeg : deuren zetten, gyproc, plinten, baby, ...

Re:

Posted: Tue Nov 27, 2007 1:59 pm
by Bouwer66
roeln wrote:ja hoor alles werkt. Tof
ben aan het wachten op de keuring. Als 't (goed)gekeurd is post ik hier nen uitleg met foto's.
infotainment system met koppeling naar logo's zal wel nog even op zich moeten wachten ... voorlopig werk met hogere prioriteit genoeg : deuren zetten, gyproc, plinten, baby, ...
Hoe ga je de koppeling naar logo's doen ? via inputs ? Of toch via seriele kabel?