Styra Arduino använder android app (6 / 8 steg)

Steg 6: App kodning



För kodning app, gjorde jag det lättare för dig. Du måste kopiera denna kod till MainActivity.java och ändra paketet laurens_wuyts.arduinoiocontrol till company.appname.

paketet laurens_wuyts.arduinoiocontrol;

import android.app.Activity;
import android.os.AsyncTask;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.ToggleButton;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

allmän klass MainActivity sträcker sig aktiviteten {

skyddade void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}

offentliga boolean onCreateOptionsMenu (Menu menu) {
Blåsa upp menyn; Detta lägger till innehåll i åtgärdsfältet om den finns.
getMenuInflater () .inflate (R.menu.menu_main, menyn);
return true;
}

offentliga boolean onOptionsItemSelected (MenuItem post) {
Hantera åtgärden bar objekt klick här. Åtgärdsfältet kommer
automatiskt handtaget klickar på knappen hem/upp, så länge
du anger en förälder verksamhet i AndroidManifest.xml.
int id = item.getItemId();

noinspection SimplifiableIfStatement
om (id == R.id.action_settings) {
return true;
}

återvända super.onOptionsItemSelected(item);
}

/*****************************************************/
/ * Detta är en bakgrundsprocess för att ansluta * /
/ * till arduino server och skicka * /
/ * en GET-begäran med extra data * /
/*****************************************************/

privat klassen Background_get utökar AsyncTask < sträng, Void, sträng > {

Protected String doInBackground (sträng... params) {
försök {
/*********************************************************/
/ * Ändra IP till IP du anger i den arduino skissen * /
/*********************************************************/
URL url = ny URL ("http://192.168.1.177/?" + params[0]);
HttpURLConnection anslutning = (HttpURLConnection) url.openConnection();

BufferedReader i = nya BufferedReader (nya InputStreamReader(connection.getInputStream()));
StringBuilder resultatet = nya StringBuilder();
Sträng inputLine;
medan ((inputLine = in.readLine())! = null)
Result.append(inputLine).append("\n");

in.Close();
Connection.Disconnect();
återvända result.toString();

} fånga (IOException e) {
e.printStackTrace();
}
returnera null;
}
}
}

I den här koden behöver du bara ändra IP till IP av din arduino.

För att kontrollera knappen behöver du att göra 2 saker:

  • Definiera knappen
  • Lägga till en onclick/onchange lyssnare för varje knapp.

Definiera knapparna:

/ * För en växel * /
Byta led1 = (Switch) findViewById(R.id.Led1);

/ * För en växlingsknapp * /
ToggleButton led2 = (ToggleButton) findViewById(R.id.Led2);

/ * För en normal knapp * /
Knappen led3 = (knappen) findViewById(R.id.Led3);

Lägga till onclick/onchange:

Placera onclick/onchange lyssnare i funktionen onCreate.

/ * För en switch behöver du en "OnCheckedChangeListener" såhär * /
LED1.setOnCheckedChangeListener (nya CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged (CompoundButton buttonView, boolean isChecked) {
om (isChecked) {
/ * Switch är led 1 * /
nya Background_get().execute("led1=1");
} annat {
nya Background_get().execute("led1=0");
}
}
});

/ * För en växlingsknapp behöver du också en "OnCheckedChangeListener" * /
LED2.setOnCheckedChangeListener (nya CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged (CompoundButton buttonView, boolean isChecked) {
IF(isChecked) {
/ * Växlingsknappen är led 2 * /
nya Background_get().execute("led2=1");
} annat {
nya Background_get().execute("led2=0");
}
}
});

/ * För en knapp behöver du en "OnTouchListener" * /
LED3.setOnTouchListener (nya View.OnTouchListener() {

offentliga boolean onTouch (Visa v, MotionEvent händelse) {
om (event.getAction() == MotionEvent.ACTION_DOWN) {
/ *-knappen är led 3 * /
nya Background_get().execute("led3=1");
} else om (event.getAction() == MotionEvent.ACTION_UP) {
nya Background_get().execute("led3=0");
}
return true;
}
});

Det är all kodning som behövde göras! Nu måste vi lägga till behörigheter i din app.

Se Steg
Relaterade Ämnen

Halvautomatisk filmskapande: Hur du använder Android app, Documatic, automatiskt före redigera dina videor

Documatic är en delaktighet, android-baserade, mobila skytte assistenten och före redaktör. Jag har skapat detta program för att skapa grundläggande förutsättningar för större begreppet "halvautomatiska filmskapande" som en del av min magisterup...

Styra tangentbord & mus w / Android app via Arduino

detta instructable visar dig hur du kan styra datorns tangentbord och mus med en Android app via bluetooth till en Arduino.BAKGRUNDNågonsin velat styra datorns mus/tangentbord funktionalitet utan att faktiskt sitta framför den? Jag gör hela tiden. Ti...

IoT din Arduino använder bluetooth och Android smart phone (MQTT tjudra)

Jag vill prova IoT med MQTT protokoll (http://mqtt.org/), för att göra detta mest av Arduino recept använder Ethernet och WIFI, men jag har bara bluetooth HC-06, så jag använder min smartphone som nav att komma åt internet via detbifogade video inneh...

Hur man styr servomotor från android app

Om du vill göra Android app att styra en servomotor, detta är en perfekt instructable för dig, här kan du följa en steg för steg förfarande video för att veta hur man gör en android app som använder MIT app inventor och styra en servomotor.Steg 1: Ko...

Skicka sensordata (DHT11 & BMP180) till ThingSpeak med en Arduino, använder ENC28J60 Ethercard

Obs: Detta instructable är för gamla ENC26J60 Ethershield och ethercard. Om du har den moderna WIZ5100 baserade Ethernetshield eller en ESP8266 gå besöka min andra instructable som jag nämner nedanOm ett och ett halvt år sedan jag publicerade baserat...

Hur du använder MyFitnessPal App på iPhone

är du bläddra igenom instructables.com med ena handen och knuffande andra handen i en påse med chips? Tycker du det är utmanande att hålla sig till goda matvanor? Använder du tid som en ursäkt att försumma en hälsosam livsstil? Är du redo att göra öv...

Kontrollera en RGB LED med HC-06 Bluetooth-modulen använder Android OS(Arduino)

Denna handledning kommer att förklara processen att ansluta en HC-06 Bluetooth-modul till en Arduino och kontrollera färgen på en RGB LED med hjälp av ArduDroid app på Android-operativsystem. Denna inställning kommer troligen också arbeta med HC-05 B...

Kontrollera LED använder Android Smart Phone

detta kanske inte är det första projektet som använder telefonen och styra LED men för mig är detta först.Jag har använt Android telefon för att styra LED ansluten till Arduino UNO via bluetooth med Amarino biblioteket.Jag har använt följande saker:-...

Dubbla Motor Driver med Arduino använder en SN754410NE Quad halv H-bro

En steg för steg handledning av ArduinoFunMed detta Instructable ska jag visa dig hur du använder en SN754410NE Quad H-Bridge IC för att styra två 12 volt DC motorer.Jag har lagt en video så att du kan se den dubbla Motor i aktion. Som ni kan se i vi...

Utlöser IFTTT från Arduino använder Lithouse

I detta instructable, vi kommer att bygga en rörelse detektor och utlösa IFTTT händelser från enheten.Du kan skapa IFTTT recept för mottagande email om någon är inne i huset eller byta en Belkin WeMo när du går in i ett rum.Som rörelsedetektorn inte...

Hur du tweet från en Arduino använder wifi sheild

Hej, jag är ett stort fan av Instructables. Jag har konsekvent använt det för de senaste 3 åren och nu är dags för mig för att skriva en själv.Här går vi. Detta instructable är för dem som vill göra vissa livlös objektet tweet automatiskt. Precis som...

Rotational input från Arduino använder LDR (light-dependent resistor) till enhet

från min erfarenhet, mycket av roterande inmatningsenheter i Arduino bero på en potentiometer som ger ett variabelt motstånd. Detta instructable, vi kommer att försöka uppnå samma effekt med en LDR, LED och en remsa av papper som har olika nyanser av...

Hur du använder Cydia + Apps och källistor

i detta Instructable kommer jag visa dig hur man gör följande:1. att hitta App2. uppgradera Cydia3. uppdatera dina program4. söker efter nya program5. installera nya program6. ta bort eller installera om program7. Lägg till källor8. Visa och hantera...

Blink för ESP8266 native, som arduino använder Windows

När jag bougth i ESP8266, min första tanke var att använda ESP8266 som en Wifi sköld för Arduino. Jag fick reda på att ESP8266 är en kraftfull enhet av det själv. Och jag frågade mig själv. Varför inte använda enheten utan att använda en arduino. Enh...

Plottning och grafritande realtidsdata från Arduino använder kraften i Python

Jag kommer att visa dig hur du tar din Arduino projekt till nästa nivå genom att ha Arduino interagera med programmeringsspråket Python. Python är ett gratis program som du kan hämta. Eftersom du redan har lärt dig kommer att grunderna i programmerin...

Spela ljud med Intel Edison och Arduino använder en Bluetooth-högtalare

Detta är en kort introduktion om hur man spelar ljud genom Intel Edison styrelsen när du använder Arduino som en programmeringsmiljö.Sedan Arduino styrelsen för Intel Edison inte har någon ljud capbabilities, vi använder en billigt Bluetooth-högtalar...

Bygga Android APP till kontroll Arduino Smart Car (製作Android APP控制Arduino 智慧車)

Detta är en exempelkod skapas från MIT APP inventor2. Att visa hur du ansluter till Andruino via BT. Du kan ändra den av dig att möta vilken funktion du vill ha. Bassically, det är verkligen lätt att bygga en APP för att stödja Arduino + BT projekt.....

Styra Raspberry pi GPIO använder en app

Många människor har bett om en handledning om hur man styr Raspberry pi GPIO stift med en app (du gjort själv).Så är här en snabb tutorial på hur man gör detta. Det baseras mestadels på tidigare tutorials jag gjort.Låt oss komma igång!Steg 1: delarFö...

Mobilapplikation för övervakning och kontroll Arduino, använder kito.io IOT plattform

Övervaka och kontrollera din Arduino från din kito Mobile App.Jag har utvecklat en IOT plattform för att hjälpa DIY beslutsfattare som gör precis som med utan att behöva veta Xcode, Android, JavaScript annat än vet hur man skriver Arduinos skisser; s...