Heteropteryx Dilatata
Artikelen: 0
Berichten: 9
Lid geworden op: wo 19 jan 2011, 15:02

Profielwerkstuk

Hallo iedereen,

Ik zit in de 6de klas van het VWO en ben net begonnen met mijn profielwerkstuk.

Het plan is om een ontwerp te maken, namelijk een camera gemonteerd op een pan 'n tilt unit, die aangestuurd wordt door een Android-smartphone, aangestuurd met de gegevens van de gyroscoop in de smartphone.

Wanneer je met de smartphone in je hand een kwartslag naar rechts draait, moet de pan ’n tilt unit deze beweging kopiëren. Verder moet het beeld van de camera te zien zijn op de smartphone.

Dit alles moet te gebruiken zijn via een Android applicatie.

Ter (hopelijk) verduidelijking hier een schematische weergave van alle overdracht van gegevens tussen de nodige hardware:

Afbeelding

Mijn eerste stap is het onderzoeken van de verschillende mogelijkheden om dit voor elkaar te krijgen en de voor- en nadelen van verschillende manieren tegen elkaar af te wegen.

Ik heb de volgende middelen tot mijn beschikking, maar er mogen kosten gemaakt worden:

- Twee smartphones, dus één van de twee kan fungeren als camera.

- IP Wireless WIFI/LAN Camera with Night Vision and Pan/Tilt Motors, http://www.dealextreme.com/p/ip-wireless-w...lt-motors-29014, deze is bestuurbaar via een smartphone en via de computer (knoppen), maar (nog?) niet d.m.v. de gyroscoop.

Mijn eerste vraag is:

Hoe krijg ik het beeld van de camera op de smartphone?


Ik wil bij het prototype liefst gebruik maken van één van de twee bovenstaande camera´s.

De onderste streamt het beeld zelf al naar het internet, een verwijzing naar het beeld in de Android app zal dan genoeg zijn (?).

Maar hoe moet het als we een smartphone als camera willen gebruiken?

Via de eerste livestream die we probeerden (ustream) zijn er al 7 seconden vertraging, en dat is te veel. Misschien zitten we hiermee ook totaal op de foute weg?

Suggesties en tips zijn meer dan welkom !
Gebruikersavatar
Kravitz
Artikelen: 0
Berichten: 3.963
Lid geworden op: ma 05 okt 2009, 21:46

Re: Profielwerkstuk

Iemand die hier een handje kan toesteken?
"Success is the ability to go from one failure to another with no loss of enthusiasm" - Winston Churchill
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: Profielwerkstuk

Het eenvoudigste lijkt mij dat je een lokaal netwerk opzet.

De webcam die je daar toont zou in staat moeten zijn van over dat netwerk zijn beeld te streamen.

Ook voor Android smartphones zijn daar blijkbaar applicaties voor (ik vind bijvoorbeeld op google deze site)

De 'controller smarthphone' moet dan op een of andere manier die IP stream binnenhalen en tonen.

In de applicatie op de controller kan je de gyroscoop controleren, wanneer blijkt dat er gekanteld wordt moet je de andere camera kunnen bewegen. Bij die camera die je toont is er blijkbaar een webpagina waarbij je hem kan bewegen er staat ook dat de camera een server op het netwerk start, dus ik vermoed dat er ergens wel een sdk is om via een eigen programma commando's te sturen.

Ik heb zelf nog nooit iets voor een mobiel toestel geprogrammeerd maar ik vermoed dat je daar ook wel via TCP ofzo data kan versturen.

Ik begrijp dat je dit graag met een zo kort mogelijke delay zou willen hebben, maar dat zou wel eens lastig kunnen zijn. Ik zou eerst focussen op het überhaupt laten werken. Later kan je dan eventueel kijken of je het niet sneller kan maken.
Gebruikersavatar
Jan van de Velde
Moderator
Artikelen: 0
Berichten: 51.334
Lid geworden op: di 11 okt 2005, 20:46

Re: Profielwerkstuk

verplaatst naar programmeren
ALS WIJ JE GEHOLPEN HEBBEN...
help ons dan eiwitten vouwen, en help mee ziekten als kanker en zo te bestrijden in de vrije tijd van je chip...
http://sciencetalk.nl/forumshowtopic=59270
Gebruikersavatar
317070
Artikelen: 0
Berichten: 5.609
Lid geworden op: za 28 feb 2009, 17:05

Re: Profielwerkstuk

Heteropteryx Dilatata schreef:Maar hoe moet het als we een smartphone als camera willen gebruiken?

Via de eerste livestream die we probeerden (ustream) zijn er al 7 seconden vertraging, en dat is te veel. Misschien zitten we hiermee ook totaal op de foute weg?
Om eerlijk te zijn denk ik dat je een erg moeilijke opdracht hebt. Video streamen tussen 2 smartphones gaat erg moeilijk zijn.
De onderste streamt het beeld zelf al naar het internet, een verwijzing naar het beeld in de Android app zal dan genoeg zijn (?).
Ik snap niet goed wat je hier mee bedoelt... Heb je nog ergens een server die als tussenpersoon werkt, die de data van de camera krijgt, en die vervolgens opgevraagd kan worden door de smartphone?
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: Profielwerkstuk

