Att göra en Android-applikation för Arduino (LED vända på/av)
denna tillämpning vändning på ledde på arduino.
denna ansökan också arbeta i ditt LAN.
Maskinvara kräver:
1: arduino uno
2: arduino ethernet Shield
3: RJ45-kabel
4: LED
5. android-telefon
Programvara kräver: 1:Ecllipse ide inställningen med Android Developement Adroid SDK.
2: Arduino 2.0
Steg 1: tilldela MAc och IP till Arduino ombord
LADDA UPP DETTA PROGRAM TILL ARDUINO.
OCKSÅ ÄNDRA DIN MAC OCH IP ENLIGT NÄTVERKET.
/*
UDPSendReceive.pde:
Denna skiss mottar UDP-meddelande strängar, skriver ut dem till den seriella porten
och skickar en "erkänna" sträng tillbaka till avsändaren
En bearbetning skiss ingår i slutet av filen som kan användas för att skicka
och mottagna meddelanden för att testa med en dator.
skapad 21 Aug 2010
av Michael Margolis
Denna kod är i public domain.
*/
#include < SPI.h > / / behövs för Arduino versioner senare än 0018
#include < Ethernet.h >
#include < EthernetUdp.h > / / UDP-bibliotek från: bjoern 2008-12-30
#include < SoftwareSerial.h >
Ange en MAC-adress och IP-adressen för din controller nedan.
IP-adressen kommer att bero på ditt lokala nätverk:
byte [mac] = {0x90, 0xA2, 0xDA, 0x0D, 0x8B, 0x8F};
IP-adress ip (192, 168, 1, 105);
IP-adress ip1 (192, 168, 1, 101);
EthernetServer server(8032);
unsigned int localPort = 8032;
booleska inkommande = 0;
lokal port att lyssna på
buffertar för att ta emot och skicka data
char packetBuffer [UDP_TX_PACKET_MAX_SIZE]; buffert för att hålla inkommande paket,
char ReplyBuffer [] = "erkänt"; en sträng för att skicka tillbaka
En EthernetUDP-instans att låta oss skicka och ta emot paket över UDP
EthernetUDP Udp;
void setup() {
Starta Ethernet och UDP:
Ethernet.BEGIN(Mac,IP);
UDP.BEGIN(localPort);
pinMode(2,OUTPUT);
Serial.BEGIN(9600);
}
void loop() {
/*
EthernetClient klient = server.available();
om (klient) {
en http-förfrågan avslutas med en tom rad
booleska currentLineIsBlank = sant;
samtidigt (client.connected()) {
om (client.available()) {
char c = client.read();
Om du har fått till slutet av raden (fick en newline
karaktär) och raden är tom, http-begäran har avslutats,
så du kan skicka ett svar
läser URL-strängen från $ till första tomt utrymme
om (inkommande & & c == "") {
inkommande = 0;
}
om (c == '$') {
inkommande = 1;
}
Kontroller för URL-strängen $1 eller $2
IF(Incoming == 1) {
Serial.println(c);
om (c == "a") {
Serial.println("on");
digitalWrite (2, hög).
int rd=digitalRead(2);
Delay(10);
Server.write("on");
Delay(10);
Serial.println(RD);
}
om (c == 'b') {
Serial.println("off");
digitalWrite (2, låg).
int rd=digitalRead(2);
Delay(10);
Server.write("off");
Serial.println(RD);
Delay(10);
}
}
om (c == "\n") {
du börjar en ny rad
currentLineIsBlank = sant;
}
annars om (c! = '\r') {
du har fått ett tecken på den aktuella raden
currentLineIsBlank = false;
}
}
}
de web webbläsare möjlighet att ta emot data
Delay(10);
client.stop();
}
*/
om det finns data tillgängliga, läsa ett paket
int packetSize = Udp.parsePacket();
Serial.println(packetSize);
IF(packetSize)
{
Serial.Print ("mottagna paket av storlek");
Serial.println(packetSize);
Serial.Print ("från");
IP-adress remote = Udp.remoteIP();
för (int jag = 0; jag < 4; i ++)
{
Serial.Print (remote [i], DEC);
om (jag < 3)
{
Serial.Print(".");
}
}
Serial.Print (", port");
Serial.println(UDP.remotePort());
läsa in paketet i packetBufffer
UDP.Read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
Serial.println("Contents:");
Serial.println(packetBuffer);
Serial.println(packetBuffer[0]);
IF(packetBuffer[0]=='1') {
digitalWrite(2,HIGH);
} annat if(packetBuffer[0]=='2') {
digitalWrite(2,LOW);
}
Skicka ett svar, till IP-adress och port som skickat paketet vi fått
Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());
UDP.write ("WAHh BHurA");
Udp.endPacket();
}
/ * Udp.beginPacket(ip1,8032);
UDP.write(ReplyBuffer);
Udp.endPacket();
Delay(400);
client.stop(); * /
}
/*
Processing skiss att köra med detta exempel
=====================================================
Bearbetning av UDP-exempel för att skicka och ta emot strängdata från Arduino
Tryck på valfri tangent för att skicka meddelandet "Hej Arduino"
import hypermedia.net.*;
UDP-udp; definiera UDP-objektet
void setup() {
UDP = nya UDP (detta, 6000); skapa en ny datagram anslutning på port 6000
UDP.log (sant); <--utskriften anslutning verksamheten
UDP.listen (sant); och vänta på inkommande meddelande
}
void draw()
{
}
void keyPressed() {
Sträng ip = "192.168.1.177"; IP-adressen till fjärrdatorn
int port = 8888; målporten
UDP.send ("Hello World", ip, port); meddelande till skicka
}
void emot (byte [] data) {/ / <--standardprogram
void får (byte [] data, IP-String, int port) {/ / <--utökade handler
för (int jag = 0; jag < data.length; i ++)
Print(Char(data[i]));
println();
}
*/