styrning av microcontroller via rs232 i internet explorer.
styrning av microcontroller via rs232 i internet explorer.
Hej hopp, jag håller på och utvecklar en microcontroller som skall styra ett antal reläer. Styrningen av microcontrollern är tänkt att ske via en webklient, vilket är mitt dilemma.
Webclienten är kopplad till en extern webserver och beroende på olika vilkor skall använadren av klienten kunna skicka en signal till comporten på den lokala datorn.
Min fråga till er finns det nått lätt sätt att göra detta utan att behöva installera en lokal webserver på webclienten. Då jag har tänkt att köra på en tunn klient utan hårddisk.
Jag har tittat lite på activex/java applets men det ligger utanför min kunskapsområde.
Tips är välkommna.
Webclienten är kopplad till en extern webserver och beroende på olika vilkor skall använadren av klienten kunna skicka en signal till comporten på den lokala datorn.
Min fråga till er finns det nått lätt sätt att göra detta utan att behöva installera en lokal webserver på webclienten. Då jag har tänkt att köra på en tunn klient utan hårddisk.
Jag har tittat lite på activex/java applets men det ligger utanför min kunskapsområde.
Tips är välkommna.
Du vill alltså att webservern skall skicka något till browsern som får browsern att skriva något till COM porten ? Eller att användaren som sitter framför browsern skall kunna klicka på något som får browsern att göra samma sak ? (Är väll i princip ingen skillnad...)
Jag är lite på tunn is här, men har du kollat vad t.ex javascript erbjuder ? Eller kanske javascript har samma "problem" som "activex/java"
Jag är lite på tunn is här, men har du kollat vad t.ex javascript erbjuder ? Eller kanske javascript har samma "problem" som "activex/java"

