woensdag 18 juli 2012

maandag 16 juli 2012

Doelstelling week 29




Gedaan in week 27 - 28

  1. Design geïmplementeerd mbv unit-testen.
  2. Plugin geïntegreerd in het Openremote systeem
  3. Testen + debuggen.
  4. Optocoupler printje opnieuw gemaakt omdat er storing in het oude bordje zaten door oxidatie.
  5. Voor het eerst een RTS screen aangestuurd met de tablet.

Doelstelling week 27
  1. Testen van het systeem.
  2. Verslag bijwerken met de kennis van het implementeren.
  3. Afronden voor de vakantie zodat na de vakantie het verslag afgerond kan worden.
Werkende gebruikers interface op de tablet

De opstelling om de screens aan te sturen


maandag 2 juli 2012

Doelstelling week 27



Gedaan in week 26

  1. Afgerond eerste ruwe versie van het tussenverslag.
  2. Tussenverslag verstuurt naar docent voor feedback.

Doelstelling week 27
  1. Feedback krijgen op het ingestuurde tussenverslag.
  2. Implementeren van het design.

woensdag 27 juni 2012

Doelstelling week 26



Gedaan in week 25
  1. Gewerkt aan het tussenverslag. Dit heeft veel tijd gekost dus niet aan implementeren toegekomen.
Doelstelling week 26
  1. Afronden eerste ruwe versie van het tussenverslag
  2. Tussenverslag versturen naar docent voor feedback.

dinsdag 19 juni 2012

Doelstelling week 25



Gedaan in week 24
  1. Gewerkt aan het verslag.
Doelstelling week 25
  1. Werken aan het tussenverslag om tot en met het design al een hoop te documenteren.
  2. Starten met implementeren.

zondag 10 juni 2012

Doelstelling week 24


Gedaan in week 23
  1. Sequence diagrammen afgemaakt.
  2. Klassendiagram afgemaakt.
  3. De gemaakte diagrammen besproken met mijn technisch begeleider. 
  4. Besloten om over te gaan naar de implementatie fase.
  5. Gewerkt aan het verslag.
Doelstelling week 24
  1. Work brakedown maken voor de implementatie.
  2. Planning aanpassen mbv de work brakedown.
  3. Werken aan het verslag.

zondag 3 juni 2012

Doelstelling week 23

Gedaan in week 22
Had deze week weinig tijd gehad door een kleine verbouwing thuis. 
  1. Sequence diagram 'bedienen scherm besproken en gecorrigeerd'.
  2. Sequence diagram 'ophalen weerinformatie' gemaakt en besproken.
  3. Sequence diagram 'automatisch screens bedienen op basis van weerinformatie' gestart.
Doelstelling week 23
  1. Afmaken Sequence diagram 'automatisch screens bedienen op basis van weerinformatie'en bespreken.
  2. Starten met het klassen diagram.
  3. Werken aan het verslag.

dinsdag 29 mei 2012

Gedaan in week 21
Had deze week weinig tijd gehad door een kleine verbouwing thuis. 
  1. Interface protocol dieper uitgezocht en het sequence diagram daarop aangepast.
  2. Gewerkt aan het verslag.
Doelstelling week 22
  1. Sequence diagram controleren met Technisch begeleider.
  2. Nieuw sequence diagram maken.
  3. Werken aan het verslag.
Gedaan in week 20
  1. Sequence diagram voor het omhoog sturen van een screen afgemaak.
  2. Opzet eindverslag gemaakt.
Doelstelling week 21
  1. Interface protocol dieper uitzoeken voor het sequence diagram.
  2. Verder gaan met sequence diagrammen.
  3. Werken aan het verslag.

zaterdag 19 mei 2012

Doelstelling week 20

Gedaan in week 19
  1. Use-Case diagram afgemaakt.
  2. Sequence diagram gemaakt en alle andere diagrammen die ik gemaakt heb ter controle naar mijn technisch begeleider gestuurd.
  3. Planning bijgewerkt.
