Göra en Android App att styra via Bluetooth en Arduino kontrollera ditt hus via RF, alla med AppInventor (1 / 6 steg)
Steg 1: App: trycka på en knapp, läsa indata och utdata
Min Arduino krets, som nämnts, har en regelbunden bluetooth modul ansluten till den seriella porten. Det fungerar autonomically men det kan ta kommandon från den seriella porten från det det tar kommandon för att göra det slå saker, slå på en ljus, på en pump. Dessa kommandon var alla utskrivbara ASCII-tecken som jag hade för att kunna välja dem från mitt tangentbord när jag var fortfarande med Bluetooth Terminal. I en app det är inte att viktigt om det är utskrivbara ascii eller inte, men i de två bilderna ovan kan du se de olika indatavärden som arduino är scanning för via "Serial.read()"
Så allt vi behöver göra i app är att definiera knappar som skickar dessa värden till bluetooth av telefonen, som kommer att vidarebefordra det till bluetooth-modulen för Arduino och till den seriella porten.
Jag kommer inte beskriva app i varje detalj eftersom det skulle vara tråkigt och jag är övertygad om det bästa sättet att lära sig är att bara spela med det själv, så jag kommer ge app källa för dig att ladda och spela med. Jag kommer att diskutera några grundläggande principer, så att du förstår vad app gör.
Om du gick igenom "Hej Purr" exemplet av App Inventor, du vet att det finns två skärmar: skärmen design och block skärmen.
I design skärm vi determne vår app layout, det är i grunden "dra- och -drop'of element till den mock"phonescreen". Alla slags egenskaper som färg, placering, fontsize etc är allt gjort i fönstret design och du kommer snart få kläm på det.
Då på skärmen block vi definierar funktionen av olika artiklar: genom att klicka på ett objekt i den vänstra kolumnen får vi valde för ett antal möjliga åtgärder för artikeln.
I den tredje bilden ser du hur det fungerar för två knappar:
Om man klickar på det appeller bluetoothclient om du vill skicka en byte och i detta fall nummer 72 (eller "H"). I den Serial.read() strukturen i Arduino programmet kan du se att detta betyder att slå på belysningen i levande.
Liknande för knappen 2: som anropar bluetoothclient att skicka nummer 104 ("h"). Att i Arduinoprogram betyder "Switch av ljust i vardagsrummet"
Arduino också skickas data (tid, temperatur) för den seriella porten och och vi måste fånga data och skriva ut den ut på telefonen. Fjärd bilden visar hur det görs. Vi har inte bara definierat en knapp men också en textbox till skriva ut resultatet. Igen på knappen kräver bluetoothclient för att skicka en byte, 116, (en 't'), som som vi kan se från vår Arduinoprogram resultat i tiden som skrivs ut till den seriella porten.
Vi därför definiera en annan åtgärd under knappen och det är att ha i lärobok kallar bluetoothclient för att läsa byte som inkomst. Nu är det här ganska rå eftersom om det är något som var ut redan till serialport (säger en automatisk statusmessage), sedan som ska skrivas ut också, så vissa förfining är fortfarande i ordning