java script kan ej kommunicera med rs232 och man kan inte heller dra igång en lokal exe fil. Det gick att köra igång exe filer innan internet explorer 4.0 har jag för mig att jag läste, med hjälp av shell API.
Ja användaren skall få en knapp att trycka på och då skall kommunikation mot
com porten ske.
Ja användaren skall få en knapp att trycka på och då skall kommunikation mot
com porten ske.
Varför måste du använda en webläsare överhuvudtaget? Varför inte smälla ihop nåt med Java (Java alltså, inte javascript) eller VB?
Låter onödigt komplicerat att använda server/klientbaserad teknik för att bara skicka något lokalt till serieporten, speciellt om du iaf skall använda ActiveX eller nån typ av exekverbar fil i webbläsaren.
Mats
Låter onödigt komplicerat att använda server/klientbaserad teknik för att bara skicka något lokalt till serieporten, speciellt om du iaf skall använda ActiveX eller nån typ av exekverbar fil i webbläsaren.
Mats
Jag måste använda en webläsare då hela den andra designen är byggd för internet explorer. Utveckla en egen webbrowser är också utanför mitt kompetensområde =)
rs232 delen är en mycket liten del i projektet, men just nu så har jag kört fast.
kretsen är färdig designad, bara web browser som är elak och har massa säkerhets patchar som jag ej vill ha. Får väll testa o installera internet explorer 4:a om det nu ens är möjligt.
rs232 delen är en mycket liten del i projektet, men just nu så har jag kört fast.
kretsen är färdig designad, bara web browser som är elak och har massa säkerhets patchar som jag ej vill ha. Får väll testa o installera internet explorer 4:a om det nu ens är möjligt.
- JimmyAndersson
- Inlägg: 26578
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
Jag är också i behov av att få en websida att prata med extern elektronik.
(I mitt fall så har jag gjort ett javascript som har koll på vissa tv-program jag vill spela in. Vill även kunna styra videon från en webbläsare.)
Kan Perl kommunicera med RS232 förresten?
Vet inte riktigt om elektroniken ska sitta vid webbservern eller vilken sorts server som körs, men:
CGI/Perl kan ju skapa och ändra filer. (Det är ganska lätt att göra sådan program tillochmed). Man kanske skulle kunna ha dessa filer som länk mellan en webläsare och ett separat styrprogram som skickar olika saker till elektroniken beroende på innehåll i filen.
Ska man kunna ha elektroniken vid någon dator som inte är en server, så kan man ju installera Perl där. Vet däremot inte om man då kunde styra den från en annan dator på internet.
Kommentarer?
(I mitt fall så har jag gjort ett javascript som har koll på vissa tv-program jag vill spela in. Vill även kunna styra videon från en webbläsare.)
Kan Perl kommunicera med RS232 förresten?
Vet inte riktigt om elektroniken ska sitta vid webbservern eller vilken sorts server som körs, men:
CGI/Perl kan ju skapa och ändra filer. (Det är ganska lätt att göra sådan program tillochmed). Man kanske skulle kunna ha dessa filer som länk mellan en webläsare och ett separat styrprogram som skickar olika saker till elektroniken beroende på innehåll i filen.
Ska man kunna ha elektroniken vid någon dator som inte är en server, så kan man ju installera Perl där. Vet däremot inte om man då kunde styra den från en annan dator på internet.
Kommentarer?
Detta kanske är ett alternativ ?
http://www.beck-ipc.com/ipc/index.asp?sp=en
En liten integrerad webserver med ethernet och två serieportar.
/Johan
http://www.beck-ipc.com/ipc/index.asp?sp=en
En liten integrerad webserver med ethernet och två serieportar.
/Johan
Ja så länge som man kan ha en server så är ju allt lätt, t.ex kan man använda dena lilla http server som är byggd för rs232 kommunikatin. Den kostar ungefär 250skr, men det är det värt om man har användning för den.
http://www.easyvitools.com/ezcom2web/index.html
Perl kan ej prata direkt med rs232 men perl kan starta andra program som sköter kommunikationen.
http://www.easyvitools.com/ezcom2web/index.html
Perl kan ej prata direkt med rs232 men perl kan starta andra program som sköter kommunikationen.
Jaha, om man bortser från kravet på webgränssnitt, hur hade du tänkt dig att ett program borta på webservern skulle kommunicera med hårdvaran på din lokala dator?etnica skrev:Webclienten är kopplad till en extern webserver och beroende på olika vilkor skall använadren av klienten kunna skicka en signal till comporten på den lokala datorn.
När du har löst det, så kan du applicera ett webgränssnitt på den lösningen.
Varför skulle inte det gå?etnica skrev:Perl kan ej prata direkt med rs232 men perl kan starta andra program som sköter kommunikationen.
CPAN är din vän:
http://search.cpan.org/search?m=all&q=serial+port&n=100
Jag har script-konfat högvis med Zyxel TAn via seriellport och det var fem år sedan, Win32::SerialPort tror jag modulen hette som jag använde då.
Den ganska självklara lösningen för dig låter som att du ska köra ett program lokalt på datorn där programmet behöver kommunicera med COM-porten.
Hur "tunn" är din lokala dator?
Disklös säger du, bootar du en linux live CD, eller?
WinXP Embedded?
ActivePerl finns som MSI, så det är trivialt att skapa en komponent av den i Component Designer.
Om du har för liten footprint för Apache eller IIS, så kan du mycket enkelt köra en rudimentär HTTP-server med någon av de hundratals HTTP-server moduler som finns till Perl:
http://search.cpan.org/search?m=all&q=http+server&n=100
Inget program på webservern skall kommunicera med hårdvaran på den lokala datorn, e ju det som är själva grejen !
Det enda som servern skall göra är att skapa en websida där klienten har möjligt att kommunicera med sin egen com port. Det enda som jag tror kan fixa detta är activex eller en java applet men det ligger utanför min kunskaps nivå att skriva activex applikationer.
Vill även slippa att köra en lokal webserver för att lösa problemet, har redan hittat en webserver som löser allt åt mig. Men känns som en sån jäkla omväg + att jag ej vet om det är möjligt att smacka in en mysql server och en tunn httpd på den tunna klienten. Den tunna klienten kostar ett antal tusenlappar och har ej råd att köpa en för att bara testa och se om det går.
ok har missat win32 modulen då jag aldrig jobbat med perl i win32.
Det enda som servern skall göra är att skapa en websida där klienten har möjligt att kommunicera med sin egen com port. Det enda som jag tror kan fixa detta är activex eller en java applet men det ligger utanför min kunskaps nivå att skriva activex applikationer.
Vill även slippa att köra en lokal webserver för att lösa problemet, har redan hittat en webserver som löser allt åt mig. Men känns som en sån jäkla omväg + att jag ej vet om det är möjligt att smacka in en mysql server och en tunn httpd på den tunna klienten. Den tunna klienten kostar ett antal tusenlappar och har ej råd att köpa en för att bara testa och se om det går.
ok har missat win32 modulen då jag aldrig jobbat med perl i win32.
- MadModder
- Co Admin
- Inlägg: 31455
- Blev medlem: 6 september 2003, 13:32:07
- Ort: MadLand (Enköping)
- Kontakt:
[edit] Det här hjälper inte ett dugg kom jag på efter att ha läst villkoren för det hela igen. Det var ju den lokala datorn det var frågan om, inte servern...
[/edit]
Jag har kört ut RS232 via webbsida genom att anropa ett DOS-kommando.
Genom att använda backticks ( ` ) i PHP så är det mycket enkelt.
först konfigurerar man valfri COM-port med DOS-kommandot MODE. hjälp får man om man skriver MODE /? vid prompten.
Sen är det bara att skriva ECHO blablablabla >COM1 så skickas detta ut.
exempel
<?PHP
$dummy=`MODE COM1 BAUD=9600 PARITY=n DATA=8 STOP=1 to=off odsr=off octs=off dtr=off rts=off idsr=off`;
$dummy=`ECHO hej hopp i lingonskogen >COM1`;
?>
Så skickas texten "hej hopp i lingonskogen" ut från COM1 i 9600 bit/s utan någon handskakning alls.

Jag har kört ut RS232 via webbsida genom att anropa ett DOS-kommando.
Genom att använda backticks ( ` ) i PHP så är det mycket enkelt.
först konfigurerar man valfri COM-port med DOS-kommandot MODE. hjälp får man om man skriver MODE /? vid prompten.
Sen är det bara att skriva ECHO blablablabla >COM1 så skickas detta ut.
exempel
<?PHP
$dummy=`MODE COM1 BAUD=9600 PARITY=n DATA=8 STOP=1 to=off odsr=off octs=off dtr=off rts=off idsr=off`;
$dummy=`ECHO hej hopp i lingonskogen >COM1`;
?>
Så skickas texten "hej hopp i lingonskogen" ut från COM1 i 9600 bit/s utan någon handskakning alls.
Vad är då poängen med webservern överhuvudtaget?Inget program på webservern skall kommunicera med hårdvaran på den lokala datorn, e ju det som är själva grejen !
Om du kan starta en webläsare lokalt på din tunna klient, så kan du lika gärna direkt starta ditt program som kommunicerar med COM-porten.
Hur bootar du datorn, från PXE eller lokal flash?
Kan du inte bara starta ett enkelt, gratis terminalprogram som du förkonfigurerar med rätt inställningar mot COM-porten?
Då får du både läs- och skriv-access ut på porten.
Med ett DOS-program som term95.exe från NC eller liknande, så får du plats med programmet på en bootbar diskett-image som du kan PXE-boota ifrån.
MadModder: Jag gjorde på samma sätt för ca 9 år sedan på Win95, men vad jag minns blev porten låst så fort man ekade ut något på den, så man kunde inte skriva två olika saker i följd, dessutom kunde man inte läsa från porten heller.
Och man fick boota om datorn för att låsa upp porten igen, om jag minns rätt.