Doelstelling week 20
  1. Midweek hemelvaart vakantie vieren!
  2. Sequence diagram omhoog sturen maken en opsturen naar mijn technisch begleider.
  3. Opzet maken van het tussen verslag.

Doelstelling week 19

Gedaan in week 18
  1. Uitgezocht hoe je rules toepast in Openremote.
  2. Sequence diagram opnieuw uitgewerkt naar aanleiding van mij technisch begeleider.
  3. Klassen overzicht van Openremote verder uitgewerkt.
Doelstelling week 19
  1. Commentaar verwerken Use-Case diagram verwerken.
  2. Nieuw Sequence diagram maken naar aanleiding van de meeting met mijn technisch begeleider.
  3. Verder gaan met het ontwerpen.

zaterdag 5 mei 2012

Doelstelling week 18


Gedaan in week 17
  1. Use-case diagram gemaakt van het zonwering systeem.
  2. Openremote software onderzocht.
  3. Sequece diagrammen gemaakt van het Openremote systeem hoe de commando's voor het lezen en schrijven vanuit het display tot de hardware verlopen.
  4. Gestart met de sequence diagrammen voor het zonwering systeem.
  5. Gestart met het klassendiagram voor het zonwering systeem.
  6. Openremote Designer geïnstalleerd op de pc zodat ik later mijn protocol implementatie aan de Designer kan toevoegen.
  7. Tomcat 7 en Openremote Controller op de Dreamplug geïnstalleerd.
  8. USB-RS232 Communicatie getest op de Dreamplug vanuit een Java applicatie met de librxtx-java library.
  9. Docmenten bijgewerkt en release versies van gemaakt.
  10. I/O interface test bordje gemaakt en een interface schakeling met optocouplers ontworpen zodat de I/O interface met de zonwering afstandsbediening verbonden kan worden.

Doelstelling week 18
  1. Openremote uitzoeken hoe je ´rules´ kunt toevoegen om commando´s op basis van sensor informatie te kunnen sturen.
  2. Sequence diagrammen verder uitwerken.
  3. Klassen diagram verder uitwerken.




zondag 29 april 2012

Seriele communicatie vanuit javaVM werkt!

Voordat ik de Dreamplug server heb besteld heb ik getest of ik met een nullmodem kabel vanuit linux commnadline kon lezen en schrijven naar en van de USB -> RS232 converter. Dit was gelukt met 2 USB->RS232 converters en een null-modem kabel.

Door eerst een dmesg te doen zie je welk ttyXXX zijn aangemaakt voor je USB -> RS232 converter.

[23456.965703] usbcore: registered new interface driver usbserial_generic
[23456.965718] usbserial: USB Serial Driver core
[23457.039061] USB Serial support registered for pl2303
[23457.039174] pl2303 1-1.2.1:1.0: pl2303 converter detected
[23457.044429] usb 1-1.2.1: pl2303 converter now attached to ttyUSB0
[23457.044477] pl2303 1-1.2.2:1.0: pl2303 converter detected
[23457.046868] usb 1-1.2.2: pl2303 converter now attached to ttyUSB1
[23457.046915] pl2303 1-1.2.3:1.0: pl2303 converter detected
[23457.053631] usb 1-1.2.3: pl2303 converter now attached to ttyUSB2
[23457.053691] pl2303 1-1.2.4:1.0: pl2303 converter detected
[23457.071176] usb 1-1.2.4: pl2303 converter now attached to ttyUSB3

vervolgens kun je de settings van de tty poort instellen met 'stty -F /dev/ttyUSBx 9600'.
Als de poorten ingesteld zijn kun je m.b.v. cat en echo schrijven en lezen naar en van de communicatie poort.



Nu heb de communicatie gestest om vanuit Java te communiceren over de USB->RS232 converter.
Hiervoor heb ik eerst librxtx-java geinstalleerd met 'apt-get install librxtx-java'. Dit installeerd te benodigde c libraries, jni interfaces en de java library RXTXcomm-2.2-pre2.jar.

