Mam Arduino mega + ENC28j60, poniżej przedstawiam kod dla arduino, który
pobiera wartości z wybranych pinów analogowych i przesyła wyniki na stronę internetową.
Teraz bym chciał pójść dalej, tj. Idea
Arduino przez ENC28J60 ma wysyłać wartości z tych pinów na stronę założoną na zewnętrznym serwerze.
Arduino jest podłączony do routera z dynamicznym IP.
Po odebraniu danych chcę je zapisać do bazy w mysql pod tym samym adresem zewnętrznym (serwer nie pozwala łączyć się z bazą z zewnątrz).
Kod: Zaznacz cały
#include "etherShield.h"
#include "ETHER_28J60.h"
static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};
static uint8_t ip[4] = {192, 168, 1, 15};
static uint16_t port = 80;
ETHER_28J60 e;
void setup()
{
e.setup(mac, ip, port);
}
void loop()
{
if (e.serviceRequest())
{
int a = analogRead(1);
int b = analogRead(6);
int c = analogRead(12);
int d = analogRead(15);
e.print("<H1>Piny analogowe</H1><br/><table>");
e.print("<tr><th>Wejście nr</th><th>Wartość</th></tr>");
e.print("<tr><td>"); e.print(1); e.print("</td><td>"); e.print(a); e.print("</td></tr>");
e.print("<tr><td>"); e.print(6); e.print("</td><td>"); e.print(b); e.print("</td></tr>");
e.print("<tr><td>"); e.print(12); e.print("</td><td>"); e.print(c); e.print("</td></tr>");
e.print("<tr><td>"); e.print(15); e.print("</td><td>"); e.print(d); e.print("</td></tr>");
e.print("</table>");
e.respond();
}
delay(1000);
}