Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Het bedrijf Regterschot Racing wil een website applicatie hebben, waarop de data van de sensoren in de auto, te zien is. Regterschot Racing verwacht in ieder geval van één sensor, de GPS, twintig keer per seconde data te krijgen. Het is voor Regterschot Racing belangrijk dat deze data goed overkomt vanaf de auto naar de website applicatie en dat dit zo snel mogelijk, het liefst in real-time, overkomt. Het is voor ons van belang om dit onderzoek uit te voeren, om zo te weten te komen welke techniek het beste aansluit bij de wensen van Regterschot Racing. Iets waar we ook rekening mee moeten houden is dat de Raspberry Pi de data in ieder geval op slaat in een MySQL database. Dit proces loopt via een message broker.

Hoofd- en deelvragen

Onze hoofdvraag is: 'Welke technieken kunnen wij gebruiken om real-time data weer te geven op een website?' Om deze vraag te kunnen beantwoorden, hebben we ook een aantal deelvragen opgezet. Onze eerste twee deelvragen gaan over de technieken die bekend zijn, of veel gebruikt worden, voor het weergeven van data in real-time op een website. Deze deelvraag is opgesplitst in welke technieken er zijn die gebruik maken van een MySQL database en technieken die geen gebruik maken van deze database. Bij de tweede deelvraag zal er gekeken worden naar technieken die geen gebruik maken van een database. Bij deelvraag 3 zal er gekeken worden naar welke technieken voor het streamen van data naar de pit er in autoraces worden toegepast. Een voorbeeld hiervan kan zijn: 'Welke techniek wordt er gebruikt bij F1 races om de data van de baan naar de pit te sturen?' In de vierde deelvraag zullen we ingaan op de voor- en nadelen van de bovengenoemde technieken. In het kort hebben we de volgende deelvragen:

...

Server Sent Events en Websockets lijken veel op elkaar. Ook is er in dit geval één kopje voor de twee samen. Een aantal verschillen tussen de twee is dat SSE over HTTP gebruikt kan worden terwijl websockets hun eigen protocol hebben. Een verschil tussen de twee die echt een verschil maakt is wie requests en responses kan sturen. Bij SSE wordt er één keer een request gestuurd naar de server. Dit request is een aanvraag om te verbinden. Daarna kan alleen de server berichten terug sturen. De client kan geen berichten naar de server sturen. Dit is ook waar SSE voor gemaakt is. Websockets, die wel berichten kunnen sturen naar de server als er eenmaal een connectie is geopend, zouden in dit geval dan een overkill zijn. Er zijn nog wel andere voor en nadelen te benoemen, zoals dat SSE maar een maximaal open connecties mag hebben, maar ook hiervoor zijn oplossingen te bedenken. Echter is dit ook geen probleem voor deze applicatie.


Conclusie

Omdat er gebruik wordt gemaakt van een message broker is onze oplossing niet afhankelijk van de rest van de andere systemen. We zouden met een websocket de data van de broker kunnen 'consumeren'. De broker krijgt de data van de Raspberry Pi en zal deze distribueren naar verschillende consumers, in dit geval de websocket en database. 

Bronnenlijst 

Herrera, E. (2018, 4 mei). Getting data in realtime from MySQL with Java. Pusher. https://pusher.com/tutorials/realtime-mysql-java/

...