Díky za reakci. Veškerá komunikace probíhá přes domácí router. Jen Arduino je připojeno ještě k noťasu seriákem,ale jen pro kontrolu toho, co Arduino dostává za data - Co Arduino přijme přes TCP, přeposílá do noťasu přes seriák a zobrazuji si to přes "Serial monitor" Arduino je připojeno přes Ethernet Shield a kabel. Noťas a mobil přes wifi. Arduino funguje jako server, má pevnou adresu (10.10.11.17) a poslouchá na portu 8808. Noťas i mobil dostávají adresu od DNS, port v nich je nastaven také na 8808. Kompilací do mobilu myslím toto, prostředí Processingu umožňuje tzv. ladějí na mobilu-program prostě nahraje přes USB kabel do telefonu a v něm se objeví nová aplikace. Na ní když kliknu, tak se normálně spustí, zobrazí se okno i textem, ale po kliknutí na plochu mi to napíše "odeslano" (takže program běží), ale Arduino nic nezobrazí. Pustím-li to přímo v processingu, tak Arduino data přijímá.
Program pro processing vypadá takto(je to z Examplu pro knihovnu oscP5, jen jsem změnil port a IP):
import oscP5.*;
import netP5.*;
OscP5 oscP5tcpServer;
OscP5 oscP5tcpClient;
NetAddress myServerAddress;
void setup() {
/* create an oscP5 instance using TCP listening @ port 11000 */
oscP5tcpServer = new OscP5(this, 8808, OscP5.TCP);
/* create an oscP5 instance using TCP.
* the remote address is 127.0.0.1 @ port 11000 = the server from above
*/
oscP5tcpClient = new OscP5(this, "10.10.11.17", 8808, OscP5.TCP);
}
void draw() {
background(0);
}
void mousePressed() {
/* the tcp client sends a message to the server it is connected to.*/
oscP5tcpClient.send("/test", new Object[] {new Integer(1)});
text("odeslano",10,10);
}
}
a v arduinu:
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(10,10,11,17);
IPAddress gateway(10,10,11,1);
IPAddress subnet(255, 255, 255, 0);
byte stav[17];
const String passw = "daew";
const char head[] = "daew#";
EthernetServer server(8808);
boolean ethernetPasswOK = false;
boolean nactiStav = true;
void setup() {
Ethernet.begin(mac, ip, gateway, subnet); // initialize the ethernet device
server.begin();// start listening for clients
Serial.begin(9600); // Open serial communications and wait for port to open:
Serial.print("Chat server address:");
Serial.println(Ethernet.localIP());
}
void loop() {
//ETHERNET
EthernetClient client = server.available();
if (client) {
while (client.available()>0) {
char thisChar = client.read();
Serial.print(thisChar); }}
}