Stap 1: De App: drukken op een knop, het lezen van input en output
Mijn Arduino-circuit, zoals vermeld, heeft een regelmatige bluetooth module aangesloten op de seriële poort. Het autonomically werkt maar opdrachten kan nemen van de seriële poort uit er duurt het opdrachten te maken doen dingen, Switch op een licht, overschakelen op een pomp. Deze opdrachten waren alle afdrukbare ASCII-tekens als ik had kunnen kiezen ze mijn toetsenbord wanneer ik was nog steeds met behulp van Bluetooth-Terminal. In een app is het niet dat belangrijk of het afdrukbare ascii of niet, maar in de twee bovenstaande foto's u de verschillende invoerwaarden die de arduino ziet voor via 'Serial.read() scannen'
Dus alles wat we moeten doen in de app is het definiëren van knoppen die deze waarden naar de bluetooth van de telefoon, die aan de bluetooth-module van de Arduino en de seriële poort doorgeven zal te verzenden.
Ik zal niet app in detail beschrijven, want dat zou vervelend en ik ervan overtuigd ben de beste manier om te leren is om gewoon spelen met het zelf, dus ik voor de app-bron voor u om te laden en te spelen zorgen zal met. Ik zal ingaan op enkele fundamentele beginselen echter zodat u begrijpen wat de app doet.
Als je ging via het 'Hallo spinnen' voorbeeld van App uitvinder, weet u dat er twee schermen: het scherm van het ontwerp en het blok-scherm.
In het ontwerp scherm wij determne de indeling van onze app, is het fundamenteel ' slepen en drop'of elementen op de mock 'phonescreen'. Alle soort eigenschappen zoals kleur, plaatsing, fontsize etc zijn allemaal gedaan in het ontwerp-scherm en je krijgt snel hang van het.
Dan in het blok scherm we de functie van de verschillende items definiëren: door te klikken op een item in de linker kolom die we krijgen om te kiezen voor een aantal mogelijke acties voor dat item.
In de derde foto ziet u hoe dat werkt voor twee knoppen:
Als een wordt geklikt roept de bluetoothclient voor het verzenden van een bytewaarde en in dit geval is dat het nummer 72 (of 'H'). In de structuur van de Serial.read() in de Arduino-programma kunt u zien dat dit betekent om te schakelen van de verlichting in de woonkamer.
Soortgelijk voor knop 2: waarin de bluetoothclient voor het verzenden van het nummer 104 ('h') wordt aangeroepen. Dat in de Arduinoprogram betekent "Switch van het licht in de woonkamer"
Arduino wordt ook verzonden gegevens (tijd, temperatuur) op de seriële poort en en we moeten vangen van die gegevens en print het uit op de telefoon. De fourt afbeelding wordt geïllustreerd hoe dat gebeurt. Niet hebben alleen we gedefinieerd een knop, maar ook een textbox om af te drukken op de resultaten. Opnieuw de knop roept de bluetoothclient voor het verzenden van een byte, 116, (een 't'), die zoals we kunnen zien van de resultaten van onze Arduinoprogram in de tijd die wordt afgedrukt op de seriële poort.
Definiëren we daarom een andere actie onder die knop, en dat is dat de bel van de bluetoothclient om te lezen het inkomen bytes textbox. Nu is dit nogal ruw omdat als er iets dat was al aan de serialport (zeggen een geautomatiseerde statusmessage), wordt afgedrukt is dan dat ook zal worden afgedrukt, dus sommige verfijning nog steeds in orde is