Stap 5: Verzenden versnellingsmeter-gegevens vanaf Edison PC via WiFi
Ik gebruikte TCP voor communicatie via WiFi met Python
Nu, voordat ik aan dit project gewerkt, ik alleen had gehoord over TCP/IP en socket mededeling maar het was als een geheel vreemde taal voor mij. Ik heb gelezen van een klein beetje op TCP/IP speciaal voor dit project. Ik leerde net genoeg om te kunnen maken van mijn Edison praten met mijn PC. Hier is wat ik weet. We moeten een programma van de server wordt uitgevoerd op edison en een programma van de client wordt uitgevoerd op PC. We willen ook weten het IP-adres van onze server, die is van Edison in ons geval en wij moeten toewijzen iets genaamd poortnummer (sommige groot aantal zoals 5000) om te worden gebruikt in de TCP-communicatie.
Hier is hoe het werkt. Server draait op edison en houdt wachten op verbindingen. Zodra het een verbinding ontvangt vanaf de PC, het roept een handlerfunctie die versnellingsmeter X, Y leest, Z-assen waarden van ADC en stuurt deze gegevens naar de PC. Na dat blijft het luisteren.
Clientprogramma loopt op PC. Het opent een socket, verbinding met de server van edison, versnellingsmeter-gegevens ophaalt, verwerkt deze gegevens voor het berekenen van de tilt hoek en zet dit gegevens-punt in een wachtrij. De laatste datapoint in de wachtrij is geduwd. Daarna sluit de client de verbinding met de server. Het clientprogramma herhaalt periodiek dit hele proces opnieuw en opnieuw. Ook de client maakt een complot van tilt-hoek op de y-as en wachtrij positie op de x-as en dit perceel wordt bijgewerkt telkens wanneer de wachtrij is aangepast. Dientengevolge, x-as is een indicatie van de tijd en we kunnen zien hoe de tilt-hoek zich ontwikkelt na verloop van tijd.
De client en server programma's kunt u vinden aan het einde.
Referenties: