Misschien kun je de K8055D.dll aansturen in VBS middels ASP in IIS. (das een leuke zin voor een leek)

Als iemand me kan vertellen hoe ik dat moet doen dan zou ik best wel vrolijk daarvan worden want VB ken ik ook niet.
Velleman legt in de handleiding voor de K8055D.dll ook bijna niet uit hoe je deze implementeerd.

Ik had gehoopt snel klaar te zijn wat software betreft maar nu vrees ik dat ik eerst een programmeertaal moet gaan leren en dan nog vele avonden kwijt ben om een interface te bouwen.

Ik weet dat je met VB NET een ASP.NET Web Application kunt maken, dan zul je die DLL van Velleman ook wel kunnen gebruiken. Heb hier zelf geen ervaring mee.

http://samples.gotdotnet.com/quickstart/aspplus/doc/stateoverview.aspx

[Bericht gewijzigd door Roland van Leusden op ]

Nou GTST is niet echt een van mijn dagelijkse bezigheiden, ALS ik al tijd zou hebben zou ik zeker niet achter de TV gaan hangen, probleem is dat ik bijna geen tijd heb en ook nog eens een compleet niet relevante opleiding erbij volg. Ik wil me er wel in verdiepen maar t moet wel leuk blijven...

Ik heb eens even gekeken op die w3schools ASP cursus en zoals ik begrijp kun je gewoon in Jscript code schijven, er staan voorbeelden bij van b.v. radiobuttons, als ik voor die Velleman DLL opzoek wat de commandos zijn kan ik dat Response.Write dus vervangen door b.v. sent to port? en dan spreek het javascript in de ASP van IIS dus gewoon de DLL aan die de print bedient?

Maw ik bouw gewoon een ASP pagina met knopjes en als ik die pagina bezoek kan ik gewoon de interface besturen?

Als dat is wat je wilt, moet je hier even kijken.
http://www.janw.easynet.be/pic18f452.html

En op mijn eigen site, iets simpeler wel:

www.xs4all.nl/~gradtje en dan internet remote, trouwens je zou hier even naar de asp kunnen kijken.

Bovenstaande is in theorie wel juist, maar de moeilijkheid zit even in het aanspreken van de dll. Ik heb geprobeerd snel wat docu van die dll te vinden, maar niet dus, dus kan er niet zo heel veel zinnigs over zeggen.

gradtje, jouw oplossing is best wel n mooie. Maar waarom heb ik het idee dat ik niet de enige ben die die klik aan klik uit dingen wil gebruiken :-|

Ik ben het volgende van plan :

Ik heb een paralelle interface 8x out 2x in en de Velleman k8055. Die laatste wil ik aan de server knopen.

Nu had ik gedacht om de in en outputs hiervan als volgt te gaan gebruiken:

Digitaal uit : 4x relails in wisselschakeling voor het bedien van 2 motortjes (links en rechtsom) en 4 reed relais, deze kunnen de druktoetsen van de klik aan klik uit vervangen. Moch ik 1 relais overhebben kan ik daar nog een solid state relais aan knopen.

Analoog (PWM) uit : 2x mosFET aan de uitgang voor het aansturen van 12v motoren.

Analoog in (1x ldr voor t meten van licht en misschien nog n temperatuurmeting)

Digitaal in : 1x lichtsluis voor b.v. het meter van verkeer in de staat of naar je voordeur. 1x bewegingsmelder en overige ingangen voor te checken welke aparaten er aanstaan.

Uiteraard zijn de uitgangen het leukste.

Nu werkt dat niet via die exe die je gebouwd had, maar moet ik dus in ASP de DLL gaan aanroepen. Kan ik hier t beste Javascript of VBscript voor gebruiken?

En waarom heb je bij jouw tool die Groepen?

Wat ik verder nog moet hebben is dat het programma een puls geeft van ongeveer 1 of 2 sec voor het aan of uit schakelen, anders blijft de zender constant zenden.
Dus als ik op aan klik moet ik een puls van 2 sec "1" hebben en als ik op uit klik weer 2 sec "1"
Of gewoon 1 knop met "schakelen" maken.

Ergens heb ik het idee dat dit verwarrend zal zijn...

Ik moet zeggen dat die kaart wel een hele mooie oplossing is, wat heeft ie gekost?

Wat betreft je conclusies:

1 - Als je 2 setjes van die remote controllers koopt kun je 1 afstandbediening aan de PC knopen en de andere gewoon gebruiken om de zaak te besturen als je thuis bent.

2 - Genoeg wegen en omwegen om een login systeempje te maken.

Echter, misschien is gradtje zo aardig om alle K8055 bezitters een plezier te doen om samen met mij een ASP collectie te maken waarmee deze DLL kan worden aangstuurd?

gradtje, jouw oplossing is best wel n mooie. Maar waarom heb ik het idee dat ik niet de enige ben die die klik aan klik uit dingen wil gebruiken :-|
*Dank je ! Nou omdat we allemaal lui zijn en geldgebrek hebben :)
<KNIP>
Uiteraard zijn de uitgangen het leukste.
Ik zou klein beginnen, één lampje ofzo de rest komt dan vanzelf.

Nu werkt dat niet via die exe die je gebouwd had, maar moet ik dus in ASP de DLL gaan aanroepen. Kan ik hier t beste Javascript of VBscript voor gebruiken?

*Ja die exe is een omweg omdat ik mijn DLL niet vanuit vbs kon aansturen, jij kunt een zelfde constructie gebruiken indien nodig. Het maakt niet uit of het vbs of jscript is, maar ik heb geen ervaring in jscript.

