Stap 5: Project Flow
In het hele project zijn er drie onafhankelijke processen gaande. Ze zijn;
- Sensor data-acquisitie en transport van Edison naar Raspberri Pi.
- Ontleden en registratie van de gegevens in een MySQL-database op de Raspberry Pi.
- Selecteren en weergeven van de gegevens op de GUI als waarden of een grafiek.
De reden dat ik zeg dat ze zijn onafhankelijk is dat ze asynchrone zijn en de procedures voor elke stap is niet afhankelijk van andere maatregelen. Alle stappen alleen wijzigen databasewaarden.
Hier volgt een overzicht van de stappen in elk proces
Sensor Data-acquisitie op het Edison
- Een socket verbinding te maken met de Raspberry Pi's IP-adres en poort Begin communicatie via TCP/IP
- Sensor-gegevens lezen van sensor hub bord aangesloten op de analoge uit pinnen van de Intel Edison
- Frame de gegevens met tags en passende identificatie
- De gegevens verzenden met de Raspberry Pi
- Wacht 60 seconden
- Terug naar stap 3
Ontleden en vastleggen van gegevens in de MySQL Database
- Een socket te openen en te luisteren naar de geselecteerde poort
- Als een pakket wordt ontvangen, opslaan in buffer
- Splitsen van het pakket volgens scheidingstekens bron, Type en waarde te verkrijgen
- Verbinding maken met database Store van de techniek van de waarde in passende logboek van vereiste bron en waarde
- De waarde voor de desbetreffende tabel bijwerken
- Wijzigingen doorvoeren
- Nauwe koppeling naar database
- Terug naar stap 1
Selecteren en weergeven van gegevens op GUI
Maken van een venster van de 6 x 3
- Voorlopige tekst weergeven
- Wacht 2 seconden
- Verbinding maken met database
- Bijgewerkte waarden ophalen uit de tabel bijwerken
- Waarden bijwerken op GUI
- Terug naar stap 3
Als de Grafiek uitzetten -knop wordt ingedrukt
- Verbinding maken met database
- Alle waarden voor het geselecteerde Type en bron krijgen
- Alle waarden in een array opslaan
- Waarden in een grafiek uitzetten
- Weergave grafiek
MySQL Databases
De MySQL databases zullen de werkpaarden voor dit project samen met TCP/IP. Ze zal het opslaan van alle sensorgegevens die door de sensornode wordt verzonden. We zullen gebruiken twee databases, één voor de meest recente waarden en één voor het continu registreren
De meest recente waarden database bevat slechts de bron, het Type en de waarde en de continue registratie zal bevatten toegevoegde index en tijdstempelvelden.
Communicatieprotocol en Framing
We zullen met behulp van TCP/IP als het communicatieprotocol tussen de sensornode en aggregator. om de structuur van het vervoer zodanig dat beide partijen een gestandaardiseerde benadering van communicatie hebben, zijn gegevensframes als volgt gestructureerd
Bron/Type/waarde
Bijvoorbeeld, als het knooppunt van de sensor in de slaapkamer een temperatuur van 30 graden voelde, zou het verzenden van het frame