Server Rack Power Control

Størrelse: px
Starte visningen fra side:

Download "Server Rack Power Control"

Transkript

1 Datafagtekniker DA-9H051 Hovedforløb 9 26/8/2005 Server Rack Power Control Rune H. Duus Morten J. Junker Brian Rasmussen

2 Indholdsfortegnelse FORORD...4 OPGAVEFORMULERING...5 TIDSPLAN...8 SYSTEMBESKRIVELSE...10 SYSTEMDIAGRAM...11 LISTE OVER KODEORD...12 MINIKIT...13 PROGRAMMERING...14 C programmet...14 HARDWARE...16 Hardware gennemgang...17 Måling af volt Måling af ampere Præcisions-ensretter...18 Kredsløbets virkemåde Sumkoblingen...20 Kredsløbsdiagram Udregningen for sumkokblingen Relædriver / Relæer...22 LTS15-N...23 Transformator...23 RACKCONTROL SERVER...25 GUIDE...25 DOKUMENTATION...31 RACKCONTROL CLIENT...40 GUIDE...40 DOKUMENTATION...43 DATABASESERVER...51 DATABASEOPBYGNING...51 WEBSERVER / FIREWALL...53 SERVEROPSÆTNING...53 Opsætning af operativsystem...53 Systemkrav Installation Opsætning af DHCP...54 Opsætning af Apache...55 Opsætning af Samba...56 Opsætning af firewall...57 Valg af services...58 HJEMMESIDE...59 Teknologierne bag...59 XHTML PHP SQL Hjemmesiden...60 Funktioner og opbygning Udtrækning af data Visning af data Side 2 af 132

3 KONKLUSION...64 DAGBOG...65 LITTERATURLISTE...69 BILAG...70 C PROGRAMMERING...70 Kildekode...70 Diagram...76 RACKCONTROL-SERVER...81 Diagram - Tråd: Gui...81 Faneblad: Main Faneblad: Status Faneblad: Setup Diagram - Tråd: Connection...84 Kildekode...87 Diagram - Tråd: Connection Tråd: Gui Tråd: RackControl-Server RACKCONTROL-CLIENT DIAGRAM Diagram - Tråd: Main Diagram - Tråd: Connection Diagram - Tråd: Serial Kildekode Tråd: Connection Tråd: Gui Tråd: Klient Tråd: Serial MYSQL DATABASEOPSÆTNING FIREWALLSCRIPT DHCPD KONFIGURATIONSFIL HJEMMESIDE RUTEDIAGRAM HJEMMESIDE KILDEKODE Hovedsiden Graf-siden Side 3 af 132

4 Forord Projektet Server Rack Power Control går ud på at måle strøm, spænding og udregne effekt på nogle rack-servere. Disse servere skal kunne slukkes og tændes via relæer. Relæstyring og målinger foretages af et stykke hardware og opsamles på en klientmaskine. Dataene sendes videre til en central server bag firewall, via WAN. Fra serveren skal data indsættes i en SQL-database og kunne vises på en hjemmeside via et serverscript. Rapporten forudsætter kendskab svarende til H9 på Datafagteknikeruddannelsen. Side 4 af 132

5 Opgaveformulering Systemkrav Der skal opbygges et netværksbaseret system til remote kontrol og monitering af forsyningen til server og / eller netværksudstyr monteret i et rack. Systemet skal via et mikrocontroller baseret interface overvåge og styre følgende: Tænde og slukke for forsyningen til 3 servere Måle strøm og spænding til de tilkoblede servere På LCD et til mikrocontrolleren skal der vises strømforbrug og spænding til de 3 servere samt status for forsyningerne (tændt/slukket). Strøm og spænding skal måles passende hurtigt. Via en serielforbindelse skal den målte strøm og spænding sendes til en pc er der skal fungere som lokalt lager og forbindelse til WAN (RackControlClient). RackControlClient skal kommunikere med en server (RackControlServer) via WAN. Alle brugere skal kunne få adgang til status fra RackControlClient ved hjælp af en aktiv hjemmeside, hvor følgende skal vises: Kommunikationsstatus Målte strømme og spændinger Status for forsyningerne (tændt/slukket) RackControlServer skal: Overvåge kommunikationen fra RackControlClient Overvåge strøm- og spændingsmålinger Logge status af målte strømme og spændinger og kommunikation i en database Præsentere status og logninger i en grafiskbrugerflade Kunne sende tænd og sluk signal til RackControlClient Modtagne målte data skal gemmes i databasen sammen med tidspunkt for målingen og en identifikation af RackControlClient der målte data Beregne effekten ud fra målte strøm og spænding Tidspunkt for modtagelse af data fra RackControlClient skal gemmes i en separat logtabel i databasen Tidspunkt for oprettelse/afbrydelse af forbindelse til RackControlClient sammen med identifikation af RackControlclient skal gemmes i en separat logtabel i databasen Tidspunkt for start/stop af RackControlServer skal gemmes i en separat logtabel i databasen Side 5 af 132

6 Microcontrolleren: RackControlClient: Tidspunkt for oprettelse/afbrydelse af forbindelse mellem controller og RackControlClient skal gemmes i en separat logtabel i databasen I grafisk brugerflade skal der vises status for relæerne I grafisk brugerflade skal der vises målte strømme og spænding I grafisk brugerflade skal der vises den beregnede effekt I grafisk brugerflade skal der vises kommunikationsstatus for alle tilsluttede RackControlCliens I grafisk brugerflade skal der mulighed for at se loggede driftstatus I grafisk brugerflade skal man kunne tænde/slukke for relæerne Der skal kunne logges flere brugere på af gangen. Status for relæerne (tændt/slukket) skal vises på displayet Målte strøm og spænding skal vises på displayet Seriel kommunikation baseret på RS232 eller RS422/RS485 mellem microcontroller og RackControlClient Som minimum skal der benyttes paritets check til sikring af korrekt kommunikation mellem microcontroller og RackControlClient Der skal bruges en TCP/IP baseret socket forbindelse mellem RackControlClient og RackControlServer Data modtaget fra controller samt tidspunkt skal logges i en fil Data afsendt fra RackControlClient til RackControlServer samt tidspunkt skal logges i en fil Data modtaget fra RackControlServer skal logges Forbindelse oprettet/afbrudt mellem controller og RackControlClient skal logges Forbindelse oprettet/afbrudt mellem RackControlClient og RackControlServer Hardwarekrav: Mikrocontroller med LCD skal være tilsluttet Strømsensor skal være tilsluttet Spændingssensor skal være tilsluttet 3 relæer skal være tilsluttet Strøm og spænding skal måles så de opdateres minimum hvert 30. sekund Status for relæerne skal opdateres minimum hvert 30. sekund og når de tændes / slukkes Tidsstempling af målte data: Målte data og statuser skal tidsstemples af enten controlleren eller RackControlClient. Side 6 af 132

7 Webserver: Skal kunne afvikle scripts som giver adgang til gemte data i den valgte SQL database Brugeren skal for et valgt tidsinterval kunne vælge at se 1. status for relæerne 2. målte strøm 3. målte spænding 4. beregnede effekt Firewall: Firewallen skal have vha. port forwarding sikre, at webserver og RackControlServer kan tilgås fra WAN Databasen: Databasen skal være SQL-baseret Operativsystem: Der skal anvendes Windows XP/2000 eller Linux Programmeringssprog (mikrocontroller): Der skal anvendes C Programmeringssprog (RackControlServer/RackControlClient): Der skal anvendes et objektorienteret programmeringssprog Følgende sensorer skal benyttes: 3 stk. 230V relæer, Finder series SPCO 10A 12V Strømsensor Spændingssensor 230/6V AC transformer Side 7 af 132

8 Tidsplan Uge 1 Mandag Tirsdag Onsdag Torsdag Fredag Installation af servere Opsætning og gennemgang af servere. Gennemlæsning af datablade på nye komponenter Brainstorming på projektet Afslutning og opgave fordelling Påbegyndelse af programmering Uge 2 Mandag Tirsdag Onsdag Torsdag Fredag Programmering - Java/PHP og hardwarefremstilling Programmering - Java/PHP og hardwarefremstilling Programmering - Java/PHP og hardwaredokumentation Programmering - Minikit Programmering - Minikit Uge 3 Mandag Tirsdag Onsdag Torsdag Fredag Programmering - Java/Kit og hardware Programmering - Java/Kit Programmering - Java/Kit og hardware Programmering - Java/Kit Komplet test af opsætningen Side 8 af 132

9 Uge 4 Mandag Tirsdag Onsdag Torsdag Fredag Projekt skrivning Projekt skrivning og oprydning Projekt skrivning Projekt skrivning Projekt afslutning Side 9 af 132

10 Systembeskrivelse Webklient WAN Minikit RackControl-Client RS232 Måling LTS15-NP Relæer 230Vac Firewall / Webserver LAN RackControl-Server Ovn MySql-Servere Minikittet laver målinger af strøm, spænding og beregner effekten, på det forbrug som vores ovn, i vores opstilling bruger. Minikittet sender volt og ampere videre ud på en seriel (RS232) forbindelse, som vores Java klient fanger via dens com-port. Det hele vises grafisk på vores klient, som derfra sender det videre til vores serverdel, som lagrer det i SQL-database-serveren. Så har vi hjemmesiden, hvor man kan se loggen over hvad der er sket på minikittet, hvor stor forbruget har været og status på relæerne. Det læser den direkte fra SQL-databasen. De forskellige programmeringssprog vi har brugt i vores projekt: Kittet har vi skrevet i C, og derefter lavet det om til assemblerkode med CodeVision AVR. RackControl-Serveren er programmeret i Java med JBuilder RackControl-Clienten er programmeret i Java med JBuilder Hjemmesiden er skrevet i XHTML og scriptet I PHP, som læser fra databasen via SQL. Se næste side for større diagram. Side 10 af 132

11 Systemdiagram Firewall / Webserver RackControl-Server MySql-Servere Webklient LAN WAN RackControl-Client RS232 Minikit Relæer Ovn Måling LTS15-NP 230Vac Side 11 af 132

12 Liste over kodeord Linux-server: Linux-logon Brugernavn: root Password: FuldAfDild Samba-logon: Brugernavn: web Password: sovs MySQL database-server: Windows-logon: Brugernavn: administrator Password: metrosexuel Database-logon: Brugernavn: ko Password: muh RackControl-server: Windows-logon: Brugernavn: administrator Password: desperat RackControl-client: Windows-logon: Brugernavn: administrator Password: spidskandidat Side 12 af 132

13 Minikit Det stykke hardware der styrer og måler det hele er et minikit, lavet på uddannelsens H5. Kittet består egentlig ikke af særlige mange funktioner, udover 4 porte A, B, C og D 4 knapper Et display Et relæ En terminalblock 2 serielporte 8 lysdioder Den blå terminalblock bruges i forbindelse med relæet. Displayet kan fremvise op til 20x4 tegn. Hver port har 8 kanaler der individuelt kan programmeres til om de skal stå som input eller output (via et Data Direction Register i processoren) og hver port har i forvejen noget den styrer, ud over en dil-port: Port A kan bruges som en 8 kanals analog-digital konverter med 10 bits opløsning Port B kan bruges i forbindelse med lysdioderne Port C kan bruges til displayet Port D kan bruges til det påmonterede relæ og den lille buzzer Serielportene kan man ikke undvære, for det er med dem vi får lagt programmet ned i minikittet. Det er dog kun den ene der skal bruges programmering, den anden bruges til kommunikation. En Atmel AT90S8535 RISC processor med 8KB programmerbar flashhukommelse er hjernen bag minikittet. Processoren kører på en hastighed op til 8 MHz og har 32x8 registre og mulighed for tæller/counter. Side 13 af 132

14 Programmering Programmet vi bruger til at compile vores C-program er CodeVision AVR. Programmet er et IDE (Integrated Development Environment) lavet specielt til Atmels AVR-familie af mikrocontrollere. Programmeringen sker via et serielt kabel og med programmet PonyProg2000. Det serielle kabel skal sættes til det yderste serielstik (længst væk fra den blå terminalblock) på minikittet. C programmet Kildekoden er allerede så velkommenteret at jeg kun vil trække de vigtigste dele ud. Interrupts Målingen med ADC (analog-digital converter) og UART (Universal Asynchronous Receiver Transmitter) modtagning sker via interrupts, hvilket vil sige at processoren stopper det den er i gang med og bruger tid på at udføre en anden del kode. Interrupts bruger generelt ofte ved asynkrone begivenheder, som f.eks. vores UART. Brugte vi ikke interrupts ville vores minikit stå og hænge når den venter på seriel data og imens ville vi ikke kunne udføre noget. De vigtigste funktioner getchar() er en funktion der returnerer nyeste tegn fra modtage-bufferen, som bliver fyldt op efterhånden som minikittet modtager seriel data. Hver gang man læser et tegn ud peger den på næste tegn i bufferen og sletter den foregående. Er der ikke flere tegn i bufferen returneres et 0. Dette bruges når man vil hente det nyeste tegn i bufferen. Senere i koden køres en while-løkke, der henter et tegn ud ad gangen, indtil funktionen returnerer et 0. load() er en funktion der ikke laver andet end at blinke lidt med lysdioderne, så man kan tjekke at de virker, og skrive en velkomstskærm på displayet. relayoff() er en funktion der slukker alle relæer. relayon() er en funktion der tænder alle relæer. relay1(), relay2() og relay3() er funktioner til at tænde eller slukke henholdsvis relæ 1, 2 og 3 enkeltvist, afhængig deres nuværende status. relayall() er en funktion der bruger relayon() og relayoff() til at tænde og slukke alle relæer, afhængig af deres nuværende status. Side 14 af 132

15 Når programmets main-funktion startes initialiseres variabler, portene (ABCD) og processorens indbyggede funktioner (ADC og UART) programmet begynder en uendelig løkke der 1. henter målinger af volt og ampere ind 2. udregner dem og watt 3. henter nyeste tegn fra UART-bufferen ind 4. tjekker om det sendte tal er 1, 2, 3, 4 eller 5, og tænder/slukker relæer herefter 5. skriver volt, ampere og watt ud på LCD 6. skriver status for de tre relæer ud på LCD 7. skriver status for volt, ampere, watt og de tre relæer ud på seriel port til RackControl-Client hver fjerde gang den uendelige løkke gennemløbes (ca. hvert andet sekund) 8. laver et delay på ½ sekund 9. rydder øverste linje på LCD På grund af at vi bruger den gamle processor AT90S8535 (modsat den nyere ATmega8535) har vi ikke mulighed for at bruge paritetscheck på den serielle kommunikation. Kildekode og diagram over programmet er vedlagt som bilag. Side 15 af 132

16 Projekt Server Rack Power Control Hardware Datablade over brugte komponenter er vedlagt på CD-ROM Side 16 af 132

17 Hardware gennemgang Følg med i denne tekst ved at kigge på billedet på forrige side. Forskellige komponenter i vores opstilling: Vores hjemmelavede minikit fra H5 Transformator Relædriver Relæer Præcisionsensretter til måling af volt Præcisionsensretter til måling af ampere Måling af volt Komponenter der skal I brug for at måle volt Transformatoren Præcisionsensretter (V) Minikit Vi har af sikkerhedsmæssige grunde monteret en transformator, der konverterer fra 230Vac~ til 6Vac~, vi er derfor nødt til på vores minikit at lave en udregning, så vi måler de egentlige 230V og 50 Hz, som vi får ud af en stikkontakt i Danmark. De 6Vac~ og 50 Hz, som kommer ud af transformatoren, sendes ind i præcisionsensretteren (V), der konverterer vores AC spænding til en DC spænding, som vores minikit er i stand til at måle på. Men før vores DC spænding bliver smidt ind på vores minikit skal det igennem en spændingsdeling, da vores minikits indgange maksimalt kan holde til 5V, og præcisionsensretteren smider cirka 6,6V ud. Efter vores spændingsdeling har vi nu cirka 3,3 VDC, og det smider vi ind på port A pin0, minikittet læser en spænding som et tal mellem via dens analog/digital konverter. Når vi læser på de rene 3,3V viser minikittet omkring 186. For at kalibrere minikittet ganger vi med 230/186, som ca. giver 1,24. Herefter kan volten vises i 230 volt skalaen. Måling af ampere Komponenter der skal bruges for at vi kan måle ampere LTS15-NP (den blå på billedet) Sumkobling Præcisionsensretter (A) Side 17 af 132

18 Projekt Server Rack Power Control Den komponent som måler ampere i vores opstilling er LTS15-NP, den skal have en forsyningsspænding på 5V for at fungere, det får den ved hjælp af en ekstern strømforsyning. Måden den måler ampere på er ved at vi har splittet en ledning og kørt den ene leder gennem det hul der er i midten, hvorved den kan måle strømmen der trækkes igennem ledningen. Vi står nu med et problem, LTS en smider en konstant DC spænding på 2.5V og når en strøm trækkes, sender den en AC spænding på alt fra 0-x antal mv, afhængig af hvor meget udstyret trækker. Her kommer sumkoblingen ind i billedet. Sumkoblingen udligner DC spændingen med en minus spænding på 2.5V og AC spændingen forstærkes 10 gange for at det er nemmere at måle. Her er et eksempel: hvis LTS en smider en AC spænding på 200mV og vi ganger den med 10 får vi en 2V AC spænding, som vi kan smide ind i vores præcisionsensretter (A), som konverterer AC spændingen til en DC spænding, for at vi kan måle det med vores minikit. Og det fungerer på selv samme måde som med målingen af volt. Her et regnestykke for hvordan det eksempelvis kunne se ud. En ovn er tændt, den trækker for eksempel ca. 4 ampere, hvilket vi kan måle ved hjælp af en amperetang. Tallet vi læser ind fra analog/digial-konverteren er ca. 84. Tallet divideres med målte ampere og proportionen på ca. 21 findes. Præcisions-ensretter På næste side er vist et diagram over en helbølge præcisions-ensretter, som vi har lavet til vores opstilling. Den kan ensrette indgangsspændingen målt i brøkdele af mv op til adskillige volt med en nøjagtighed kun bestemt at modstandende. Side 18 af 132

19 Side 19 af 132

20 Kredsløbets virkemåde A1 arbejder sammen med D1 som en halvbølge-ensretter, hvis udgangssignal tilføres den ene af de to indgange i additionskoblingen, som udføres af A2. Additionskoblingens anden indgang får tilført indgangssignalet. Kredsløbets virkemåde som fremgår af billedet til højre, forklares nemmest ved at følge signalvejen for først den negative og derefter den positive halvperiode af U1. Ved negativt indgangssignal er udgangen af A1 clampet af D1 til Uo1 = UD1 0,7 V. Herved spærres D2, således at forbindelsen til R/2-indgangen i additionskoblingen er afbrudt. Eneste signal til A2 er derfor indgangsspændingens negative halvperiodespænding på R-indgangen. U0 er derfor en positiv gengivelse af U1 s negative halvperiode. Ved positiv indgangsspænding er A1 en almindelig inverterende forstærker med forstærkningen 1 (D2 ligger indenfor modkoblingenssløjfen og påvirker derfor ikke forstærkningen). A1 s udgangssignal U2, som nu er negativ halvperiodespænding, føres til additionskoblingens R/2-indgang, mens indgangsspændingens positive halvperiode føres til R- indgangen. Resultatet af additionen bliver en positiv halvperiode på udgangen. Vi husker at den negative indgangsperiode også gav en positiv udgangsspænding. Indgangssignalet er altså blevet dobbeltensrettet. Monteres kondensatoren C, udglattes U0 til en DC-spænding, hvis værdi er lig med indgangssignalets dobbeltensrettede middelværdi. Tidskonstanten R * C skal være den største periodetid. For at nå frem til et velfungerende ensretterkredsløb, må man stille visse krav til de anvendte operationsforstærkere og modstande. I vores præcisions-ensretter har vi brugt modstande, som kan svinge op til 5%, hvilket faktisk er meget i sådan en opsætning. Vi ville personligt anbefale 1% eller mindre for at opnå en større nøjagtighed. Sumkoblingen Der er en grund til vi har lavet en sumkobling, og det er ganske simpelt fordi vores LTS-15- NP smider 2.5 V ud på des output ben hele tiden, og for at kunne måle det lille AC signal der kommer ud (eks mV) når f.eks. en ovn trækker strøm skal de 2.5 V udlignes og AC signalet forstærkes for at det er nemmere at måle for os, alt dette gør vi med dette lille og meget simple stykke hardware. Side 20 af 132

21 Projekt Server Rack Power Control Billedet nedenunder viser vores sumkobling Kredsløbsdiagram Side 21 af 132

22 Projekt Server Rack Power Control Udregningen for sumkokblingen Relædriver / Relæer Komponenter der skal bruges, for at vi kan styre relæerne i vores opstilling er minikittet, relædriveren og så selvfølgelig vores relæer. Relæstyringen virker ved at vi via vores port B pin0, pin1og pin2 sender 5V over i vores relæ-driver hvis den er on og selvfølgelig 0V hvis den er off. Når relæ-driveren får 5V, giver den stel til relæerne så de slår over og der er forbindelse til 230V. Diagram over relæ-kredsløb: Side 22 af 132

23 Projekt Server Rack Power Control LTS15-N Dette er vores LTS, som vi bruger for at kunne måle ampere i vores opstilling. LTS en virker på følgende måde: Den skal have en forsyningsspænding på 5V for at fungere, det får den ved hjælp af en ekstern strømforsyning. Måden den måler ampere på er ved at vi har splittet en ledning og kørt den ene leder gennem det hul der er i midten hvorved den kan måle strømmen der trækkes igennem ledningen når man f.eks. tænder en ovn. Transformator Vi har i vores hardware også en transformator som konverterer fra 230Vac til 6Vac af sikkerhedsmæssige grunde. Hvordan virker en transformator En transformator består af to spoler (en primær og en sekundær), som er viklet omkring hinanden på en kerne af metal. Multiplikationsfaktoren afhænger af antallet af omdrejninger på de to spoler. Hvis begge spoler har det samme antal omdrejninger, bliver indgangsstrømmen og -spændingen den samme som udgangsstrømmen og -spændingen. Hvis den sekundære spole har 100 gange flere omdrejninger end den primære, forøger transformatoren i princippet spændingen 100 gange. Side 23 af 132

24 En transformator er et stykke hardware, som kan øge eller mindske spænding, hvilket gøres ved at øge eller mindske den tilsvarende elektriske strøm. Dette kan bedst forklares ved at kigge på effekten i det elektriske system. Effekten er givet ved spænding x strømstyrke Transformatorens ind- og udgangseffekt skal være den samme. Eneste forskel er, at transformatoren omdanner én spænding/strøm kombination til en anden spænding/strøm kombination med samme effekt. Et eksempel: 1 Volt x 6 Ampere = 6 Watt Dette er det samme som 6 Volt x 1 Ampere = 6 Watt Transformatoren kan omdanne 1 Volt til 6 Volt (forstørret med en faktor på 6), hvis den tilsvarende strøm omdannes fra 6 til 1 Ampere (forstørret med en faktor på 1/6). Side 24 af 132

25 RackControl Server Guide Programmet er meget simpelt bygget op med et let og flot design. Programmet har tre faneblade, hvor man under hvert faneblad kan forskellige ting. Fanebladet setup Under fanebladet setup har man muligheder for at vælge hvilken port serveren skal lytte på, og hvilket password klienten skal bruge for at kunne logge på serveren. Password Port Side 25 af 132

26 Set Når man har udfyldt felterne password og port kan man trykke på Set, for at få programmet til at bruge de nye værdier, man har indtastet. Save Programmet er lavet så man kan gemme de informationer, man udfylder i felterne password og port med. Filen kommer til at ligge på c:\ med navnet serversetup.cfg (stien virker kun i Windows) Side 26 af 132

27 Load Hvis man vil bruge tidligere gemte informationer, kan man trykke på knappen Load. Knappen henter gemte informationer fra førnævnte fil ind og sætte kodeords- og portværdierne. Clear Hvis man er så uheldig at have indtastet forkert i et af de to felter, kan man trykke på knappen clear, og felterne vil blive sat med standardværdierne. Side 27 af 132

28 Fanebladet status I fanebladet status kan man se hvilke informationer minikittet sender, samt hvordan og hvorledes relæerne står. On / Off knapperne (funtion virker ikke) På serversiden kan man via knapperne tænde og slukke for relæerne på minikittet. Grøn farve angiver tændt status og rød slukket. Side 28 af 132

29 Fanebladet main Under main kan man starte og stoppe serveren, samt se informationer om hvem der er tilsluttet serveren m.m. Start Lige så snart man trykker på start, venter serveren på at klienterne logger på, samtidig opretter den en forbindelse til MySQl serveren. Stop (funktion virker ikke) For at få serveren til at stoppe med at vente på klienter, trykkes stop Side 29 af 132

30 Clear Hvis man synes det ser uoverskueligt ud med alle de informationer, der bliver fyldt ind i raportvinduet, kan man med et tryk på clear få vinduet gjort blankt. Side 30 af 132