Ik snap niet goed wat je hier mee bedoelt... Heb je nog ergens een server die als tussenpersoon werkt, die de data van de camera krijgt, en die vervolgens opgevraagd kan worden door de smartphone?
Volgens mij kan die camera zelf als server fungeren. Hij kan in een netwerk komen en andere apparaten kunnen dan denk ik via het IP van die camera de videostream opvragen.

Het is inderdaad een moeilijk profielwerkstuk.
Heteropteryx Dilatata
Artikelen: 0
Berichten: 9
Lid geworden op: wo 19 jan 2011, 15:02

Re: Profielwerkstuk

Bedankt voor jullie reacties!!
Xenion schreef:Het eenvoudigste lijkt mij dat je een lokaal netwerk opzet.

De webcam die je daar toont zou in staat moeten zijn van over dat netwerk zijn beeld te streamen.

Ook voor Android smartphones zijn daar blijkbaar applicaties voor (ik vind bijvoorbeeld op google Om eerlijk te zijn denk ik dat je een erg moeilijke opdracht hebt. Video streamen tussen 2 smartphones gaat erg moeilijk zijn.

Ik snap niet goed wat je hier mee bedoelt... Heb je nog ergens een server die als tussenpersoon werkt, die de data van de camera krijgt, en die vervolgens opgevraagd kan worden door de smartphone?
Dat was inderdaad het idee, waarbij de computer die server/tussenpersoon is. Maar toen las ik de reactie van Xenion:
Xenion schreef:Volgens mij kan die camera zelf als server fungeren. Hij kan in een netwerk komen en andere apparaten kunnen dan denk ik via het IP van die camera de videostream opvragen.

Het is inderdaad een moeilijk profielwerkstuk.
Ohjee, hier zie ik de IP-camera als "server" , terwijl ik die eerst als client zag. Maakt dit uit? Zijn de computer en de IP-camera beide servers? Kan iemand dit voor mij verhelderen?

Om verder op je antwoord te reageren: inderdaad, via het IP van de camera is het beeld zichtbaar in een browser.

Dat beeld wil ik uiteindelijk in de app integreren, die op de controller staat.

Probleem dat ik daarbij ben tegengekomen:

Dat beeld is te isoleren in een URL, maar omdat het hier om .cgi gaat is dat niet zichtbaar in de Android browser. Er schijnen wel apps te zijn die .cgi zichtbaar maken. (Een onderdeel van) zo’n soort app zouden we dan in de hoofdapp moeten plaatsen om wel dit beeld te kunnen zien?

Conclusie: ik zit nog met veel vragen, maar jullie helpen (nu al) enorm.

Ben ook van plan de volgende keer sneller te reageren, sorry hiervoor. Druk geweest afgelopen week met onder andere het leren van Java.

Hopelijk hebben jullie tijd en zin om verder mee te denken.
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: Profielwerkstuk

Ik ga binnenkort op zoek naar de sdk van de camera, als iemand daarover tips heeft hoor ik het graag.
Ik was misschien wat voorbarig met de term 'SDK'. Ik denk dat je meer kans hebt op een 'API' daar is een subtiel verschil. Ik hoop dat je daar ergens een handleiding van die camera hebt, want ik denk niet dat iemand hier echt ervaring mee heeft, laat staan met dat specifiek model van camera.
Verder: een lokaal netwerk opzetten, dus geen data naar het www heen en weer sturen maar gewoon via je computer thuis
Als je het via een TCP (misschien dat UDP ook wel werkt) verbinding doet dan kan je het achteraf ook laten werken via het www, dus buiten een lokaal netwerk (kwestie van wat poorten open te zetten in je router). Maar qua testen enzo zal het eenvoudiger zijn om lokaal te werken.
Ohjee, hier zie ik de IP-camera als "server" , terwijl ik die eerst als client zag. Maakt dit uit? Zijn de computer en de IP-camera beide servers? Kan iemand dit voor mij verhelderen?
In de specificaties staat:

"- Combines a high quality digital video camera with network connectivity and a powerful web server to bring clear to your desktop from anywhere on your local network or over the Internet"

Ik leid hieruit af dat er een soort van serversoftware IN de camera zit. De applicatie die jij schrijft zal dan de rol van een client aannemen. De client verbindt naar de server en doet daar requests bij. Zo kan hij vragen om beeld door te sturen en hopelijk ook om te bewegen.
Heteropteryx Dilatata schreef:Om verder op je antwoord te reageren: inderdaad, via het IP van de camera is het beeld zichtbaar in een browser.

Dat beeld wil ik uiteindelijk in de app integreren, die op de controller staat.

Probleem dat ik daarbij ben tegengekomen:

Dat beeld is te isoleren in een URL, maar omdat het hier om .cgi gaat is dat niet zichtbaar in de Android browser. Er schijnen wel apps te zijn die .cgi zichtbaar maken. (Een onderdeel van) zo’n soort app zouden we dan in de hoofdapp moeten plaatsen om wel dit beeld te kunnen zien?
Ik neem aan dat je eens je verbonden bent gewoon aan de camera een foto kan vragen. Als je er zo 15 per seconde kan vragen en weergeven heb je in principe een stream.

Ik denk dat je dus het de computer die je daar in je diagram hebt staan wel kan weglaten. De java applicatie op je smartphone kan waarschijnlijk alles wel alleen doen.

Terug naar “Informatica en programmeren”