Работа с ENC28J60+devicehub
- Войдите на сайт для отправки комментариев
Пт, 11/03/2016 - 14:36
Добрый день! Помогите разобраться. Не могу понять, проблемы с самим модулем или с интернет провайдером. Хотя возможно второе.
Попробовал подключится к сервису devicehub.com для управлением реле. Вот код:
#include <EtherCard.h>
// ethernet interface mac address, must be unique on the LAN
static byte mymac[] = { 0xB2,0xC9,0xB6,0x1A,0x2E,0xC5 };
byte Ethernet::buffer[700];
static uint32_t timer;
char website[] PROGMEM = "www.devicehub.net";
int state = 0;
// called when the client request is complete
static void my_callback (byte status, word off, word len) {
Serial.println(">>>");
Ethernet::buffer[off+300] = 0;
Serial.println((const char*) Ethernet::buffer + off + len - 1);
state = *(const char*)(Ethernet::buffer + off + len - 1);
Serial.println(state);
if(state == 49){
//actuator ON
Serial.println("actuator ON");
digitalWrite(3, HIGH);
}else if(state == 48){
//actuator OFF
Serial.println("actuator OFF");
digitalWrite(3, LOW);
}
}
void setup()
{
pinMode(3, OUTPUT);
pinMode(9, OUTPUT);
Serial.begin(9600);
if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0)
Serial.println( "Failed to access Ethernet controller");
if (!ether.dhcpSetup())
Serial.println("DHCP failed");
ether.printIp("IP: ", ether.myip);
ether.printIp("GW: ", ether.gwip);
ether.printIp("DNS: ", ether.dnsip);
if (!ether.dnsLookup(website))
Serial.println("DNS failed");
Serial.println("line 1");
ether.printIp("SRV: ", ether.hisip);
Serial.println("turning on the led");
digitalWrite(9, HIGH);
}
void loop()
{
ether.packetLoop(ether.packetReceive());
if (millis() > timer) {
char queryString[256] = {0};
sprintf(queryString, "?apiKey=99658d38-ca38-44d8-99de-770f08037e7d");
timer = millis() + 5000;
Serial.println();
Serial.print("<<< REQ ");
ether.browseUrl(PSTR("/io/6878/actuator/101553/"), queryString, website, my_callback);
}
}
В меню роутера отображается подключение, но в мониторе порта выходит вот что:
IP: 192.168.1.6
GW: 192.168.1.1
DNS: 192.168.1.1
line 1
SRV: 146.148.124.207
turning on the led
<<< REQ
<<< REQ >>>
10
То есть никак не реагирует на изменение состояния на сайте. Возможно ли, что это связано с провайдером?