Dit heb je nodig om vanuit de VM de communicatie poort te kunnen berijken.

Vervolgens heb ik 2 java voorbeelden gebruikt om te testen of de communicatie werkt. Hiervoor heb SimpleWrite.java en SimpleRead.java met SimpleSnuV1.java gebruikt.

Eerst de SimpleWrite.java bouwen:
javac -verbose -classpath /usr/share/java/RXTXcomm.jar SimpleWrite.java

Daarna runnen:
java -classpath /usr/share/java/RXTXcomm.jar:/root/rxtxTestApplication/ SimpleWrite

Nu zie je aan de andere kant een teller opgehoogd worden dat geschreven wordt vanuit SimpleWrite.
Dit werkt dus! :-D



Als laatste heb ik ook het lezen van de poort gestest met SimpleRead.java met SimpleSnuV1.java.

Eerst bouwen:
javac -verbose -classpath /usr/share/java/RXTXcomm.jar SimpleRead.java
javac -verbose -classpath /usr/share/java/RXTXcomm.jar SimpleSnuV1.java

Dan de SimpleSnuV1 starten:
java -classpath /usr/share/java/RXTXcomm.jar:/root/rxtxTestApplication/ SimpleSnuV1 /dev/ttyUSB1&
java -classpath /usr/share/java/RXTXcomm.jar:/root/rxtxTestApplication/ SimpleRead /dev/ttyUSB0&

Als alles werkt krijg je deze output:
Data Available
--> atz
Data Available
Data Available
Data Available
atz
OK Sent
<-- OK
Data Available
--> atdxxxxx
Data Available
Data Available
Data Available
atd021891383
<-- CONNECT 9600
Yahoooo OK...
Normal Exit...

donderdag 26 april 2012

Doelstelling week 17



Gedaan in week 16
  1. Ontwerp van het instellingenscherm aangepast en de handleiding bijgewerkt. Dit is nu OK.
  2. Use Cases vinden en Use Case tabellen schrijven.
  3. UML boek doorgekeken voor het maken van use-case diagrammen en tabellen.
  4. Openremote project onderzocht. Een package diagram gemaakt van de bestaande Openremote software.
Doelstelling week 17
  1. Verder met het onwerpen van de use-case diagrammen
  2. UML boek lezen voor de andere diagrammen die ik ga maken voor dit project. (state diagram, sequence diagram en klassen diagram)
  3. Openremote Designer installeren op de pc zodat ik later mijn protocol implementatie aan de Designer kan toevoegen.

donderdag 19 april 2012

Doelstelling week 16


Gedaan in week 15
  1. Handleiding afgemaakt en ter controle opgestuurd. Na een meeting met Rop zijn we het eens geworden dat het instellingenscherm nog was aanpassingen nodig had. 
  2. Hardware is besteld.
  3. PvA en User Requirments document en schermontwerpen besproken en afgetekend.
  4. Gestart met de designfase. Na technisch overleg ben ik begonnen met het vinden van Use Cases. 
Doelstelling week 16
  1. Instellingenscherm aanpassen en handleiding updaten.
  2. Use Cases vinden en Use Case tabellen schrijven.
  3. UML boek doorkijken.
  4. Openremote project onderzoeken.

Ontwerp instellingenscherm aangepast

Omdat het instellingenscherm nog niet helemaal duidelijk was heb ik na een meeting met Rop het instellingen scherm aangepast. Zie hieronder het resultaat. Vervolgens ga ik de handleiding aanpassen laten controleren.



woensdag 11 april 2012

Gebruikershandleiding

Bij het schermontwerp en de user requirements hoort natuurlijk ook een handleiding. Dit is een handig hulpmiddel om nog meer requirements te vinden waar je eerder nog niet aan gedacht had of als controle middel om te kijken of je gevonden eisen kloppen.





Concept Schermontwerp

