Estou tentando conectar meu arduino com o mundo externo, dei uma olhada em uns vídeos sobre IOT e achei um cara que usou o devicehub.net, dai eu criei uma conta, baixei o código dele, porém o mesmo não está funcionando comigo, eu copiei o ID, API Key e a chave do atuador certinho, porém não funciona, o código é este:

#include <EtherCard.h>

// ethernet interface mac address, must be unique on the LAN
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
byte Ethernet::buffer[700];
static uint32_t timer;
const 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, 53) == 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=b8a15298-7524-4986-8aa9-d279e43658ae");

timer = millis() + 5000;
Serial.println();
Serial.print("< REQ ");
ether.browseUrl(PSTR("/io/12316/actuator/102634/"), queryString, website, my_callback);
}
}

ID do Projeto: 12316

ID do Atuador: 102634

API Key: b8a15298-7524-4986-8aa9-d279e43658ae

O que está acontecendo de errado? Eu mando o comando via internet e o serial monitor não recebe nada...

-----------------------------------

EDIT: O nosso amigo CK me ajudou a resolver esse problema... Primeira eu gostaria de agradecer a ele e a todos deste fórum pelo compromisso que eu vejo que essas pessoas têm em ajudar, muito obrigado Carlos e a todos...

A solução foi a seguinte: Eu tive que usar o código que o Carlos passou logo nos tópicos abaixo, que basicamente é o código do Cayenne com algumas bibliotecas inclusas, as bibliotecas para download estão aqui. Ou seja, basta baixar a biblioteca e colar o código que tudo irá funcionar (não esqueçam de alterar o token)

Exibições: 1162

Responder esta

Respostas a este tópico

Aqui funcionou swem problemas, segue o link no GITHUB tente baixar você mesmo, delete a que instalou e instale esta.

LINK AQUI

Abs.

CK

.

A noite testarei, daí lhe deixarei informado.

CK, deu o mesmo erro... Eu estou usando a versão mais recente da IDE do Arduino (1.6.11), será que é isso?

Não, a IDE é a mesma que eu e todos usam no Cayenne.

Vou fazer um vídeo e coloco aqui.

Tranquilo estarei no aguardo, em relação a instalação da library, código e placa está tudo ok....

Se tiver tempo faça o seguinte, baixe o contudo desta pasta que estou compartilhando

e salve os arquivos em uma pasta, nomeia a mesma como UIPEthernet.h e faça o processo de instalar a biblioteca, suponho que você sabe como é.

Delete a anterior antes para não dar conflito.

AQUI O LINK NO DRIVE

Abs.

CK

CK, você é o máximo!!! Não consigo esconder meu sorriso aqui, nunca tive essa sensação de projeto na reta final!! Provavelmente era algum problema da library, eu botei a sua library e rodou numa boa....

Bom, por hoje é só, irei deitar (com um sorriso enorme) e amanhã irei fuçar seus vídeos para ver como se comunica com esse trenzinho aqui, meu objetivo é usar um app próprio para intermediar os comandos entre o Arduino e o Cayenne.

Oi Heitor,

Essa é a melhor gratificação, um dia você fara o mesmo com outros colegas, este é o espirito da coisa, compartilhar conhecimento.

Grande abraço!

CK

Realmente Carlos, a gratificação de ajudar e resolver o problema de alguém é um sensação muito boa, por isso eu faço questão de agradecer e editar o tópico com um agradecimento e com um resumo do mesmo...

Bom, hoje a noite eu irei testar o meu módulo ESP-8266 (com o sketch próprio pro mesmo), caso eu não consiga, irei dar um toque em você, ok?

Obrigado Carlos, abraços.

Olá Heitor,

De nada amigo, e obrigado pela mensagem em meu nome e nome dos demais garagistas, esta é uma comunidade que segue o lema compartilhar conhecimento é a melhor forma de aprender, aquele que ensina aprende e vice versa, um caminho de mão dupla.

Quanto ao ESP8266 sinta-se a vontade se tiver problemas, e se for o caso por favor abra outro tópico, desta forma manteremos uma conferencia, seguem dois lembretes.

Nunca cole códigos na área de texto, se tiver duvidas leia este tópico do nosso grande colega, mestre Rui Viana AQUI

Se usar o ESP8266 lembre-se de adicionar as bibliotecas e siga estas instruções do PDF para ajudar.

Abs,

CK

 

Anexos

CK, fui ligar meu módulo WiFi e o mesmo queimou, eu segui essa ligação aqui:

Eu já tinha feito essa ligação antes, porém o módulo não tinha queimado e nem respondido meus comandos AT, será que esta ligação está errada?

Olá Heitor,

Por favor abra outro tópico, não podemos fazer vários tópicos dentro de um tópico.

Aproveitando, no novo tópico coloque o link de onde tirou este circuito, e descreva porque acha que seu ESP8266-01 queimou.

Abs.

CK

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço