nedeľa 14. novembra 2010

Parsovanie XML súborov v Jave

Pri práci na svojej diplomovej práci som potreboval načítať nejaké tie údaje z XML súboru. Tu je jednoduchý príklad parsovania XML súboru.

XML súbor vyzeral takto:


Tom
Cruise


Paul
Enderson


George
Bush


Java kód na čítanie dát z tohoto súboru:

import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class XMLReader {

 public static void main(String argv[]) {

  try {
  File file = new File("c:\\MyXMLFile.xml");
  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  DocumentBuilder db = dbf.newDocumentBuilder();
  Document doc = db.parse(file);
  doc.getDocumentElement().normalize();
  System.out.println("Root element " + doc.getDocumentElement().getNodeName());
  NodeList nodeLst = doc.getElementsByTagName("employee");
  System.out.println("Information of all employees");

  for (int s = 0; s < nodeLst.getLength(); s++) {

    Node fstNode = nodeLst.item(s);
    
    if (fstNode.getNodeType() == Node.ELEMENT_NODE) {
  
           Element fstElmnt = (Element) fstNode;
      NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("firstname");
      Element fstNmElmnt = (Element) fstNmElmntLst.item(0);
      NodeList fstNm = fstNmElmnt.getChildNodes();
      System.out.println("First Name : "  + ((Node) fstNm.item(0)).getNodeValue());
      NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("lastname");
      Element lstNmElmnt = (Element) lstNmElmntLst.item(0);
      NodeList lstNm = lstNmElmnt.getChildNodes();
      System.out.println("Last Name : " + ((Node) lstNm.item(0)).getNodeValue());
    }

  }
  } catch (Exception e) {
    e.printStackTrace();
  }
 }
}
Návod som našiel na tejto stránke Java Tips

štvrtok 11. novembra 2010

Lyx

Všetci, kto chcete vyskúšať LaTeX (systém na vytvaranie dokumentov, jazyk v ktorom sú tieto dokumeny vytvárané) môžete skúsiť jednoduchý spôsob - pomocou dokumentového procesora LyX



Ponúka jednoduché rozhranie na editáciu toho, čo je dôležité - teda textu. Pre generovanie výstupného súboru (DVI, PDF alebo PS) sa používa LaTeX.



Tento program sa hodí na vytváranie matematického obsahu (vzorcov, rovníc), písanie štruktúrovaných dokumentov alebo akademických článkov, téz či kníh (samozrejme aktuálne aj na písanie diplomových prác).

Stránka autora: LyX

streda 14. apríla 2010

Číslicový prenos dát - RS 485 sériová komunikácia

Projekt číslo 2 z predmetu "Číslicový prenos dát".

Pár informácii ohľadom štandardu RS 485 a komunikácie pomocou tohto štandardu.

Dokument nájdete tu.

štvrtok 21. januára 2010

MiKTeX

Neviem presne, či tento článok prejde krutou cenzúrou :) nakoľko nie je až tak o našich projektoch, ale veľmi rád by som uviedol stránku, podľa ktorej je možné nainštalovať a pracovať s týmto typografickým systémom v prostredí MS Windows.
1. Kompletný návod na inštaláciu MiKTeX-u je na tejto stránke:
FEKT VUT v Brně, inštalácia MiKTeX
2. Mne sa najviac osvedčilo používanie s PSPadom a návod ako na to je tu:
FEKT VUT v Brně, inštalácia PSPad

P.S.: Postupy mám odskúšané a sú funkčné
P.S2.: How-To: "Nie príliš stručný úvod do systému LATEX" Alebo LATEX za 95 minút

Testovacie zariadenie napäťových zdrojov - bakalárska práca

Nechcem sa moc opakovať, ale priložím i ja nejaké tie informácie o tomto zariadení:

Cieľ: Mojou úlohou bolo navrhnúť zariadenie a implementovať potrebné programové vybavenie pre zvolený mikorokontrolér, tak aby zariadenie dokázalo testovať napäťové zdroje a vyhodnotiť výsledok testu. Taktiež bolo potrebné navrhnúť používateľský program, pomocou ktorého by bolo možné vytvárať komplexnejšie typy priebehov zaťažovacích charakteristík.

Abstrakt: Cieľom bakalárskej práce bolo navrhnutie testovacieho zariadenia napäťových zdrojov a naprogramovanie používateľskej aplikácie, ktorá by umožňovala vytvoriť priebeh záťaže a exportovať dáta na pamäťovú kartu. Zariadenie riadi mikrokontrolér Atmel ATMega64. Na vytvorenie inteligentnej záťaže slúži subsystém zložený z aktívneho dolnopriepustného filtra, ktorý je určený na filtrovanie PWM signálu a výkonových tranzistorov.

Viac ohľadom tejto problematiky rád poskytnem každému kto by mal záujem. Musím povedať, že práca bola pre mňa osobne dosť komplexná, no i tak sa všetko podarilo a fungovalo ako malo. S odstupom času si však uvedomujem určité veci, ktoré by bolo možné vylepšiť ako napr. "ementalová doska", ale tam došlo trochu k nedorozumeniu :). Taktiež symetrické napájanie O.Z. by sa dalo vyriešiť jednoduchšie, nakoľko už viem, že by stačilo asymetrické, ale aj tak som rád, že som mohol na tomto projekte pracovať.

Prikladám schému zapojenia, ktorá je rozdelená do jednotlivých častí
MCU, ovládanie, "inteligentná záťaž", SD karta,
napájanie zariadenia.

Zdrojové kódy sú tu

Applet na simuláciu digitálneho filtra

Pri hľadaní dodatočných materiálov na skúšku z "Číslicového spracovania signálu 1" sme narazili aj na tento applet simulujúci digitálny filter. Môžete v ňom vidiet aký je výstup z rôznych typov digitálnych filtrov, pri rôznych vstupoch. Takisto je možné sledovať frekvenčné spektrum, impulznú odozvu, prechodovú charakteristiku alebo fázovú odozvu.


Applet slúži hlavne na pochopenie princípov digitálnych filtrov a na demonštráciu ich fungovania na reálnych signáloch.

Tento applet je možné nájsť na tejto URL adrese.

pondelok 4. januára 2010

Testovacie zariadenie káblových zväzkov - bakalárska práca

Cieľom tejto bakalárskej práce bolo navrhnúť  zariadenie na testovanie správnej funkčnosti káblových zväzkov.

Celé zariadenie má fungovať autonómne. Priebehy testov káblových zväzkov sa def inujú pomocou mnou navrhnutej aplikácie v PC. Údaje o teste sa do zariadenia prenesú pomocou pamäťovej karty. V samotnom zariadení si užívateľ  vyberie typ testu, ktorý má byť  spustený a potvrdí voľbu testu. Riadiaca  časť  zariadenia je implementovaná pomocou mikrokontrolera ATMega64L od spoločnosti Atmel. Tento mikrokontroler som si vybral najmä kvôli tomu, že som sa s mikrokotrolerom rady ATmega stretol počas doterajšieho štúdia. Vstupom a výstupom zariadenia  sú dva univerzálne 50- pinové konektory, ktoré sú pripojene na výstupe k registrom so sériovým vstupom a paralelným výstupom(74HC595) a na vstupe  naopak k registrom s paralelným vstupom a sériovým výstupom(74HC165). 

Zdrojové kódy môžete stiahnuť tu


Schémy: