Avatar billede ng-km Nybegynder
22. november 2002 - 19:08 Der er 17 kommentarer og
1 løsning

JAVA til ekstern kontrol.

Jeg kunne godt tænke mig at styre ydre enheder (termostater, kontakter, lys osv.) via Java-applikationer. Jeg er helt på bar bund hvad det angår, men har ellers en del kendskab til Java . Til at starte med kunne det være sjovt at tænde/slukke en diode via parallelport/serielport, men hvordan gør jeg det rent kodemæssigt og hardwaremæssigt?
Avatar billede arne_v Ekspert
22. november 2002 - 19:16 #1
Jeg er ikke sikker på, at det område lige er
Java stærke side (det er ret platform afhængigt).

Jeg vil mene, at du skal have enten et eksternt
library eller noget hjemme-strikket kode i C, som
du så kalder via JNI.

Jeg har ingen anelse om hardwaren.
Avatar billede disky Nybegynder
22. november 2002 - 19:37 #2
Hvis du bruger COM porten, og har din hardware siddende på den, er det slet ikke noget problem, du bruger SUN's COM API til at kommunikere med COM porten på.
Avatar billede ng-km Nybegynder
22. november 2002 - 19:59 #3
disky: Det lyder interessant, men som sagt er jeg helt ny på området, så hvis du havde nogle relevante links eller måske noget demokode, så jeg kan starte et sted, ville det være rart.
Avatar billede Slettet bruger
22. november 2002 - 21:51 #4
Det lyder sjovt. Det kunne være spændende at prøve.
Men hvordan vil du få den til at styre f.eks lyset. Her tænker jeg mest på de/den ydre enhed ??
Avatar billede webster Nybegynder
23. november 2002 - 12:26 #5
hvis det er en parallelport du bruger kan du jo sætte en værdi på "porten" som så vil blive repræsenteret binært af de 8 ben. Hver i øvrigt opmærksom på at visse styresystemer ikke er så glade for at lade dig få adgang til com porte, mener bl. windows xp helt umuliggør det hvis du ikke selv skriver din egen access driver.
Avatar billede dittmer Nybegynder
23. november 2002 - 16:06 #6
webster> Hvad mener du med access driver? Mener du, (og forstå mig ret: Jeg ved ikke meget om WinXP, men jeg har bl.a. gang i et projekt, hvor vi gør det her på Win2000 + WinCE) at man ikke kan læse direkte fra COM-porten?
Avatar billede webster Nybegynder
23. november 2002 - 16:13 #7
Dårligt ordvalg, man er så vidt jeg ved nød til at lave sine egne device drivere for at få adgang til com porten. Det var i foråret at jeg sidst brugte det, så jeg kan ikke huske om det var det at læse eller skrive der voldte problemer i xp. Det endte i hvert fald med at vi lagde win me ind på den bærbare der blev brugt som demo pc (skoleprojekt) og derefter kørte det helt fint.
Avatar billede webster Nybegynder
23. november 2002 - 16:19 #8
Vi testede i øvrigt på flere pc'er med win xp (både bærbare og stationære) før vi skiftede til me)
Avatar billede ng-km Nybegynder
23. november 2002 - 16:34 #9
OKAY - der er åbenbart flere der er interesseret i emnet, og ved noget om det. Jeg er helt på bar bund, og fatter ikke en brik af hvordan jeg skal få sat f.eks en værdi på min parallelport og dermed kunne få en lysdiode til at tænde og slukke ved at trykke på på en knap i mit jav-program. Hvor har i fået Jeres oplysninger og viden fra. Jeg er overbevist om at java har en del inbyggede faciliteter, men jeg ved ikke hvor jeg begynder, og hvad der skal til.

maximus: Når jeg har fået styr på hvordan jeg kommunikerer med porten er det "bare" at lade signalerne der kommer fra programmet styre relæer og kontakter som jeg ønsker det. Her skal man selvfølgelig kende max. belastninger på portens ben, men en lille lysdiode kan vistnok trækkes direkte, og det er nok for mig lige nu, indtil jeg kender mere til emnet.
Avatar billede webster Nybegynder
23. november 2002 - 16:54 #10
I det binære talsystem kan du udtrykket et tal fra 0 til 255 med 8 bit. En bit kan som bekendt enten havde værdien 0 eller 1. Så hvis du skriver tallet 0 til din parallel port så vil benene være høj/lav som 00000001 (nu er de selvfølgeligt fordelt i to rækker). På den måde kan du styre hvad det er du tænder. Som en lille sidenotits så er det smart at lave noget elektronik der adskiller såvel seriel som com port fra det eksterne kredsløb. Min seriel port holdt op med at virke da vi første gang legede med at sende signal ind på den.. =)
Avatar billede webster Nybegynder
23. november 2002 - 16:54 #11
0 ville selvfølgeligt være fuldt lav, sorry, 1 vil se ud som vist
Avatar billede ng-km Nybegynder
23. november 2002 - 20:38 #12
webster: Det lyder som om du har noget kendskab til emnet, men jeg føler lidt at jeg ikke rigtigt lærer noget af det, og det er muligvis min manglende evne til at udlede essensen af hvad der bliver skrevet til mig.

Hvis vi antager at jeg har en meeeget simpel GUI med én knap(JToggleButton f.eks) hvormed jeg vil tænde og slukke en diode på min parallelport. Hvilke packages skal jeg importere hvilke klasser og metoder skal jeg bruge, eller hvilken måde skal jeg skrive min kode i Java for at jeg kan tænde/slukke dioden? Disse ting skal jeg nødvendigvis bruge fordi jeg i min naivitet ikke forstår alle de ting der så venligt er skrevet til mig. Kan du/I hjælpe mig med det?
Avatar billede ng-km Nybegynder
24. november 2002 - 15:08 #13
Hjælper en double-up på point(fra 60 -> 120), gør jeg gerne det?
Avatar billede webster Nybegynder
24. november 2002 - 15:21 #14
hehe nej, jeg kan simpelthen bare ikke finde nogle gode links til com api'et hos sun
Avatar billede arne_v Ekspert
24. november 2002 - 15:55 #15
Avatar billede ng-km Nybegynder
27. november 2002 - 22:08 #16
arne v: Rigtig godt stof. Har du selv noget erfaring du kunne tænke dig at dele ud af, jeg er meget nysgerrig?

Hvis du vil have dine point, må du gerne prøve med et svar i stedet for en kommentar.
Avatar billede ng-km Nybegynder
30. november 2002 - 00:06 #17
OKAY- så lukker jeg spørgsmålet selv
Avatar billede arne_v Ekspert
30. november 2002 - 10:47 #18
1)  Jeg så først din kommentar nu.
2)  SUN COM API var faktosk oprindeligt diskys ide - jeg har
    kun leveret et link til docs
3)  Jeg tror stadigvæk, at du ville være bedre tjent med
    et specifikt library for din hardware end et generelt
    COM port interface.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester