Stap 2: De softwarestack
De stack begint met HTML5 en client-side JavaScript-besturingselementen om te behandelen alle de knop klikken en schuiven gebeurtenissen vanuit de-gebruikersinterface. De JS-client communiceert met de server van de localhost met node.js met behulp van AJAX POST tot aan het eindpunt van een dedicated server. Naast de gebruikersinterface, beheert de node.js -server de serialport -object, met het regisseren van mededelingen aan de Arduino. De Arduino schets de seriële poort voor een opdrachtreeks van de server worden opgevraagd of monsters van de DUT op haar I/O poorten, terugkeer van de gegevens op de seriële poort als bemonstering is voltooid. De server formatteert de gegevens in een object JSON en stuurt het naar de client via een socket.io push. Deze complexe stack maakt gebruik van een verscheidenheid aan API's, maar de code is vrij kort (nauwelijks een honderd regels voor elke module). Ik zal het uitleggen van elke laag in de stack in de volgende secties.