gradtje
Ja... en toen ?
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.
Roland van Leusden
It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.
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?
gradtje
Ja... en toen ?
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?
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.