Nadat de user requirements bekend waren werd het tijd om een schermontwerp te maken. Het ontwerp moet met Openremote designer gerealiseerd kunnen worden dus daar is tijdens het ontwerp rekening mee gehouden.
Het ontwerp bestaat uit 2 schermen.

Het hoofdscherm bevat de bediening van de screens.



En een instellingenscherm waar de drempelwaarden van de automaatstand ingesteld kunnen worden.


Doelstelling week 15


Gedaan in week 14
  1. Eerste concept van de schermen zijn klaar. 
  2. De hardware specificaties zijn verder uitgewerkt en er is gezocht naar kandidaat hardware die aan de specificaties kunnen voldoen. Er is ook contact gelegd met de leverancier van de Dreamplug of de hardware RS232 over USB ondersteund.
  3. De planning is bijgewerkt.
  4. Er is een test gedaan met een Dreamplug van mede afstudeerders bij Tass om te kijken of het RS232 over USB protocol vanuit Linux en Javacode ondersteund wordt. Test 1 voor het RS232 communiceren over USB is geslaagd. Test 2 voor het openen van een RS232 communicatiepoort vanuit Javacode is mislukt doordat er geen tijd meer was.
Doelstelling week 15
  1. Handleiding afmaken.
  2. Hardware bestellen als er een positief bericht terug is gekomen van de leverancier.
  3. Staten met de Design fase.

dinsdag 3 april 2012

Doelstelling week 14

Gedaan in week 13
  1. Gestart met het ontwerpen van de bedieningsschermen.
  2. Technisch overleg gehad met Erik over het hardware ontwerp en de specificaties.
  3. Nog geen begin kunnen maken met de handleiding door tijdgebrek.
Doelstelling week 14
  1. Het ontwerp afmaken van de bedieningschermen.
  2. Hardware specificaties zoeken en hardware ontwerpen verder uitewerken.
  3. Handleiding schrijven aan de hand van het ontwerp en requirements.

maandag 26 maart 2012

Doelstelling week 13

Gedaan in week 12
  1. Meeting met Rop gehad over de functionele requirments en vervolgens het 'User Requirements Document' aangepast en V0.2 gedistribueerd.
  2. Specificaties gezocht voor de server hardware waar Openremote op moet draaien. De specificaties heb ik in een documentje gezet en naar Erik gestuurd.
Doelstelling week 13
  1. Schermontwerpen maken van de Android app om te laten zien bij de requirements meeting.
  2. Overleg met Erik over de gevonden specificaties.
  3. Hardware bepalen voor de server aan de hand van de gevonden specificaties.
  4. Begin maken met de handleiding.

zondag 18 maart 2012

Doelstelling week 12


  1. Ik wil een meeting inplannen met Rop om de User requirements door te lopen zodat ik deze concreet kan maken. 
  2. Ik ga een lijst opstellen met specificaties waar de server aan moet voldoen om Openremote te kunnen draaien. Met deze specificaties ga ik op zoek naar de juiste hardware voor de server in overleg met Erik. 
 

vrijdag 2 maart 2012

Het weerstion

Vandaag ben ik op zoek gegaan naar een oplossing voor een goed weerstation voor dit project. Het moest een weerstation zijn dat ik uit kan lezen en dat in het budget past.

Na wat zoeken kwam ik op www.wunderground.com. Weather Underground bied een real-time weerinformatie service aan via het internet. Het mooie aan deze serv

ice is dat je er zelf aan kunt deelnemen. Je kunt namelijk een goedkoop weerst

ation kopen en de data uploaden. De hele wereld kan dan gebruik maken van jou data.

Een weerstation dat veel gebruikt wordt is de
Alecto WS-4000 en kost nog geen 100 euro. Deze kan via USB aangesloten worden op je PC. Met een Python script (pywws) of een van de andere software pakketten die op de site vermeld staan kun je de actuele data uploaden. Deze data wordt dan opgeslagen in de database en voor iedereen beschikbaar gemaakt.


