Elipse Mobile Wifi

Pessoal,
É possível integrar o Elipse mobile com dispositivos ESP8266. Pelo que consultei no blog elipse o suporte para Wifi consiste na placa arduino ou equivalente, com comunicação wifi em SPI (Se não me engano). Porém os módulos ESP, podem utilizar (JSON, POST e GET etc…), seria possível este tipo de conexão???

O requisito principal para qualquer conexão do Arduino CloudLink é ter uma interface derivada de Client. (“Client.h”)

Caso ela não tenha nenhuma relação com a Client será preciso modificar o código. Lembrando que o código é open-source.

Qualquer lib/hardware que permita comunicação via internet pode ser adaptada.

Nós podemos ajudar. O ideal é enviar um exemplo básico da lib em questão mostrando como enviar e receber dados caso ela não seja derivada de Client .

1 Like

Boa tarde tambem estou tendo problemas com a comunicação do arduino com elipse mobile sever via esp8266 estou utilizando a lib WiFiEsp que é uma equivalente a lib WiFi nativa da IDE do arduino fiz todas as substituiçoes correspondentes a biblioteca no codigo exemplo WiFiCloudLink compilou tudo certo , conecta a rede Wifi informada mais acompanhando o monitor serial vi que ele informa o nome da pagina de acesso “test.elipsemobile.com” (exemplo) mais não consegue acessar a pagina estou enviando o codigo com as alterações se for possivel ajudar desde ja agradeço
obs : estou utilizando Arduino Uno + esp8266 firmware 1.2.0

#include <WiFiEsp.h>
#include <ArduinoCloudLink.h>
#include “SoftwareSerial.h”
SoftwareSerial Serial1(2, 3); // RX ,TX

////////////////////////////////////////////////////////////
//Configuration
#define SERVER_NAME “test.elipsemobile.com
#define CONNECTION_NAME “arduino”
#define CONNECTION_PASSWORD “teste”

//Wifi
#define WIFI_NAME “myWifi”
#define WIFI_PASSWORD “myPassword”
////////////////////////////////////////////////////////////

WiFiEspServer server(80);

int status = WL_IDLE_STATUS;

void WifiSetup()
{
if (WiFi.status() == WL_NO_SHIELD)
{
LOG_ALWAYS_STR(“WiFi shield not present”);
while (true);
}

while (status != WL_CONNECTED)
{
LOG_ALWAYS_STR("Attempting to connect to SSID: ");
status = WiFi.begin(WIFI_NAME, WIFI_PASSWORD);
delay(10000);
}
LOG_ALWAYS_STR(“Connected to wifi”);
}

CloudConnection cloudConnection;
WiFiEspClient client;

void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
WiFi.init(&Serial1);

server.begin();

pinMode(7, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(4, OUTPUT);
pinMode(6, OUTPUT);

WifiSetup();

CloudConnection_Init(&cloudConnection,
&client,
CONNECTION_NAME,
SERVER_NAME, //connection (proxy)
SERVER_NAME, //host
80,
CONNECTION_PASSWORD,
“”,
“”
);

Setup(ARDUINO_UNO, &DefaultRead, &DefaultWrite);

}

void loop()
{
CloudConnection_Loop(&cloudConnection);
}

as duas primeiras linhas do codigo

#include “WiFiEsp.h”
#include “ArduinoCloudLink.h”

Olá,

Nós já temos o ArduinoCloudLink para o ESP8266. :slight_smile:
Primeiramente vá neste link:


Baixe o .zip, instale a lib na IDE do Arduino e siga este tutorial:
Usando o módulo wireless ESP8266
Qualquer dúvida estou à disposição.

Obrigado Elidiane

baixei e fiz os testes mais nao esta conectando gostaria de saber com qual versao de firmware esta configurado esta biblioteca estou utilizando a 1.2.0 mas vou atualizar para a ultima disponivel que encontrei (1.5.0) e realizar os testes mesmo assim agradeço a agilidade e atenção na resposta
muito obrigado
abço.

Então

fiz a atualização para o firmware 1.5.0 do esp mas mesmo assim continuo sem susucesso
no monitor serial so aparece

Conectando…
Connection failed
Conectando…
Connection failed
Conectando…

Ao atualizar o firmware algumas configurações já vem de fábrica, como, por exemplo, o baud rate. No arduino a taxa ideal é de 19200 e de fábrica o módulo vem configurado para 115200. Sendo assim, te aconselho fazer algumas configurações no esp8266 para o melhor funcionamento com o arduino. Faça upload do código abaixo para a placa, após você tenta executar o exemplo novamente.

#include <SoftwareSerial.h>
SoftwareSerial esp8266(2,3);

void setup()
{
  Serial.begin(9600);
  Serial.println("Configurando ESP8266..");
  
  //Faz o begin com 115200 para efetuar a primeira comunicação e seta o baudrate para 19200
  esp8266.begin(115200);

  sendData("AT+CIOBAUD=19200\r\n", 3000);
  sendData("AT+GMR\r\n", 3000);
  sendData("AT+CWMODE_DEF=1\r\n", 3000);
  sendData("AT+CWDHCP_DEF=1,1\r\n", 3000);
  sendData("AT+CWJAP=\"wifiname\",\"password\"\r\n", 15000);
  sendData("AT+CIFSR\r\n", 3000);
  String cmd = "AT+CIPSTART=\"TCP\",\"";
  cmd += "www.google.com.br";
  cmd += "\",80\r\n";
  sendData(cmd, 10000);
  sendData("AT+CIPSTATUS\r\n", 3000);
  Serial.println("** Fim **");

}

void loop() {}

void sendData(String command, const int timeout)
{
  esp8266.print(command);

  long int time = millis();
  while ( (time + timeout) > millis())
  {
    while (esp8266.available() > 0)
    {
      char c = esp8266.read(); // read the next character.
      Serial.print(c);
    }
  }
}

Boa tarde Edilaine
mais uma vez obrigado pela atenção
a questão do baud rate eu ja sabia como resolver atraves dos comandos AT
mas mesmo assim fiz o teste com seu codigo e aconteceu alguns erros

no comando AT+CIOUBAUD=19200

e no AT+CIPSTART=

como pode ver na tela do monitor serial abaixo

Configurando ESP8266…
AT+CIOBAUD=19200

ERROR
AT+GMR

AT version:0.30.0.0(Jul 3 2015 19:35:49)
SDK version:1.2.0
compile time:Jul 3 2015 20:52:32
OK
AT+CWMODE_DEF=1

OK
AT+CWDHCP_DEF=1,1

OK
AT+CWJAP=“myWifi”,“myPassword”

WIFI CONNECTED
WIFI GOT IP

OK
AT+CIFSR

+CIFSR:STAIP,“192.168.0.11”
+CIFSR:STAMAC,“60:01:94:04:c3:eb”

OK
AT+CIPSTART=“TCP”,“www.google.com.br”,80

ERROR
CLOSED
AT+CIPSTATUS

STATUS:4

OK
** Fim **

Entao pesquisando encontrei uns arquivos sobre os comandos AT e fiz a seguinte correção nesta parte do codigo

sendData(“AT+UART_DEF=19200,8,1,0,0\r\n”, 3000);
sendData(“AT+GMR\r\n”, 3000);
sendData(“AT+CWMODE_DEF=1\r\n”, 3000);
sendData(“AT+CWDHCP_DEF=1,1\r\n”, 3000);
sendData(“AT+CWJAP=“myWifi”,“myPassword”\r\n”, 15000);
sendData(“AT+CIFSR\r\n”, 3000);
sendData(“AT+CIPMUX=0\r\n”, 3000);
sendData(“AT+CIPSTART=“TCP”,“test.elipsemobile.com”,80\r\n”, 10000);
sendData(“AT+CIPSTATUS\r\n”, 3000);
Serial.println("** Fim **");

entao obtive o seguinte resultado no monitor serial testando ate a minha pagina do elipse mobile

Configurando ESP8266…
AT+UART_DEF=19200,8,1,0,0

OK
AT+GMR

AT version:0.30.0.0(Jul 3 2015 19:35:49)
SDK version:1.2.0
compile time:Jul 3 2015 20:52:32
OK
AT+CWMODE_DEF=1

OK
AT+CWDHCP_DEF=1,1

OK
AT+CWJAP=“myWifi”,“myPassword”

WIFI DISCONNECT
WIFI CONNECTED
WIFI GOT IP

OK
AT+CIFSR

+CIFSR:STAIP,“192.168.0.11”
+CIFSR:STAMAC,“60:01:94:04:c3:eb”

OK
AT+CIPMUX=0

OK
AT+CIPSTART=“TCP”,“test.elipsemobile.com”,80

CONNECT

OK
AT+CIPSTATUS

STATUS:3
+CIPSTATUS:0,“TCP”,“54.94.147.52”,80,0

OK
** Fim **

mas mesmo assim quando testo o exemplo da biblioteca nao tenho sucesso
agora so aparece

conectando…
conectando…
conectando…

desde ja agradeço a ajuda e atençao
muito obrigado

Boa tarde Luiz Fernando,

Você ainda tem interesse em usar o ESP?

Atualizei a biblioteca do ESP. Está no git hub.

Nós estamos rodando com um Arduino UNO. É o mesmo que o seu?
É preciso ter bastante cuidado com o uso de memória. Começar com o exemplo que acompanha a lib.

Parabens pela biblioteca ficou otima rodando tudo certo
mais uma vez obrigado pela atenção e responsabilidade em resolver esses detalhes pra nos
valeu abraço