31 Dokumentation Vores lille serverprogram består af tre forskellige tråde: Gui, connection og RackControlserver. Tråd: Gui Tråden gui er den tråd, hvor alt det grafiske design er. Alt efter hvad brugeren vælger at gøre i programmet, vil der blive udført forskellige funktioner. Det første af koden beskriver, hvilke grafiske ting vi har taget i brug. public class gui extends JFrame { JPanel contentpane; JLabel statusbar = new JLabel(); JTabbedPane jtabbedpane1 = new JTabbedPane(); JPanel jpanel1 = new JPanel(); JPanel jpanel2 = new JPanel(); JPanel jpanel3 = new JPanel(); JPanel jpanel4 = new JPanel(); JPanel jpanel5 = new JPanel(); JPasswordField passwordfield = new JPasswordField(); JLabel jlabel1 = new JLabel(); JTextField portnrfield = new JTextField(); JLabel jlabel2 = new JLabel(); JButton setbutton = new JButton(); JButton clearbutton = new JButton(); JScrollPane jscrollpane1 = new JScrollPane(); JTextArea reportarea = new JTextArea(); JList clientlist = new JList(); JButton startbutton = new JButton(); JButton stopbutton = new JButton(); JButton clear = new JButton(); JLabel jlabel3 = new JLabel(); JLabel jlabel4 = new JLabel(); JLabel jlabel5 = new JLabel(); JPanel relaystatus2 = new JPanel(); JPanel relaystatus3 = new JPanel(); JPanel relaystatus1 = new JPanel(); JList jlist1 = new JList(); JLabel jlabel6 = new JLabel(); JLabel jlabel7 = new JLabel(); JLabel jlabel8 = new JLabel(); JLabel jlabel9 = new JLabel(); JLabel voltage = new JLabel(); JLabel current = new JLabel(); JLabel effect = new JLabel(); JButton onoff3 = new JButton(); JButton onoff1 = new JButton(); JButton onoff2 = new JButton(); Side 31 af 132

32 Da vi har en klasse der skal køre samtidig med, har vi gjort at connection skal fungere som en tråd. //Creating a thread named server Thread server; //Passing a variable from one thread to another ServerSocket RackControlServer; Når man har oprettet en tråd, kan man få de to klasser til at skrive til de samme variabler osv. //Passing variables to the connection thread connection listen = new connection(reportarea, portnrfield, clientlist, passwordfield, RackControlServer, current, voltage, effect, relaystatus1, relaystatus2, relaystatus3, onoff1,onoff2,onoff3); Vi tildeler onoff-knapperne en fast standardværdi. //The onoff buttons are set to 0 as default int onoffknap1, onoffknap2, onoffknap3 = 0; Hvis brugeren trykker på clear, vil felterne blive sat tilbage til deres standardværdi. //When you press the clearbutton passwordfield and portnrfield will be //set to default values public void clearbutton_actionperformed(actionevent e) { passwordfield.settext("hest"); portnrfield.settext("6060"); Når brugeren vælger at gemme sine indstillinger, vil de indtastede informationer blive gemt i en fil på c:\ under navnet serversetup.cfg. Derefter bliver der reporteret i reportarea om det lykkedes at gemme eller ej. //When pressing the savebutton the values from public void savebutton_actionperformed(actionevent e) { FileWriter file = null; try { file = file = new FileWriter("c:\\serversetup.cfg"); catch (IOException ex) { reportarea.append("could not write to file\n"); PrintWriter write = new PrintWriter(file); write.println(passwordfield.gettext() + "," + portnrfield.gettext()); write.close(); reportarea.append("file successfully saved\n"); Gør reportarea blank, hvis brugeren trykker på clear under fanebladet main. public void clear_actionperformed(actionevent e) { reportarea.settext(""); Side 32 af 132

33 Lige så snart at man trykker på start, startes tråden server, på den måde bliver klassen connection sat i gang. I statuslinjen bliver der skrevet, om serveren er online eller ej, samt hvilken IP-adresse serveren har. public void startbutton_actionperformed(actionevent e) { server = new Thread(listen); server.start(); //Starting thread connection InetAddress hostip = null; try { hostip = java.net.inetaddress.getlocalhost(); statusbar.settext("status: ONLINE " + hostip.gethostaddress() + " " + portnrfield.gettext() + " " + "No clients"); catch (UnknownHostException ex) { reportarea.append("could not get IP address\n"); Stopknap-funktionen stopper tråden server og skriver i statuslinjen, at serveren er offline. public void stopbutton_actionperformed(actionevent e) { reportarea.append("server is offline\n"); // RackControlServer.close(); server.stop(); InetAddress hostip = null; try { hostip = java.net.inetaddress.getlocalhost(); statusbar.settext("status: OFFLINE " + hostip.gethostaddress() + " " + portnrfield.gettext() + " " + "No clients"); catch (UnknownHostException ex) { reportarea.append("could not get IP address\n"); Side 33 af 132

34 Når man vælger at hente sine tidligere gemte indstillinger, hentes alt ind fra den gemte fil, og splittes op i små stykker og sættes ind i et array. Når arrayet er blevet oprettet, udfyldes de to felter med de hentede informationer. Hvis det lykkes/mislykkes får brugeren det at vide i raportvinduet. public void loadbutton_actionperformed(actionevent e) { String temp; String temppass; int tempport; FileReader fil = null; try { fil = new FileReader("c:\\serversetup.cfg"); catch (FileNotFoundException ex) { reportarea.append("could not load file\n"); BufferedReader read = new BufferedReader(fil); try { String linie = read.readline(); String[] strenge = linie.split(","); temppass = strenge[0]; tempport = Integer.parseInt(strenge[1]); String tempport2 = Integer.toString(tempport); passwordfield.settext(temppass); portnrfield.settext(tempport2); reportarea.append("file successfully loaded\n"); catch (IOException ex1) { reportarea.append("could not read from file\n"); Side 34 af 132

35 Der taget højde for hvordan relæerne står og alt efter om relæerne er slået til eller fra, vil der skiftes mellem rød (slukket) og grøn (tændt). public void onoff1_actionperformed(actionevent e) { if (onoffknap1 == 0) { onoffknap1 = 1; relaystatus1.setbackground(color.green); onoff1.settext("turn OFF"); else { onoffknap1 = 0; relaystatus1.setbackground(color.red); onoff1.settext("turn ON"); public void onoff2_actionperformed(actionevent e) { if (onoffknap2 == 0) { onoffknap2 = 1; relaystatus2.setbackground(color.green); onoff2.settext("turn OFF"); else { onoffknap2 = 0; relaystatus2.setbackground(color.red); onoff2.settext("turn ON"); public void onoff3_actionperformed(actionevent e) { if (onoffknap3 == 0) { onoffknap3 = 1; relaystatus3.setbackground(color.green); onoff3.settext("turn OFF"); else { onoffknap3 = 0; relaystatus3.setbackground(color.red); onoff3.settext("turn ON"); Side 35 af 132

36 Tråd: Connection Constructoren har samme navn som klassen, og den kaldes hver gang et objekt startes. Klasserne kan arve egenskaber fra andre klasser, hvilket er hvad der sker herunder. public connection(jtextarea report, JTextField port, JList list, JPasswordField pass, ServerSocket RackControl, JLabel cur, JLabel eff, JLabel vol, JPanel relaysta1, JPanel relaysta2, JPanel relaysta3, JButton on1, JButton on2, JButton on3) { onoff1 = on1; onoff2 = on2; onoff3 = on3; relaystatus1 = relaysta1; relaystatus2 = relaysta2; relaystatus3 = relaysta3; current = cur; voltage = vol; effect = eff; RackControlServer = RackControl; passwordfield = pass; reportarea = report; portnrfield = port; clientlist = list; Variablerne oprettes, så vi kan udfylde dem med de værdier der modtages fra klienten. public void run() { String tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; boolean connected = false; boolean start = true; int portnr = Integer.parseInt(portnrfield.getText()); Side 36 af 132

37 Forbindelse oprettes til MySQL-serveren. try { Class.forName("com.mysql.jdbc.Driver"); Connection forb = DriverManager.getConnection( "jdbc:mysql:// /rackcontrol?user=ko&password=muh"); Statement stmt = forb.createstatement(); Starter serveren via de informationer brugeren har indtastet, og der bliver noteret i databaseloggen, om serveren kunne starte eller ej. try { ServerSocket RackControlServer = new ServerSocket(portnr); reportarea.append("server is online\n"); String sqlserverstart = "INSERT INTO log (tid, eventid, VALUES (UNIX_TIMESTAMP(), '1', '1')"; stmt.executeupdate(sqlserverstart); clientid) Serveren står nu og venter på at klienterne logger på. Før klienterne kan logge på serveren, sikres at klienterne sender det rigtige kodeord. Hvis dette ikke er tilfældet, vil forbindelsen blive lukket. while (true) { try { Socket forbindelse = RackControlServer.accept(); out = new PrintWriter(forbindelse. getoutputstream(), true); BufferedReader in = new BufferedReader( new InputStreamReader(forbindelse. getinputstream())); String anmodning = in.readline(); if (anmodning.equals(passwordfield.gettext())) { reportarea.append("a client is connected\n"); String sqlclientconnect = "INSERT INTO log (tid, eventid, clientid) VALUES (UNIX_TIMESTAMP(), '3', '1')"; stmt.executeupdate(sqlclientconnect); out.println("password accepted, you are now connected"); else { out.println("wrong password, connection closed"); reportarea.append("wrong password from client\n"); String sqlclientdisconnect = "INSERT INTO log (tid, eventid, clientid) VALUES (UNIX_TIMESTAMP(), '4', '1')"; stmt.executeupdate(sqlclientdisconnect); forbindelse.close(); Side 37 af 132

38 Når brugeren først har sendt det rigtige password, står serveren og modtager alle de infoer, klienten har modtaget fra minikittet. Informationerne splittes op i et array. while (true) { String data = in.readline(); String[] split = (data.split(",")); tmp1 = split[0]; //amp tmp2 = split[1]; //watt tmp6 = split[2]; //voltage tmp3 = split[3]; //relay1 tmp4 = split[4]; //relay2 tmp5 = split[5]; //relay3 tmp7 = split[6]; //serial connection current.settext(tmp2); voltage.settext(tmp6); effect.settext(tmp1); Javaklienten sender en besked til serveren, om der er oprettet serielforbindelse til minikittet. Javaserveren undersøger via reglerne, hvad der skal noteres i databaseloggen. if (start) { if (tmp7.equals("0")) { // Serial afbrudt String sqlkitdisconnect = "INSERT INTO log (tid, eventid, clientid) VALUES (UNIX_TIMESTAMP(), '6', '1')"; stmt.executeupdate(sqlkitdisconnect); connected = false; else if (tmp7.equals("1")) { // Serial tilsluttet String sqlkitconnect = "INSERT INTO log (tid, eventid, clientid) VALUES (UNIX_TIMESTAMP(), '5', '1')"; stmt.executeupdate(sqlkitconnect); connected = true; start = false; else { if ((tmp7.equals("0")) && (connected)) { // Serial afbrudt String sqlkitdisconnect = "INSERT INTO log (tid, eventid, clientid) VALUES (UNIX_TIMESTAMP(), '6', '1')"; stmt.executeupdate(sqlkitdisconnect); connected = false; else if ((tmp7.equals("1")) && (!connected)) { // Serial tilsluttet String sqlkitconnect = "INSERT INTO log (tid, eventid, clientid) VALUES (UNIX_TIMESTAMP(), '5', '1')"; stmt.executeupdate(sqlkitconnect); connected = true; Side 38 af 132

39 Der undersøges om relæerne er tændt eller slukket, og alt efter hvordan de forskellige relæer står, vil de enten være grønne (tændt) eller røde (slukket) if (tmp3.equals("0")) { relaystatus1.setbackground(color.red); onoff1.settext("turn ON"); else { relaystatus1.setbackground(color.green); onoff1.settext("turn OFF"); if (tmp4.equals("0")) { relaystatus2.setbackground(color.red); onoff2.settext("turn ON"); else { relaystatus2.setbackground(color.green); onoff2.settext("turn OFF"); if (tmp5.equals("0")) { relaystatus3.setbackground(color.red); onoff3.settext("turn ON"); else { relaystatus3.setbackground(color.green); onoff3.settext("turn OFF"); Vi skriver modtaget data ind i vores databaseserver, til senere visning på hjemmesiden. Tråd: RackControlServer String sql1 = "INSERT INTO relae (tid, clientid, r1, r2, r3) VALUES (UNIX_TIMESTAMP(), '1', '" + tmp3 + "', '" + tmp4 + "', '" + tmp5 + "')"; String sql2 = "INSERT INTO aflaesning (tid, clientid, volt, amp, watt) VALUES (UNIX_TIMESTAMP(), '1', '" + tmp1 + "', '" + tmp2 + "', '" + tmp6 + "')"; reportarea.append(tmp1 + "V " + tmp2 + "A " + tmp6 + "W R1: " + tmp3 + " R2: " + tmp4 + " R3: " + tmp5 + "\n"); try { stmt.executeupdate(sql1); stmt.executeupdate(sql2); Dette er hovedtråden, da den gør at ens program vil starte. catch (SQLException s) { System.out.println("Fejl: " + s.getmessage()); Kildekoden til RackControl-Server er vedlagt som bilag. Side 39 af 132

40 RackControl Client Guide Der er udarbejdet et meget simpelt klientprogram, med få, men alligevel gode, faciliteter. Klienten er lavet i et smukt og ligetil design, så selv uerfarne edbbrugere burde kunne overskue situationen. OBS: Før man kan køre vores program skal man først og fremmest være sikker på at JAVA Runtime Environment (JRE) er installeret. Programmet kan hentes på Efter programmet er installeret skal man sikre sig at seriel kommunikation via java virker. På den medfølgende CD-ROM under mappen Java ligger der to filer, som skal bruges. Filen win32com.dll skal kopieres ind under c:\programmer\java\jre1.5.0_04\bin\ (standard installationsplacering) Filen comm.jar skal kopieres ind under c:\programmer\java\jre1.5.0_04\lib\ (standard installationsplacering) Side 40 af 132

41 Indtastning af IP For at få forbindelse til serveren, udfyldes serverens IP-adresse og port. I programmet står den server-ip og port, som vi i gruppen bruger, skrevet som standart. Brug af password For at logge på serveren, skal det rigtige kodeord indtastes i passwordfeltet. Side 41 af 132

42 Tilslutning til server Når IP, portnummer og kodeord er indtastet trykkes på connect, for at oprettet forbindelse til serveren. Start serielforbindelsen Vil man læse data fra serielforbindelsen, trykkes på connect under serial. Hvis minikittet er tændt, vil man kunne se de forskellige målinger, og se om de forskellige relæer er tændt (grøn) eller slukket (rød). Side 42 af 132

43 Dokumentation Klienten består af fire tråde: Serial, connection, klient og gui. Gui Tråden gui indeholder alt det grafiske design, og alt efter hvad brugeren af programmet vælger at trykke på, vil gui sørge for at bestemte tråde eller kommandoer bliver startet eller udført. Gui har brug for at kunne udveksle data med tråden connection, så derfor opretter vi en tråd kaldet server. Thread server; connection listen = new connection(ipnrfield, portnrfield, statusbar, passwordfield, currentstatus, voltagestatus, effectstatus); For at kunne tjekke om serialknap og connectknap senere bliver aktiveret, gives de en bestemt startværdi. int serialknap = 0, connectknap = 0; Hvis brugeren vælger at trykke på connect, for at skabe forbindelse til serveren, vil gui starte tråden connection, hvorefter den vil omdøbe knappen fra connect til disconnect. public void jbutton1_actionperformed(actionevent e) { if (connectknap == 0) { server = new Thread(listen); server.start(); connectknap = 1; statusbar.settext("connecting to server"); connectbutton.settext("disconnect"); else { connectknap = 0; statusbar.settext("disconnected from server"); connectbutton.settext("connect"); server.stop(); Side 43 af 132

44 Da vi i vores logfil, skal kunne skrive tidspunkt for hver gang en ting sker, har vi lavet en funktion der hedder getdate(). I funktionen undersøger vi om time, minut og sekund er mindre end 10, hvis dette er tilfældet indsætter vi et 0 foran for at få en ensartet formatering af tidsangivelsen. public String getdate() { int time = new Date().getHours(); int minut = new Date().getMinutes(); int sekund = new Date().getSeconds(); String Time = Integer.toString(time); String Minut = Integer.toString(minut); String Sekund = Integer.toString(sekund); if (time < 10) { Time = "0" + Integer.toString(time); if (minut < 10) { Minut = "0" + Integer.toString(minut); if (sekund < 10) { Sekund = "0" + Integer.toString(sekund); String Dato = "[" + Time + ":" + Minut + ":" + Sekund + "] "; return Dato; Trykker brugeren på serialbutton, vil knappens navn blive ændret til disconnect. Tråden serial bliver startet så der oprettes forbindelse til minikittet. Hvis det lykkes vil det blive noteret i loggen. public void serialbutton_actionperformed(actionevent e) { try { BufferedWriter writelog = new BufferedWriter(new FileWriter( "c:\\klientlog.txt", true)); writelog.write(getdate() + " Connected to kit\n "); writelog.close(); catch (IOException ex) { serial.init(voltagestatus, currentstatus, effectstatus, relaystatus1, relaystatus2, relaystatus3, listen); if (serialknap == 0) { serialknap = 1; statusbar.settext("connected to kit"); serialbutton.settext("disconnect"); listen.serialconnectionon(); else { serialknap = 0; statusbar.settext("disconnected from kit"); serialbutton.settext("connect"); listen.serialconnectionoff(); Side 44 af 132

45 Tråd: Klient Tråden klient laver ikke det helt store udover at starte gui. Tråd: Connection Connection-tråden har en vigtig del i programmet, da den skal sørge for at brugeren kan forbinde til den valgte server. Når man arbejder med flere tråde er det nødvendigt at trådene udveksler de vigtige informationer indbyrdes. Dette klares med constructoren. JTextField ipnrfield; JTextField portnrfield; JLabel statusbar; JPasswordField passwordfield; JLabel currentstatus; JLabel voltagestatus; JLabel effectstatus; String tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7 = "0"; public connection(jtextfield ip, JTextField port, JLabel status, JPasswordField pass, JLabel current, JLabel voltage, JLabel effect) { passwordfield = pass; statusbar = status; ipnrfield = ip; portnrfield = port; voltagestatus = voltage; currentstatus = current; effectstatus = effect; Side 45 af 132

46 Det info brugeren har udfyldt i de tre felter fra gui tråden, hentes over og puttes i variabler. Via variablerne oprettes en socketforbindelse, og der vil blive skrevet i loggen, om der er oprettet forbindelse eller ej. public void run() { // Making portnr a integer int portnr = Integer.parseInt(portnrfield.getText()); String server = ipnrfield.gettext(); Socket clientserver = null; PrintWriter out = null; BufferedReader in = null; //Trying to connect to server if success it will be logged try { clientserver = new Socket(server, portnr); BufferedWriter writelog = new BufferedWriter(new FileWriter( "c:\\klientlog.txt", true)); writelog.write(getdate() + " Connected to server\n "); writelog.close(); catch (UnknownHostException ex) { //If the client can't connect to server it will be logged catch (IOException ex) { statusbar.settext("could not connect"); try { BufferedWriter writelog = new BufferedWriter(new FileWriter( "c:\\klientlog.txt", true)); writelog.write(getdate() + " Could not connect to server\n"); writelog.close(); catch (IOException log1) { Side 46 af 132

47 For at forbinde og kommunikere med serveren sker følgende: 1. Forbindelse forsøges oprettes 2. Kode sendes 3. Svar på kode modtages 4. Data sendes til server hvert 30. sekund try { out = new PrintWriter(clientserver.getOutputStream(), true); catch (IOException ex1) { statusbar.settext("could not transmit"); //Let the client receive data from server try { in = new BufferedReader(new InputStreamReader( clientserver.getinputstream())); catch (IOException ex2) { statusbar.settext("could not receive message"); //Sending password to server out.println(passwordfield.gettext()); try{ //Receive an answer from the server statusbar.settext(in.readline); catch (IOException ex3){ //Sending serialdata to the server while (true) { out.println(tmp1 + "," + tmp2 + "," + tmp6 + "," + tmp3 + "," + tmp4 + "," + tmp5 + "," + tmp7); try { Thread.sleep(30000); catch (InterruptedException ex4) { Funktionen settmp bruges fra serial-tråden, og førger for at tråden connection kender data modtaget fra minikittet. //Let connection know serial's variables with serialdata void settmp(string tmpa, String tmpb, String tmpc, String tmpd, String tmpe, String tmpf) { tmp1 = tmpa; tmp2 = tmpb; tmp3 = tmpc; tmp4 = tmpd; tmp5 = tmpe; tmp6 = tmpf; public void serialconnectionon() { tmp7 = "1"; public void serialconnectionoff() { tmp7 = "0"; Side 47 af 132

48 Tråd: Serial Serial er en klasse der fungerer som en tråd. Tråden bruges til at læse ind fra den serielle forbindelse. En masse variabler til brug i tråden initialiseres. public class serial implements Runnable, SerialPortEventListener { static CommPortIdentifier portid; static Enumeration portlist; InputStream inputstream; SerialPort serialport; Thread readthread; static connection listen; String tmp1; String tmp2; String tmp3; String tmp4; String tmp5; //Let the serial thread know some of gui's things static JLabel currentstatus; static JLabel voltagestatus; static JLabel effectstatus; static JPanel relaystatus1; static JPanel relaystatus2; static JPanel relaystatus3; Da vi laver en serielforbindelse til vores minikit, er det vigtigt at JAVA ved hvilken port vi bruger til at kommunikere med. Udover dette lader vi også tråden serial kende til nogle af tråden gui s forskellige variabler ved hjælp af constructoren. public static void init(jlabel current, JLabel voltage, JLabel effect, JPanel relay1, JPanel relay2, JPanel relay3, connection templisten){ voltagestatus = voltage; currentstatus = current; effectstatus = effect; relaystatus1 = relay1; relaystatus2 = relay2; relaystatus3 = relay3; listen = templisten; portlist = CommPortIdentifier.getPortIdentifiers(); //Finding computer ports.. com1, com2 and so on while (portlist.hasmoreelements()) { portid = (CommPortIdentifier) portlist.nextelement(); if (portid.getporttype() == CommPortIdentifier.PORT_SERIAL) { if (portid.getname().equals("com2")) { // if (portid.getname().equals("/dev/term/a")) { serial reader = new serial(); Side 48 af 132

49 Inden serielforbindelse til minikittet oprettes er det vigtigt at definere serielforbindelsens parametre. //Settings for the serialconnection public serial() { try { serialport = (SerialPort) portid.open("simplereadapp", 2000); catch (PortInUseException e) { e.printstacktrace(); try { inputstream = serialport.getinputstream(); catch (IOException e) { e.printstacktrace(); try { serialport.addeventlistener(this); catch (TooManyListenersException e) { e.printstacktrace(); serialport.notifyondataavailable(true); try { serialport.setserialportparams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); catch (UnsupportedCommOperationException e) { e.printstacktrace(); readthread = new Thread(this); readthread.start(); try { jbinit(); catch (Exception ex) { ex.printstacktrace(); Lige så snart at minikittet sender dets informationer, deles informationerne op i bidder og laves om til et array. Hvis minikittet ikke sender, vil der blive skrevet en fejlmeddelelse i loggen. //Collect data from the kit and put it into variables public void serialevent(serialportevent event) { switch (event.geteventtype()) { case SerialPortEvent.BI: case SerialPortEvent.OE: case SerialPortEvent.FE: case SerialPortEvent.PE: case SerialPortEvent.CD: case SerialPortEvent.CTS: case SerialPortEvent.DSR: case SerialPortEvent.RI: case SerialPortEvent.OUTPUT_BUFFER_EMPTY: break; case SerialPortEvent.DATA_AVAILABLE: byte[] readbuffer = new byte[14]; Side 49 af 132

50 //Cut the data up in pieces try { while (inputstream.available() > 0) { int numbytes = inputstream.read(readbuffer); String received = (new String(readBuffer)); String[] split = (received.split(",")); tmp1 = split[0]; //volt tmp2 = split[1]; //amp tmp3 = split[2]; //relay1 tmp4 = split[3]; //relay2 tmp5 = split[4]; //relay3 currentstatus.settext(tmp1); voltagestatus.settext(tmp2); //String tmp6 = Integer.toString(Integer.parseInt(currentstatus.getText()) * Integer.parseInt(voltagestatus.getText()) / 1000); float tmp6 = Integer.parseInt(tmp1) * Float.parseFloat(tmp2); String eff = Integer.toString((int) tmp6); listen.settmp(tmp1, tmp2, tmp3, tmp4, tmp5, eff); effectstatus.settext(eff); if (tmp3.equals("0")) { relaystatus1.setbackground(color.red); else { relaystatus1.setbackground(color.green); if (tmp4.equals("0")) { relaystatus2.setbackground(color.red); else { relaystatus2.setbackground(color.green); if (tmp5.equals("0")) { relaystatus3.setbackground(color.red); else { relaystatus3.setbackground(color.green); catch (IOException e) { break; try { BufferedWriter writelog = new BufferedWriter(new FileWriter( "c:\\klientlog.txt", true)); writelog.write(getdate() +"Could not connected to kit\n"); writelog.close(); catch (IOException ex) { Kildekoden til RackControl-Client er vedlagt som bilag. Side 50 af 132

51 Databaseserver På databaseserveren har vi installeret en standard Windows 2000 Server som operativsystem, for at få lidt variation. Der er ikke ændret noget ud over at Windows indbyggede webserver IIS er slået fra, da vi ikke behøver nogen webserver på denne maskine. MySQL alpha er blevet installeret som en del af FoxServ pakken, en pakke med web- og databaseserver og PHP som er nem at installere. Det er dog kun MySQL der er slået til som service og derfor det eneste der starter når Windows starter. Databaseopbygning Vores database er bygget enkelt op. Ens for alle tabellerne er at de alle indeholder et automatisk inkrementerende id-felt. Alle tidsfelterne angives som UNIX timestamp (antal sekunder siden 1/1 1970), da de er nemme at regne med senere på hjemmesiden. Tabellen aflaesning bruges til at gemme dataene fra aflæsningen af volt, ampere og watt. Desuden gemmes tiden og hvilken klient dataene er fra. Alle felterne er heltal undtaget ampere-feltet, da det bliver for upræcist uden kommatal. Tabellen relae er til aflæsning af relæernes status. Foruden det gemmes også klientens id og tidspunkt for aflæsning. Side 51 af 132

52 Tabellen clients er til klienterne. Hver klient får et id-nummer og et navn, så deres id er kan bruges i de andre tabeller som referencer. Tabellen events er til de forskellige fejl- og statusbeskeder som skal sættes ind hver gang der sker noget vigtigt i vores system. Id-feltet bruges igen som reference i andre tabeller. De to andre felter er den korte beskrivelse af fejltype og den længere beskrivelse til brug på hjemmesiden. Tabellen log bruges til at gemme statusbeskeder. Clientid og eventid refererer til idfelterne i henholdsvis clients og events. En SQL-dump over tabellerne, inklusiv en standardklient og 6 foruddefinerede events, er vedlagt som bilag. Side 52 af 132

53 Webserver / Firewall Serveropsætning I gruppen har vi sat en central server op til at køre som firewall, dhcp, web og samba. Opsætning af operativsystem Vi har valgt RedHat v9.0, da det er et meget stabilt operativsystem, som ikke kræver særlig mange resurser af den valgte maskine man vælger at installere produktet på. Det gode ved denne linux distribution er at det er et gratis produkt samt open source. At et produkt er open source, betyder at man selv kan tilrette / tilføje i selve kildekoden til operativsystemet og derved optimere systemet eller foretage ændringer efter behov. Systemkrav Grafisk brugerflade 400Mhz Pentium processor eller bedre Mindst 475MB diskplads, dog over 5GB hvis alt skal installeres 128MB RAM (192MB RAM anbefales) Tekstbaseret brugerflade 200Mhz Pentium processor eller bedre Mindst 475MB diskplads, dog over 5GB hvis alt skal installeres 64MB RAM (192MB RAM anbefales) Installation Under installation af RedHat har vi gjort følgende: 1. Installeret RedHat med engelsk sprog 2. Valgt dansk tastatur 3. Installeret RedHat som server (ingen grafisk brugerflade) 4. Tildelt systemet 6GB plads mountet som / 5. Tildelt systemet 1024MB swap 6. Fravalgt firewall (vi laver selv et firewallscript) 7. Valgt at installere dhcpd, og php-mysql modul Side 53 af 132

54 Opsætning af DHCP For at få vores RedHat maskine til at virke som DHCP server, skal onfigurationsfilen dhcpd.conf i /etc/ oprettes. Her gennemgås et par vigtige linjer i filen. En af de vigtige ting som man ofte glemmer, og den derfor ikke vil starte, er hvilken måde man vil have services til at opdatere DNS på. Der er to måder at gøre det på, ad-hoc som frarådes da den er for gammel og så interim. Vi har selvfølgelig valgt interim. ddns-update-style interim; Herefter angives hvilket netværk opsætningen gælder for, vi har desuden angivet to klienter som skal have faste IP-adresser. Det er nemlig vigtigt at vores RackControl-Server og database-server får de samme IP-adresser hver gang, af hensyn til RackControl- Server. host database { hardware ethernet 00:0c:6E:31:10:24; fixed-address ; host rackserver { hardware ethernet 00:0C:6E:31:11:39; fixed-address Konfigurationsfilen er nu redigeret færdig, nu mangles blot at oprette filen dhcpd.leases i /var/lib/dhcp/, der er en database over hvilke IP-adresser DHCP-serveren har tildelt maskinerne touch /var/liv/dhcp/dhcpd.leases Og så kan servicen startes service dhcpd start Side 54 af 132

55 Opsætning af Apache I projektoplæg står at vi skal have en maskine til at fungere som webserver, hvilket vi har valgt vores Linuxmaskine til. For at få RedHat til at fungere som webserver, er der nogle ting man lige skal have tilrettet. I /etc/ ligger der en fil der hedder hosts, filen har vi tilrettet til følgende: firewall.gruppe2 localhost firewall.gruppe firewall.gruppe2 Herefter skal vi til at tilrette httpd.conf, som ligger i mappen /etc/httpd/conf/. Følgende tilføjes: AddDefaultCharset iso Linjen tilføjes for at være sikker på at der kan vises danske og vesteuropæiske tegn. Næste linje angiver webserverens navn: ServerName firewall.gruppe2 Derefter sættes navnet på selve serveren til firewall: Services startes: hostname firewall service httpd start Side 55 af 132

56 Opsætning af Samba Da vi ikke orker at sidde fysisk ved serveren for at redigere hjemmesiden, har vi valgt at gøre brug af Samba. Samba er et stykke open source software, der på Linux blandt andet kan fungere som filog printdeling for Windows-klienter. For at få adgang til serveren via samba, skal man oprette en sambabruger, og det gøres ved at oprette brugeren lokalt på maskinen useradd web og derefter gøre ham til sambabruger: smbadduser web:web eller smbpasswd a web Når kommandoen er udført, får man besked på at angive password til den oprettede bruger. Brugeren web på vores server skal have adgang til mappen html, som ligger i /var/www/. For at det kan lade sig gøre, er der to ting der skal gøres, at give brugeren rettigheder til den ønskede mappe chown web:web /var/www/html og tilføje nogle linjer i smd.conf, som ligger i /etc/samba/, så brugeren starter i den pågældende mappe [web] user = web write list = web path = /var/www/html NetBIOS-navnet defineres, så Windowsklienter kan logge på via det Servicen startes netbiosname = firewall service smb start Side 56 af 132

57 Opsætning af firewall For at kunne bestemme hvilke ting der skal kunne kommunikere gennem serveren, har vi lavet et firewallscript kaldet brandmur, som gør brug af iptables. Iptables er en overbygning til Linux-kernens netfilter infrastruktur, der gør at man med iptables-modulet kan sætte et filter op præcist som vil. Via forudspecificerede kæder som INPUT og OUTPUT kan man bestemme hvilke slags pakker man vil acceptere eller afvise. Vores firewall sørger for at udvalgte TCP- og UDP-porte åbnes, så folk kan tilgå vores hjemmeside via port 80 og RackControl-Client kan tilgå RackControl-Server via port Alle forbindelser fra det interne net bliver accepteret. Scriptet skal gøres eksekverbart og startes chmod 777 brandmur (filen har vi lagt i /home/)./brandmur Nu mangler vi blot at sørge for at scriptet bliver eksekveret hver gang serveren startes. Følgende køres mens man står i mappen /etc/rc.d/rc3.d/ ln s /home/brandmur S09firewall Tallet 09 angiver rækkefølgen som scripts på serveren bliver startet ved opstart. Her gælder det om at få den startet efter iptables-modulet (som hedder S08iptables), men før netværksmodulet (som hedder S10network). Derved sikrer man at der i teorien ikke kan nå at være et åbent og sårbart system. Firewallscriptet er vedlagt som bilag. Side 57 af 132

58 Valg af services Når serveren starter op, er det vigtigt at sikre at serveren starter de services, man har brug for. Den nemmeste måde man kan gøre dette på er at skrive setup, hvorefter man under System services markerer de services man vil starte op med maskinen. Ud over de services, der allerede er valgt som standard, har vi valgt DHCP (dhcpd), Samba (smbd) samt webserveren Apache (httpd). Side 58 af 132

59 Hjemmeside Teknologierne bag XHTML For at præsentere de indsamlede data skal de vises på en hjemmeside og vi har i gruppen valgt at benytte XHTML 1.0 Transitional kode. XHTML er en reformulering af HTML 4.0 i XML 1.0 sproget. XHTML-, HTML- og XMLstandarderne bliver beskrevet, vedligeholdt og udviklet af World Wide Web Consortium (W3C), De vigtigste forskelle (set fra webmasterens øjne) mellem f.eks. HTML 4.0 og XHTML 1.0 er: Valideret XHTML kode er basalt set XML, og kan derfor køres på mange enheder, f.eks. håndholdte enheder og mobiltelefoner, der ikke har plads eller behov for en egentlig webbrowser (som Microsofts Internet Explorer eller Mozillas Firefox) I XHTML kan indhold og design adskilles, skal man kun bruge en række data skal man altså ikke downloade og senere si en masse unødvendig designkode fra Fordi XHTML bygger på XML kan man inkludere anden slags XML kode, f.eks. skalerbar XML-vektorgrafik (SVG) eller MathML, et matematisk XML-sprog Alle XHTML-tags skrives med små bogstaver XHTML-tags der ikke har en afsluttede tag skal afsluttes med en skråstreg før > tegnet. <p></p> skal altså stadig se sådan ud, mens <br>, der ikke har en </br>, skal hedde <br /> PHP Da vores side skal være dynamisk og kunne kommunikere med en SQL-database er vi nødt til at bruge et scriptsprog som for eksempel ASP eller PHP. Vi har valgt at bruge PHP på en Apache webserver, da begge dele er åbne, gratis og kan køre på en Linuxserver. PHP er et meget populært scriptingsprog. Det er open source og dets syntaks minder meget om C, Java, og Perl. Ud over at kunne bruges til mange andre ting, så er PHP specielt velegnet til hjemmesider, hvor det kan gøre dem dynamiske og nærmest selvopdaterende. For at få PHP til at kommunikere med en MySQL-database har vi under vores serverinstallation installeret et PHP-MySQL-modul til vores webserver. SQL Da kravet i projektoplægget var en SQL-baseret database og vi har en MySQL-databaseserver, bruger vi PHP s MySQL-modul, til at kommunikere med. MySQL er et multitrådet og multitbruger SQL databasesystem. Side 59 af 132

60 Hjemmesiden Hjemmeside er bygget op til at være så overskuelig som muligt. Man skal ikke igennem alle mulige sider for at foretage en søgning, og man kan altid øverst på siden se ens valgte tidsinterval, klient og log. Siden er også let at benytte. Man vælger blot et fra- og til-tidspunkt, hvilken klient man vil bruge og hvilken log der skal hentes data ud fra. Herefter vil man få præsenteret dataene i omvendt kronologisk rækkefølge, altså nyeste data øverst. Funktioner og opbygning For at genbruge en del kode er der konstrueret nogle funktioner. Det gør at vi kun behøver at foretage ændringer ét sted i koden, i stedet for hvert sted vi skulle have placeret koden. Det gør desuden koden meget mere overskuelig. Funktion: GetClient ($ClientId) Henter og returnerer klientens navn fra ud fra et klient-id. Funktionen bruges ved visning af data i tabellerne. Funktion: GetEvent ($EventId) Henter en beskrivelse af eventen og vises når brugeren har valgt fejlsøgningsloggen. Side 60 af 132

Oversigts billedet: Statistik siden:

Oversigts billedet: Statistik siden: 1 Tilslutning: Tilslut et nætværks kabel (medfølger ikke) fra serverens ethernet port til din router. Forbind derefter bus kablet til styringen, brun ledning til kl. 29, hvid ledning til kl. 30 Forbind

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

smart-house Web-Server Manual smart-house Web-Server Manual 1 of 15

smart-house Web-Server Manual smart-house Web-Server Manual 1 of 15 smart-house Web-Server Manual CARLO GAVAZZI AS, PB 215, NO-3901 Porsgrunn Telefon: 35 93 08 00 Telefax: 35 93 08 01 Internet: http://www.carlogavazzi.no E-Mail: gavazzi@carlogavazzi.no 1 of 15 Indholdsfortegnelse

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Kompendium til Arduino-programmering i Teknologi. Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Vi skal forstå princippet i programmering af en uc og se

Læs mere

Smargo Smartreader+ (version 9.9.2008)

Smargo Smartreader+ (version 9.9.2008) Smargo Smartreader+ (version 9.9.2008) Med Smargo Smartreader plus er det muligt at tilføje yderlige en kortlæser til din Dreambox eller aflæse kortet på en PC-linux server. Nedenfor gives vejledning i

Læs mere

PHP Quick Teknisk Ordbog

PHP Quick Teknisk Ordbog PHP Quick Teknisk Ordbog Af Daniel Pedersen PHP Quick Teknisk Ordbog 1 Indhold De mest brugte tekniske udtryk benyttet inden for web udvikling. Du vil kunne slå de enkelte ord op og læse om hvad de betyder,

Læs mere

Ruko SmartAir. Updater installation

Ruko SmartAir. Updater installation Ruko SmartAir Updater installation Introduktion. Updateren er en speciel enhed som giver os mulighed for at tilføje, læse og skrive funktioner i en offline installation. Med læse og skrive funktionen kan

Læs mere

Start på Arduino og programmering

Start på Arduino og programmering Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget

Læs mere

Installation af MySQL server på PC

Installation af MySQL server på PC Installation af MySQL server på PC (Udgave 0.02 2013-Oktober-06 @ 22:30 Chris Bagge, Mindre rettelser) Dette er en kort beskrivelse af hvordan man får installeret en MySQL server på en PC med Windows 7.

Læs mere

Installationsmanual. 2 Installering...6. 3 Installering SMS sender...7. 4 Installering PSTN/GSM sender...7. 5 Installering PSTN GSM konverter...

Installationsmanual. 2 Installering...6. 3 Installering SMS sender...7. 4 Installering PSTN/GSM sender...7. 5 Installering PSTN GSM konverter... CS 47 Syntax Side 2 Indholdsfortegnelse 1 Introduktion...4 1.1 Funktioner...4 1.2 Forsyning...4 1.3 PSTN support...5 1.4 GSM support...5 1.5 SMS support...5 1.6 Indgange...5 1.7 Udgange...5 1.8 Password...5

Læs mere

WT-1011RC Programmer User Guide

WT-1011RC Programmer User Guide WT-1011RC Programmer User Guide Firmware Version 1.9 Note: 1. Information in this manual is subject to change without notice and does not represent a commitment of manufacturer. 2. Manufacturer shall not

Læs mere

Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning

Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning 1. Lokalt installeret afleveringsprogram til stedprøver... 2 2. Systemkrav... 3 3. Netværksopsætning... 4 4. Installation

Læs mere

Kom godt igang med DS-101g+ Disk Station. (installations vejledning)

Kom godt igang med DS-101g+ Disk Station. (installations vejledning) Kom godt igang med DS-101g+ Disk Station (installations vejledning) Bemærk Venligst se Chapter 2 Get to Know the Hardware i den engelske User s Guide for detaljeret beskrivelse af knapperne samt LEDs funktioner.

Læs mere

PID2000 Archive Service

PID2000 Archive Service PROLON CONTROL SYSTEMS Herstedvesterstræde 56 DK-2620 Albertslund Danmark Tlf.: (+45) 43620625 Fax: (+45) 43623125 PID2000 Archive Service Bruger vejledning Juni 2002 Denne manual beskriver brugen af softwaren

Læs mere

Opsætning af MobilePBX med Kalenderdatabase

Opsætning af MobilePBX med Kalenderdatabase Opsætning af MobilePBX med Kalenderdatabase Dette dokument beskriver hvorledes der installeres Symprex Exchange Connector og SQL Server Express for at MobilePBX kan benytte kalenderadadgang via database

Læs mere

BAS 920. Datablad. BA Systems Petershvilevej 1 DK-3200 Helsinge http://www.basystems.dk

BAS 920. Datablad. BA Systems Petershvilevej 1 DK-3200 Helsinge http://www.basystems.dk BAS 920 BA Systems Petershvilevej 1 DK-3200 Helsinge http://www.basystems.dk BAS 920 tilhører en familie af frit programmerbare kontrollere designet til at være skalerbare fra helt små til meget store

Læs mere

Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor.

Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor. Simple kontakter Accelorometer Example sensors Lysfølsomme modstande RFID reader & tags Temperaturfølsomme modstande Flex Sensor Ultralyds afstandsmåler Piezo Pressure/vibration Piezo Sound/buzzer Peltier

Læs mere

SSI-9001 IP65. Installations vejledning. SSIHuset v/svane Electronic ApS. GSM fjern kontrol og alarm system

SSI-9001 IP65. Installations vejledning. SSIHuset v/svane Electronic ApS. GSM fjern kontrol og alarm system SSI-9001 IP65 GSM fjern kontrol og alarm system Installations vejledning SSIHuset v/svane Electronic ApS Vejledning Kontakt Tænd/sluk 1 - Strømforsyning: Forbundet til egen 12V / 1.5A strømforsyning (*)

Læs mere

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund AVR MP3 29-05-08 Indholdsfortegnelse 1 Introduktion...2 2 Udviklingsmiljø...2 3 Beskrivelse af systemet...3 3.1 VS1001k...3 3.2 MP3 file formatet...6 4 Konklusion...6 5 Litteratur liste...6 6 Illustrations

Læs mere

I denne øvelse vil du få vist hvordan opsætningen af netværket foregår. Målet er at du selv kan konfigurere en IP adresse på din lokal maskine.

I denne øvelse vil du få vist hvordan opsætningen af netværket foregår. Målet er at du selv kan konfigurere en IP adresse på din lokal maskine. I denne øvelse vil du få vist hvordan opsætningen af netværket foregår. Målet er at du selv kan konfigurere en IP adresse på din lokal maskine. Opsætningen her er speciel for dette lokalnetværk, der kan

Læs mere

Vejledning. Opsætning af Trio Web Vers 2.0 feb. 2010

Vejledning. Opsætning af Trio Web Vers 2.0 feb. 2010 Opsætning af Trio Web Vers 2.0 feb. 2010 Indholdsfortegnelse Opsætning af Trio Web... 3 Generel opsætning af Trio Web... 3 Databaseopsætning... 3 DB... 3 Aar... 4 Login... 4 Internet... 4 Port... 4 Registreringsnøgle...

Læs mere

SSSystems.local. Netværk. Sikkerhed. Webserver

SSSystems.local. Netværk. Sikkerhed. Webserver SSSystems.local Netværk Vi har valgt at bygge vores netværk på en måde der sikre at trafik fra DMZ en ikke kan komme ned til vores LAN. Både ved hjælp af firewall regler og NAT. Men for at sikre at vi

Læs mere

KIH Database. Systemdokumentation for KIH Databasen. 1. maj 2013. Side 1 af 13

KIH Database. Systemdokumentation for KIH Databasen. 1. maj 2013. Side 1 af 13 KIH Database Systemdokumentation for KIH Databasen 1. maj 2013 Side 1 af 13 Indholdsfortegnelse Indholdsfortegnelse... 2 Indledning... 3 Systemoverblik... 3 KIH Database applikationsserver... 5 Forudsætninger

Læs mere

HELLO INSTALLATIONS GUIDE - DANSK RACKPEOPLE

HELLO INSTALLATIONS GUIDE - DANSK RACKPEOPLE HELLO INSTALLATIONS GUIDE - DANSK RACKPEOPLE 1 Tekniske Krav 1.1 Hardware krav: En skærm gerne med touch Hvis skærmen ikke har touch, skal du bruge et tastatur og en mus Webcam Gerne i HD En ekstern lydenhed

Læs mere

Kom godt i gang med Icotera fiberboks. med indbygget router. 25562 - TRE BRE booklet 120x120 fiberboks ICOTERA rev06.indd 1

Kom godt i gang med Icotera fiberboks. med indbygget router. 25562 - TRE BRE booklet 120x120 fiberboks ICOTERA rev06.indd 1 Kom godt i gang med Icotera fiberboks med indbygget router 25562 - TRE BRE booklet 120x120 fiberboks ICOTERA rev06.indd 1 04-10-2012 10:25:12 Tillykke med din nye fiberboks Inden du får glæde af fiberbredbåndet,

Læs mere

Umbraco installationsvejledning

Umbraco installationsvejledning på et ScanNet ASP Webhotel Indledning Beskrivelse Denne vejledning vil indeholde installation af CMS systemet Umbraco på et ASP Webhotel. Det dansk grundlagt Content Management System (CMS) Umbraco er

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

Dr.Sherlock INSTALLATION. 1.0 Diagram TEMPERATUR - OVERVÅGNING

Dr.Sherlock INSTALLATION. 1.0 Diagram TEMPERATUR - OVERVÅGNING Dr.Sherlock TEMPERATUR - OVERVÅGNING 1.0 Diagram INSTALLATION Kabel til følere skal være type FLEX YSY-JZ eller lignende. Det må gerne være en multileder med fælles skærm. Det er også muligt at køre med

Læs mere

Svendeprøve Projekt Tyveri alarm

Svendeprøve Projekt Tyveri alarm Svendeprøve Projekt Tyveri alarm Påbegyndt.: 8/2-1999 Afleveret.: 4/3-1999 Projektet er lavet af.: Kasper Kirkeby Brian Andersen Thomas Bojer Nielsen Søren Vang Jørgensen Indholds fortegnelse 1. INDLEDNING...3

Læs mere

Quick Guide for Mobil Reception (Omhandler mobil reception også kaldet isymphony)

Quick Guide for Mobil Reception (Omhandler mobil reception også kaldet isymphony) Quick Guide for Mobil Reception (Omhandler mobil reception også kaldet isymphony) Generelt Mobil Reception er et værktøj som bruges til at overvåge medarbejdere, kø er og meget andet samt styre dit omstillingsanlæg

Læs mere

Svane Electronic Timer universal med 8 funktioner 1

Svane Electronic Timer universal med 8 funktioner 1 Svane Electronic Timer universal med 8 funktioner 1 Digital timer print modul 12V 2000.2231 Multi funktions timer med 8 funktioner, anvendelig i mange installationer, forsyning 12VDC drift. Printet har

Læs mere

3. Menuen Start -> Programs -> OpenVPN åbnes, og "My Certificate Wizard" vælges:

3. Menuen Start -> Programs -> OpenVPN åbnes, og My Certificate Wizard vælges: Opsætning af VPN forbindelse til DRC En VPN forbindelse gør det muligt for en hjemmecomputer, eller en bærbar computer, at få adgang til DRCs interne lokalnet fra en vilkårlig internetforbindelse. Forudsætninger

Læs mere

Kom godt i gang med. Icotera fiberboks. med indbygget router

Kom godt i gang med. Icotera fiberboks. med indbygget router Kom godt i gang med Icotera fiberboks med indbygget router Tillykke med din nye fiberboks Inden du får glæde af fiberbredbåndet, skal du have tilsluttet computer, TV og telefon til fiberboksen. Med denne

Læs mere

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Installation og Drift. Aplanner for Windows Systemer Version 8.15 Installation og Drift Aplanner for Windows Systemer Version 8.15 Aplanner for Windows løsninger Tekniske forudsætninger Krav vedr. SQL Server SQL Server: SQL Server 2008 Express, SQL Server 2008 R2 eller

Læs mere

QUICKVEJLEDNING. Montering

QUICKVEJLEDNING. Montering QUICKVEJLEDNING Montering 1. Klargør et SIM-kort, så pinkoden er 1234 eller deaktiveret. Monter kortet i enheden. Enheden har nu 1234 som password eller kører uden password. Kortet vendes som vist nedenfor.

Læs mere

BRUGERVEJLEDNING VIDEOKAMERA

BRUGERVEJLEDNING VIDEOKAMERA BRUGERVEJLEDNING VIDEOKAMERA Side 2 til nyt videokamera Introduktion Det nye videokamera er et IP-videokamera, der tilsluttes trådløst til din router. Videokameraet fungerer sådan, at du kan se videooptagelser

Læs mere

PHP kode til hjemmeside menu.

PHP kode til hjemmeside menu. PHP kode til hjemmeside menu. Home Hovedmenu 1 Hovedmenu 2 Hovedmenu 3 Hovedmenu 4 Undermenu 1 Breadcrumb Her vises indholdet af den valgte side Undermenu 2 Undermenu 3 Undermenu 4 Evt. en mulighed for

Læs mere

Video Projector Controller. Brugermanual

Video Projector Controller. Brugermanual Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK l Video Projector Controller Brugermanual WWW.WAHLBERG.DK TELEPHONE +45 86 18 14 20 CELL PHONE +45 40 52 20 88 EMAIL: mads@wahlberg.dk Feb

Læs mere

Installation Aesiras 2009

Installation Aesiras 2009 Installation Aesiras 2009 Installationsvejledning Denne vejledning guider dig igennem installation af systemet. Hvis du kun har behov for økonomi- og handelsdelen, skal du kun anvende denne installationsvejledning.

Læs mere

Åbning af porte og UPnP

Åbning af porte og UPnP Åbning af porte og UPnP Denne guide har til formål at hjælpe dig med at åbne for porte i din router og/eller aktivere UPnP. Det kan være nødvendigt at åbne porte i ens router hvis man for eksempel anvender

Læs mere

Installation af Oracle 10g Release 2 database

Installation af Oracle 10g Release 2 database Installation af Oracle 10g Release 2 database Oracle 10g database indeholder databasesoftware, enterprise manager, SQL*Plus m.m., HTML DB (i dag kendt som Application Express) og tilhørende HTTP Server

Læs mere

TEKNISKE FORHOLD VEDR. ADGANG TIL VP.ONLINE. Brugervejledning

TEKNISKE FORHOLD VEDR. ADGANG TIL VP.ONLINE. Brugervejledning TEKNISKE FORHOLD VEDR. ADGANG TIL VP.ONLINE vp.online 2011 01-10-2011 Indholdsfortegnelse 1 PROBLEMER MED AT SE VP.ONLINE... 3 2 BROWSER KONFIGURATION... 6 3 SKRIVEADGANG TIL DREV... 7 4 SESSION TIMEOUT

Læs mere

MiniPlex-41USB NMEA-0183 multiplexer Betjeningsvejledning

MiniPlex-41USB NMEA-0183 multiplexer Betjeningsvejledning MiniPlex-41USB NMEA-0183 multiplexer Betjeningsvejledning MiniPlex-41USB, V1.1 Firmware V1.20 SeaTech, 2002 Indledning: MiniPlex-41USB er en 4-kanals data multiplexer, som giver mulighed for tilslutning

Læs mere

QUICK MANUAL BRUGERNAVN: ADMIN PASSWORD: 00000 APP: SMARTEYES PRO PORT: 50100. SecVision - Quick Manual v1.0

QUICK MANUAL BRUGERNAVN: ADMIN PASSWORD: 00000 APP: SMARTEYES PRO PORT: 50100. SecVision - Quick Manual v1.0 QUICK MANUAL BRUGERNAVN: ADMIN PASSWORD: 00000 APP: SMARTEYES PRO PORT: 50100 SecVision - Quick Manual v1.0 1. System Login 1.1. Bruger Login ID: admin Password: 00000 1.2. Indstilling af dato/tid og harddisk

Læs mere

Servlets, Tomcat & BlueJ

Servlets, Tomcat & BlueJ Servlets, Tomcat & BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 05.october 2007 Hvad er Servlets: For at forstå det, må vi først få styr på to begreber, nemlig statiske og dynamiske hjemmesider

Læs mere

Installation af Bilinfo på Windows

Installation af Bilinfo på Windows Installation af Bilinfo på Windows Eksempler i denne vejledning er taget fra Windows 7 og Internet Explorer 8 Download det nødvendige program. Gå ind på www.bilinfo.dk/download Klik på download ud for:

Læs mere

Installation og ibrugtagning af Geomagic Alibre Vault

Installation og ibrugtagning af Geomagic Alibre Vault Karl Lausten Bright Ideas Tlf.:+45 98 62 28 37 Mejsevej 8 Email: klausten@bright-ideas.dk DK-9600 Aars www.bright-ideas.dk CVR 26 85 59 69 12.02.2014 Installation og ibrugtagning af Geomagic Alibre Vault

Læs mere

Vejledning til GSM alarm sender

Vejledning til GSM alarm sender 1 Vejledning til GSM alarm sender SSIHuset Svane Electronic 2 Sikkerheds tips Brug kun dette produkt som foreskrevet her i vejledningen. Installer ikke senderen tæt på vand, fugt eller direkte varme. Forbind

Læs mere

GSM port styring 400 brugere

GSM port styring 400 brugere 1 GSM port styring 400 brugere SMS alarm, temperatur og fjernkontrol system 16 brugere til at modtage alarmbeskeder via SMS Software vejledning SSIHuset Svane Electronic ApS Arildsvej 27, Gråmose, DK-7442

Læs mere

SMARTair Genesis. Manual for installatør

SMARTair Genesis. Manual for installatør SMARTair Genesis Manual for installatør Indholdsfortegnelse Generelt om Genesis... 3 1.1 Brugsområder... 3 1.2 Adgangskort og brikker... 3 1.3 Zys læsere... 3 Beskrivelse og installation af komponenter...

Læs mere

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: Applikationer Opgave: Eksamens-spørgsmål Lære: Kim Rundblad Side 1 af 9 Dato: 26-06-2003

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: Applikationer Opgave: Eksamens-spørgsmål Lære: Kim Rundblad Side 1 af 9 Dato: 26-06-2003 Applikationer Eksamensspørgsmål Spørgsmål 1: Navn: Søren Guldbrand Pedersen Side 1 af 9 Dato: 26-06-2003 Dynamisk hjemmeside på WebNet modul. Vis hvorledes en dynamisk hjemmeside sættes sammen med html

Læs mere

Delfi Connect. Bruger vejledning 1. TILSLUTNING...2 2. INSTALLATION...3 3. MENUSTRUKTUR...4

Delfi Connect. Bruger vejledning 1. TILSLUTNING...2 2. INSTALLATION...3 3. MENUSTRUKTUR...4 Delfi Connect Bruger vejledning INDHOLD 1. TILSLUTNING...2 2. INSTALLATION...3 3. MENUSTRUKTUR...4 TOOLS...4 4. KOMMUNIKATIONS OPSÆTNING...5 5. GENEREL OPSÆTNING OG DATA KONFIGURATION...6 RECORD...8 BASAL

Læs mere

Programmeringseksempel tl BCxxxx (Seriel)

Programmeringseksempel tl BCxxxx (Seriel) APP-NOTE 600005 Beckhoff Application Note Date: 8/28/2006 Document Status: First Draft Beckhoff Automation Aps Naverland 2, DK-2600 Glostrup Phone +45 43 46 76 20 Fax +45 43 46 63 35 Programmeringseksempel

Læs mere

ISC2100 kan kommunikere via RS232, RS485, Ethernet og LON, bruge USB enhed og USB host.

ISC2100 kan kommunikere via RS232, RS485, Ethernet og LON, bruge USB enhed og USB host. DK-1 ISC2100 er en frit programmerbar regulator, som er skalérbar til styring af helt små og op til meget store anlæg. ISC2100 kan eksempelvis anvendes til styring af varme, brugsvand og ventilation, samt

Læs mere

Installationsguide IBM Tivoli Storage Manager for Databases Data Protection for Microsoft SQL Server

Installationsguide IBM Tivoli Storage Manager for Databases Data Protection for Microsoft SQL Server Installationsguide IBM Tivoli Storage Manager for Databases Data Protection for Microsoft SQL Server Side 1 af 20 INSTALLATIONSGUIDE 1 1 FORORD 3 2 OPRET NODEN I NETGROUP PORTAL. 4 3 KLIENTSOFTWARE 5 3.1

Læs mere

Quickguide. Dansk quickguide til Nexus IP opsætning

Quickguide. Dansk quickguide til Nexus IP opsætning Quickguide Dansk quickguide til Nexus IP opsætning Contents NVR guide... 3 1.0 Optageren:... 3 1.1 Tilslutning... 3 1.2 Installation af harddisk:... 3 2.0 Først gang din optager bliver startet:... 4 3.0

Læs mere

Vejledning til at tjekke om du har sat manuel IP på din computer.

Vejledning til at tjekke om du har sat manuel IP på din computer. Indhold Vejledning til at, komme på nettet. (DANSK)... 2 Gælder alle systemer.... 2 Vejledning til at tjekke om du har sat manuel IP på din computer.... 2 Windows 7... 2 Windows Vista... 2 Windows XP...

Læs mere

Programmering i C Intro og grundlæggende C 5. marts 2007

Programmering i C Intro og grundlæggende C 5. marts 2007 Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner

Læs mere

M A D S L A R S E N, A S G E R B A L L E G A A R D & J O N A S K R O N B O R G R O S K I L D E T E K N I S K E G Y M N A S I U M.

M A D S L A R S E N, A S G E R B A L L E G A A R D & J O N A S K R O N B O R G R O S K I L D E T E K N I S K E G Y M N A S I U M. M A D S L A R S E N, A S G E R B A L L E G A A R D & J O N A S K R O N B O R G R O S K I L D E T E K N I S K E G Y M N A S I U M mininet EN ØVELSE I AT ETABLERE ET NETVÆRK S E R V I C E O G K O M M U N

Læs mere

Webstech Trådløs Sensor Overvågning. Brugervejledning

Webstech Trådløs Sensor Overvågning. Brugervejledning Webstech Trådløs Sensor Overvågning Brugervejledning Besøg venligst vores hjemmeside for senest opdaterede udgave eller for hjælp Support Dato Version Ændringer 1. Januar 2013 1.0 Nyt layout for 2013 kunder

Læs mere

Opdatering af ISOWARE til version 6.1.0

Opdatering af ISOWARE til version 6.1.0 Opdatering af ISOWARE til version 6.1.0 September 2015 Indhold Kontaktoplysninger... 1 VIGTIGT... 2 Opdatering af trejdepartssoftware... 2 Opdatering til version 6.1.0.... 2 1. Backup af databasen... 3

Læs mere

Guide til at lave din egen hjemmeside Maria, Mads, Morten Sebastian og Marc

Guide til at lave din egen hjemmeside Maria, Mads, Morten Sebastian og Marc 7/2-2014 Guide til at lave din egen hjemmeside Maria, Mads, Morten Sebastian og Marc Kommunikation/IT 14 Indhold Opsætning af webserver... 2 Secure Shell - PuTTY... 2 Ændring af kodeord... 3 Installation

Læs mere

Opret ODBC datakilde Vejledning

Opret ODBC datakilde Vejledning Vejledning V. 1 APRIL 2011 FOR KUNDESERVICE Indholdsfortegnelse 1 Indledning... 3 1.1 Formål... 3 1.2 Målgruppe... 3 1.3 Krav... 3 2 Opret ODBC Datakilde (Open Database Connectivity)... 3 2.1 Forbindelse

Læs mere

INSTALLATIONSVEJLEDNING

INSTALLATIONSVEJLEDNING INSTALLATIONSVEJLEDNING Bemærk! At under installeringen, vil der, hvis du benytter Norton Antivirus, komme en meddelelse om en script-virus. Hertil skal du blot accepterer denne meddelelse, for at kunne

Læs mere

Smartair 6.0. Installations guide

Smartair 6.0. Installations guide Smartair 6.0 Installations guide Indholdsfortegnelse 1 Indledning... 4 2 System Oversigt... 4 3 Installation... 5 3.1 System Krav... 5 3.2 Klargøring af installationen... 5 3.3 Afinstallere tidligere TS1000

Læs mere

Håndbog Til CPR services. Bilag 10 Opsætning af CPR klienten til understøttelse af forskellige installationstyper

Håndbog Til CPR services. Bilag 10 Opsætning af CPR klienten til understøttelse af forskellige installationstyper Håndbog Til CPR services Bilag 10 Opsætning af CPR klienten til understøttelse af forskellige installationstyper CPR-kontoret Datavej 20, Postboks 269, 3460 Birkerød E-post: cpr@cpr.dk. Telefax 45 82 51

Læs mere

Guide til indbygget PLC Teco 7300 CV frekvensomformere

Guide til indbygget PLC Teco 7300 CV frekvensomformere Guide til indbygget PLC Teco 7300 CV frekvensomformere Juni 2005 Indholdsfortegnelse. Interface...3 Installering af PC-program...3 Forbindelse til frekvensomformer...4 Gem parameteropsætning / PLC-program...7

Læs mere

Huset 2 overblik 4 Følgende kamera systemer kan linkes til DBM 6000 : Avermedia, Dallmeier, GeoVision, Milestone, Mirasys, Seetec, VisiMAX Kameraet kan tilgåes via installations vinduet, bygningstegningen

Læs mere

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet. Opsætning af Backup Dette er en guide til opsætning af backup med Octopus File Synchronizer. Det første der skal ske er, at programmet skal registreres (programmet kan dog bruges i 30 dage, hvis det ikke

Læs mere

Westermo GDW-11 GSM Modem forbindelse til CXxxxx

Westermo GDW-11 GSM Modem forbindelse til CXxxxx APP-NOTE 609005 Beckhoff Application Note Date: 1/5/2007 Document Status: First Draft Beckhoff Automation Aps Naverland 2, DK-2600 Glostrup Phone +45 43 46 76 20 Fax +45 43 46 63 35 Westermo GDW-11 GSM

Læs mere

Sådan installeres og teste WordPress på en lokal server

Sådan installeres og teste WordPress på en lokal server Sådan installeres og teste WordPress på en lokal server Det gratis WordPress blog værktøj er vokset gennem årene til et fuldgyldigt CMS-system content management system). WordPress har forenklet processen

Læs mere

Programmering af CS7050 TCP/IP modul

Programmering af CS7050 TCP/IP modul Comfort CSx75 Programmering af CS7050 TCP/IP modul Introduktion CS7050 TCP-IP modulet er en fuldt integreret enhed, som tilbyder nye funktioner til Comfort seriens centraler i form af TCP/IP Ethernet forbindelse

Læs mere

X88S. SMS fjernstyring til sommerhuse

X88S. SMS fjernstyring til sommerhuse X88S SMS fjernstyring til sommerhuse X88s er en GSM/SMS baseret fjernstyring med: 6 indgange 8 relæudgange 2 temperaturfølere Billig i drift, intet abonnement. Kan køre på taletidskort. Nem og hurtig montering.

Læs mere

SSI 6000.0400 GSM Fjernbetjenings system for porte/garage døre

SSI 6000.0400 GSM Fjernbetjenings system for porte/garage døre 1 SSI 6000.0400 GSM Fjernbetjenings system for porte/garage døre Vejledning SSIHuset v/svane Electronic ApS Arildsvej 27, Gråmose, DK-7442 Engesvang mail: ssi@svane-el.dk http: svane-el.dk 2 System for

Læs mere

Dokumentering af umbraco artikeleksport:

Dokumentering af umbraco artikeleksport: Dokumentering af umbraco artikeleksport: Lav en artikel side 2-3. Installationsguide side 3-5. Opsættelse af databasen og web.config side 5-8. Umbraco: templates side 8. Umbraco: borger.dk tab side 8.

Læs mere

Indholdsfortegnelse. Hvorfor skal jeg tage backup af min blog? Side 3. Tag backup med UpDraft Side 4. Tag manuelt backup Side 8 - 2 -

Indholdsfortegnelse. Hvorfor skal jeg tage backup af min blog? Side 3. Tag backup med UpDraft Side 4. Tag manuelt backup Side 8 - 2 - - 1 - Indholdsfortegnelse Hvorfor skal jeg tage backup af min blog? Side 3 Tag backup med UpDraft Side 4 Tag manuelt backup Side 8-2 - Hvorfor skal jeg tage backup af min blog? Lige meget om du har opbygget

Læs mere

QUICKVEJLEDNING til 4-moduler. Montering

QUICKVEJLEDNING til 4-moduler. Montering QUICKVEJLEDNING til 4-moduler Montering 1. Klargør et SIM-kort, så pinkoden er 1234 eller deaktiveret. Monter kortet i enheden. Enheden har nu 1234 som password eller kører uden password. Kortet vendes

Læs mere

Diagnostic og Toolbox Instruktion. www.lp.dk Lindgaard Pedersen A/S. Rev. 1.0 Side 1 / 14

Diagnostic og Toolbox Instruktion. www.lp.dk Lindgaard Pedersen A/S. Rev. 1.0 Side 1 / 14 EL-PAS -Cruise II ANDROID Diagnostic og Toolbox Instruktion LP www.lp.dk Lindgaard Pedersen A/S Side 1 / 14 Indhold Denne vejledning indeholder instruktion til brug af Cruise Android App, hentet fra Android

Læs mere

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... 9 Nogle HTML tags... 9 Databaser og PHP Når vi snakker

Læs mere

KRAV TIL INFRASTRUKTUR

KRAV TIL INFRASTRUKTUR KRAV TIL INFRASTRUKTUR VERSION 4.2.8 SEPTEMBER 2015 Indholdsfortegnelse 1 Generelt... 1 2 Servermæssige krav til -modulerne... 1 2.1 Systemmæssige krav i servermiljø... 1 2.2 Hardwaremæssige krav i servermiljø...

Læs mere

GUIDE TIL CLOUD DRIVE

GUIDE TIL CLOUD DRIVE GUIDE TIL CLOUD DRIVE Dette er en guide du kan anvende til nemt at komme effektivt i gang med at anvende Cloud Drive Indholdsfortegnelse 1. Tilgængelige Cloud Drive klienter 2. Guide til Windows klienten

Læs mere

Vejledning for TKE 01 Ver 4.01

Vejledning for TKE 01 Ver 4.01 Vejledning for TKE 01 Ver 4.01 TKE-01 er lavet specielt til at arbejde sammen med en Calyma ventilationunit med Lemmens DC-motorer. POWER ON SPJÆLD LUKKET FEJL TRYKFEJL VARME STYRING under 18 grader Temperatur

Læs mere

SSI GSM samtaleanlæg

SSI GSM samtaleanlæg SSI GSM samtaleanlæg GSM baseret samtaleanlæg og adgangskontrol Installation og bruger vejledning Bestillings nummer: 26008005 SSIHuset Svane Electronic Arildsvej 27, Gråmose, DK-7442 Engesvang ssi@svane-el.dk

Læs mere

MODERNISERINGSSTYRELSEN ØSLDV WINDOWS SERVICE DOKUMENTATION, INSTALLATION OG KONFIGURERING AF ØSLDV/RAY WINDOWSSERVICE

MODERNISERINGSSTYRELSEN ØSLDV WINDOWS SERVICE DOKUMENTATION, INSTALLATION OG KONFIGURERING AF ØSLDV/RAY WINDOWSSERVICE Indhold Ændringshistorik... 2 Formål... 2 Om programmet... 2 Systemkrav... 2 Installation... 3 Event Log... 5 Installationsprogrammets skærmbillede... 6 Konfigurering af xml-opsætningsfil... 7 Beskrivelse

Læs mere

Kom godt i gang KMD VALG. Digital Valgliste Installationsvejledning Version 2.4.0

Kom godt i gang KMD VALG. Digital Valgliste Installationsvejledning Version 2.4.0 KMD VALG. Digital Valgliste Installationsvejledning Version 2.4.0 Indholdsfortegnelse Indholdsfortegnelse Forord... 2 1 Programmer og krav... 3 1.1 Installér og konfigurer udstyr... 3 1.2 Lukket netværk...

Læs mere

Innovative Business Software A/S

Innovative Business Software A/S Innovative Business Software A/S Technical Note Klienter - Installation og opdatering 26. november 2014 ii MEDDELELSE OM OPHAVSRET Copyright 2014 Innovative Business Software A/S. Alle rettigheder forbeholdt.

Læs mere

GSM Dørtelefon. Installation manual. Bruger manual. Gennemlæs omhyggeligt denne manual før installation og ibrugtagning af dette produkt.

GSM Dørtelefon. Installation manual. Bruger manual. Gennemlæs omhyggeligt denne manual før installation og ibrugtagning af dette produkt. GSM Dørtelefon Installation manual Bruger manual Gennemlæs omhyggeligt denne manual før installation og ibrugtagning af dette produkt. Tlf.: +45 86161617 Mobil: +45 40200001 Side 1 GSM Dørtelefon Version

Læs mere

AE10011. Ældre / Handicap Hjælpecentral 12.06.2012. Larixvej 3 8471 Sabro Denmark www.alarm-import.dk Servicetelefon: 8748 6000

AE10011. Ældre / Handicap Hjælpecentral 12.06.2012. Larixvej 3 8471 Sabro Denmark www.alarm-import.dk Servicetelefon: 8748 6000 AE10011 Ældre / Handicap Hjælpecentral 12.06.2012 Larixvej 3 8471 Sabro Denmark www.alarm-import.dk Servicetelefon: 8748 6000 Introduktion AE10011 Ældre / Handicap Hjælpecentral er et nyt produkt, udviklet

Læs mere

BrunataNet GateGPRS med fast strømforsyning

BrunataNet GateGPRS med fast strømforsyning BrunataNet GateGPRS med fast strømforsyning Installationsvejledning Version 1.1 QB10.1468 / 19.08.2011 Brunata a/s er et 100 % danskejet selskab. Vi har mere end 90 års erfaring med udvikling og fremstilling

Læs mere

Internet Information Services (IIS)

Internet Information Services (IIS) Internet Information Services (IIS) Casper Simonsen & Yulia Sadovskaya H1we080113 06-11-2013 Indholdsfortegnelse Problemformulering... 2 Hvorfor:... 2 Hvad:... 2 Hvordan:... 2 Problembehandling... 3 Introduktion...

Læs mere

LUDUS WEB. Installations- og konfigurations-vejledning. Den 7. april 2009. J.nr.: 4004 V0624 09

LUDUS WEB. Installations- og konfigurations-vejledning. Den 7. april 2009. J.nr.: 4004 V0624 09 LUDUS WEB Installations- og konfigurations-vejledning Den 7. april 2009 J.nr.: 4004 V0624 09 CSC Scandihealth A/S, P.O. Pedersens Vej 2, DK-8200 Århus N Tlf. +45 3614 4000, fax +45 3614 7324, www.scandihealth.dk,

Læs mere

Godt i gang med.. TDC Webtekst. 13-06-2013 version 2.0

Godt i gang med.. TDC Webtekst. 13-06-2013 version 2.0 Godt i gang med.. TDC Webtekst www.tdcwebtekst.dk www.tdcwebtekst.dk/ny Indholdsfortegnelse Hvad er TDC Webtekst... 4 Før du går i gang... 4 Krav til PC en... 4 Java... 4 ADSL... 5 Internet browser...

Læs mere

Trimble Access Service (Sync)

Trimble Access Service (Sync) Vejledning i opsætning af Trimble AccessSync Trimble har ved Dimensions November 2012 ændret deres forretningsmodel med hensyn til deres AccessSync funktionalitet. Tidligere har det krævet et særskilt

Læs mere

bedreweb.dk - Bolette Obbekær 2012 SÅDAN LÆGGER DU WORDPRESS PÅ DIT WEBHOTEL

bedreweb.dk - Bolette Obbekær 2012 SÅDAN LÆGGER DU WORDPRESS PÅ DIT WEBHOTEL SÅDAN LÆGGER DU WORDPRESS PÅ DIT WEBHOTEL TRIN 1: WORDPRESS MAPPEN WordPress er et gratis program, der bruges til at lave hjemmesider og blogs. Du skal downloade WordPress og bagefter lægge det på dit

Læs mere

Basal TCP/IP fejlfinding

Basal TCP/IP fejlfinding Basal TCP/IP fejlfinding Dette notat beskriver en række enkle metoder til fejlfinding på TCP/IP problemer. Metoderne er baseret på kommandoer, som er en fast bestanddel af Windows. Notatet er opbygget

Læs mere

TeleSwitch M2. TeleSwitch er en ideel fjernstyret strømafbryder og tilbagemelder til hjemmet, fritidshuset, kontoret og værkstedet.

TeleSwitch M2. TeleSwitch er en ideel fjernstyret strømafbryder og tilbagemelder til hjemmet, fritidshuset, kontoret og værkstedet. TeleSwitch M TeleSwitch er en ideel fjernstyret strømafbryder og tilbagemelder til hjemmet, fritidshuset, kontoret og værkstedet. Med TeleSwitch kan du tænde og slukke for elektriske apparater via telefonen,

Læs mere

1. Programmet downloades.

1. Programmet downloades. Vejledning til brug PLATINUM Service Tool på en PLATINUM 7000R3 inverter. (Til brugere af Microsoft Windows 7). Programmet kan anvendes til at hente den komplette eventliste (hændelses-liste), hvorved

Læs mere

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan

Læs mere

LUDUS Web Installations- og konfigurationsvejledning

LUDUS Web Installations- og konfigurationsvejledning LUDUS Web Installations- og konfigurationsvejledning Indhold LUDUS Web Installations- og konfigurationsvejledning... 1 1. Forudsætninger... 2 2. Installation... 3 3. Konfiguration... 9 3.1 LUDUS Databasekonfiguration...

Læs mere