En waarom heb je bij jouw tool die Groepen?
*(De klik-aan-uit kunnen op vier "kanalen" gezet worden, enerzijds om ruzie met de buren te voorkomen, anderzijds om meer gebruikers te kunnen suren. Op de ab kun je steeds 3 gebruikers schakelen, de groepen selecteer je door een schakelaar. Je ziet snel genoeg wat ik bedoel als je de klik-aans in huis hebt.

Wat ik verder nog moet hebben is dat het programma een puls geeft van ongeveer 1 of 2 sec voor het aan of uit schakelen, anders blijft de zender constant zenden.
Dus als ik op aan klik moet ik een puls van 2 sec "1" hebben en als ik op uit klik weer 2 sec "1"
Of gewoon 1 knop met "schakelen" maken.

*Dit is echt even zorg voor later, als je eerst maar in staat bent de kaart via asp aan te sturen. Tegen die tijd heb je al tig oplossingen voor dit gevonden :)

Ergens heb ik het idee dat dit verwarrend zal zijn...[/quote]

Zou je me de docu en de dll kunnen mailen ? Kijk ik wat ik kan doen... (geen beloftes overigens)

Geen probleem, alleen kreeg ik misschien een verkeerde indruk.

Wel opletten want Velleman heeft voor de K8055 een nieuwe dll ;) uitgebracht waarbij er eentje is die via VC++ en vermoedelijk dus ook rechtstreeks via Java aan te spreken is.

http://www.velleman.be/downloads/files/Downloads/K8055_DLL2.zip

Oke, ik hen nu iets gebouwd dat via de gradtje methode bestuurd moet worden. Via een command line progje dus.

program K8055;

{$APPTYPE CONSOLE}

uses
SysUtils;

function OpenDevice(CardAddress: Longint): Longint; stdcall; external 'K8055d.dll';
procedure CloseDevice; stdcall; external 'K8055d.dll';
function ReadAnalogChannel(Channel: Longint):Longint; stdcall; external 'K8055d.dll';
procedure ReadAllAnalog(var Data1, Data2: Longint); stdcall; external 'K8055d.dll';
procedure OutputAnalogChannel(Channel: Longint; Data: Longint); stdcall; external 'K8055d.dll';
procedure OutputAllAnalog(Data1: Longint; Data2: Longint); stdcall; external 'K8055d.dll';
procedure ClearAnalogChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure ClearAllAnalog; stdcall; external 'K8055d.dll';
procedure SetAnalogChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure SetAllAnalog; stdcall; external 'K8055d.dll';
procedure WriteAllDigital(Data: Longint);stdcall; external 'K8055d.dll';
procedure ClearDigitalChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure ClearAllDigital; stdcall; external 'K8055d.dll';
procedure SetDigitalChannel(Channel: Longint); stdcall; external 'K8055d.dll';
procedure SetAllDigital; stdcall; external 'K8055d.dll';
function ReadDigitalChannel(Channel: Longint): Boolean; stdcall; external 'K8055d.dll';
function ReadAllDigital: Longint; stdcall; external 'K8055d.dll';
function ReadCounter(CounterNr: Longint): Longint; stdcall; external 'K8055d.dll';
procedure ResetCounter(CounterNr: Longint); stdcall; external 'K8055d.dll';
procedure SetCounterDebounceTime(CounterNr, DebounceTime:Longint); stdcall; external 'K8055d.dll';

begin

if (ParamStr(1) = 'open') then
OpenDevice(0);
if (ParamStr(1) = 'close') then
CloseDevice;

if (ParamStr(1) = 'datauit1on') then
SetDigitalChannel(1);
if (ParamStr(1) = 'datauit2on') then
SetDigitalChannel(2);
if (ParamStr(1) = 'datauit3on') then
SetDigitalChannel(3);
if (ParamStr(1) = 'datauit4on') then
SetDigitalChannel(4);
if (ParamStr(1) = 'datauit5on') then
SetDigitalChannel(5);
if (ParamStr(1) = 'datauit6on') then
SetDigitalChannel(6);
if (ParamStr(1) = 'datauit7on') then
SetDigitalChannel(7);
if (ParamStr(1) = 'datauit8on') then
SetDigitalChannel(8);

if (ParamStr(1) = 'datauit1off') then
ClearDigitalChannel(1);
if (ParamStr(1) = 'datauit2off') then
ClearDigitalChannel(2);
if (ParamStr(1) = 'datauit3off') then
ClearDigitalChannel(3);
if (ParamStr(1) = 'datauit4off') then
ClearDigitalChannel(4);
if (ParamStr(1) = 'datauit5off') then
ClearDigitalChannel(5);
if (ParamStr(1) = 'datauit6off') then
ClearDigitalChannel(6);
if (ParamStr(1) = 'datauit7off') then
ClearDigitalChannel(7);
if (ParamStr(1) = 'datauit8off') then
ClearDigitalChannel(8);

if (ParamStr(1) = 'analoguit1') then
OutputAnalogChannel(1, (StrToInt(ParamStr(2))));
if (ParamStr(1) = 'analoguit2') then
OutputAnalogChannel(2, (StrToInt(ParamStr(2))));

end.

Het probleem is nu dat als je het programma opstart en een uitgang wil omzetten of een analoge uitgang wil instellen alle vorige waarden wegvallen omdat de kaar telkens opniew geopend moet worden met OpenDevice, hij reset dan alle waarden.