Voor dit project zou dit een mooie oplossing zijn om de nodige weerinformatie voor de app te verkrijgen. Weather Underground biedt namelijk een mooie API aan waar je de beschikbare data op kunt vragen in de vorm van XML of JSON. Nog een voordeel is dat je niet afhankelijk bent van één weerstation. Als er in de buurt al een weerstation aanwezig is hoef je zelf geen weerstation te plaatsen of als je weerstation even niet werkt heb je toch accurate data.

Als ik voor deze oplossing kies kan ik beginnen met de data van het website voordat ik een weerstation aanschaf. Als de informatie dan niet goed genoeg is kan ik er mijn eigen weerstation aan koppelen.


Find more about Weather in Goirle, NL
Click for weather forecast

zaterdag 25 februari 2012

Software Requirements Document

Ik ben vorige week begonnen met de requirements op te stellen voor het Android Zonwering project. Het eerste concept document is nu grotendeels klaar. Ben nu nog de schermen aan het ontwerpen zodat duidelijk wordt wat de interface is tussen de gebruiker en de software. Hieronder een eerste ontwerpschets.





zondag 12 februari 2012

Plan van Aanpak

Nadat ik mijn laatste periode op school heb afgesloten ben ik nu officieel begonnen met mijn afstudeeropdracht. Dit begint natuurlijk met een plan van aanpak.


donderdag 2 februari 2012

Somfy RTS is secure

Vandaag nog even aan het onderzoek gewerkt of ik het signaal van de zonwering kan opvangen en weer kan versturen.

Ik kan het signaal ontvangen en weer versturen. Maar de zonwering reageert er niet op omdat de verbinding secure is. Het protocol maakt gebruik van een rollende code
met 16 miljoen combinaties. Dit is dus erg jammer als je de code zou willen kopiëren en wilt hergebruiken. Dus ik moet een andere oplossing zoeken voor het aansturen. Ik zit te denken aan een gewone 5 kanaals zender om te bouwen zodat ik met de Arduino op de knoppen kan 'drukken'. Maar dit moet ik nog even onderzoeken.

http://www.somfysystems.com/en-us/home/our-products/product-solutions/radio-technology-somfy.html

Wordt vervolgd...

zondag 15 januari 2012

RX - TX

Vandaag de transmitter aangesloten op de Arduino nadat ik het RF signaal eindelijk goed kon ontvangen. Het verzonden signaal met de transmitter is opgevangen door de reciever. Zoals je hieronder kunt zien.
Helaas kan ik de zonwering nog niet aansturen want de frequentie is nog niet juist. De zonwering werkt op 433.42Mhz terwijl de transmitter zend op 433.92Mhz. Ik moet dus nog even op zoek naar de juiste transmitter.


maandag 2 januari 2012

Analyseren zonwering protocol met een logic analyzer


Vandaag met een logic analyzer aan de slag gegaan. Ik was heel nieuwsgierig of ik het signaal van de afstandbediening op kon vangen en een patroon kon ontdekken. Ik loop waarschijnlijk al wat vooruit op het project. Maar dit geeft mij een gevoel of het haalbaar is. En het is natuurlijk ook gewoon leuk ;-)

Dus heb ik een 433Mhz receiver op een breadboard geplaatst en een logic analyzer aangesloten. Een led heb ik op de digitale uitgang van de module geplaatst als eerste indicatie.
Toen ik op de knop van de afstandbediening drukte zag ik die ook meteen gaan knipperen. Dat was goed nieuws! Na wat spelen met de instellingen voor de logic analyzer kreeg ik ook een patroon te zien.


Als je inzoomt dan zie je goed wat het begin, data en eind is. ( verwacht ik ;-) )


Het volgende is om wat code voor de Arduino te schrijven die luistert naar het begin en vervolgens de data opslaat tot het einde is bereikt. Vervolgens hoop ik dan wat meer te ontdekken van het signaal.

Wordt vervolgd...