Show Posts
|
|
Pages: [1]
|
|
1
|
International / Portugues / Re: Standalone + ETH W5100
|
on: January 12, 2013, 06:50:58 pm
|
|
Bubulindo...
Usei o UNO apenas para testar as placas ETH W5100, bater pinagem, testar o programa, etc...
Montei um standalone em separado... nada conectado ao UNO.
Está o standalone e o ETH (somente).
Quando ao pino SS - SLAVE (HIGH/LOW)... posso desprezar ele da conexão ?
Obrigado.
|
|
|
|
|
2
|
International / Portugues / Re: Standalone + ETH W5100
|
on: January 12, 2013, 05:33:22 pm
|
|
Olá Hugo,
Pouca corrente eu acho pouco provável, pois é a mesma fonte que uso no meu UNO, com uma grande quantidade de recursos/sensores conectados.
Já... já medi.
A alimentação de entrada no LM317 é 9V (500mA).
O que acontece é que usei capacitores eletrolíticos na entrada e na saída do LM317... vou remover e testar... usar só os resistores.
Estou aberto a discussões...
Obrigado.
|
|
|
|
|
4
|
International / Portugues / Standalone + ETH W5100
|
on: January 12, 2013, 02:19:29 pm
|
Olá Pessoal, Comprei recentemente algumas placas ethernet com chipset w5100 ( http://www.ebay.com/itm/W5100-Ethernet-Module-Arduino-Compatible-/140575884967?pt=LH_DefaultDomain_0&hash=item20baf9c6a7) funcionam muito bem, e fáceis de utilizar; estou montando alguns dispositivos remotos, e lógico, quero comunicação entre eles. Testei todas as placas diretamente no meu Arduino UNO R3, funcionou muito bem, e a aplicação escrevi da mesma forma, tudo OK... bibliotecas client e server... sem problemas. Montei então um Arduino Standalone, seguindo todas as especificações, testei e funcionou muito bem. Montei também uma pequena fonte de alimentação usando reguladores de tensão LM7805 (5v) e LM317(ajustável 3.3v) - externa). Adaptei então este Standalone para receber a placa ETH. Fiz as devidas ligações entre as portas MISO/MOSI/CLOCK/SS para as portas 13/12/11/10 do UNO. Alimentei a placa eth com 3.3v usando a "fonte". Bati continuidade, e tensão de todos os elementos, tudo OK. Entretanto ao conectar a Placa ETH ao dispositivo Standalone, a tensão de alimentação desta imediatamente baixa a ~0.80/0.70v... e lógico, ela não funciona. Removendo o dispositivo, volta ao normal... 3.3v. O problema aparenta curto, mas como disse, bati continuidade várias vezes... Alguém tem idéia dos possiveis problemas ??? Muito Obrigado pessoal. Att. Marcelo
|
|
|
|
|
5
|
International / Portugues / Re: Arduino + Ethernet W5100 + php
|
on: November 20, 2012, 08:45:16 pm
|
Fala Bubulindo... Carinha, vamos lá. Depois de muita porrada, entendi o que estava acontecendo comigo. O meu servidor, onde tenho hospedado minha página, é dinâmico, ou seja, quando utilizo char serverName[] = " www.meusite.com.br/arduino" ele simplesmente não assume e não conecta, fazendo com que não reconheça o path em - por exemplo: client.print("GET /writetemplocalserv.php?t") Então para funcionar eu preciso declarar a URL inteira: client.print("GET http://www.meusite.com.br/arduino/writetemplocalserv.php?t") Compreendeu ? Deste jeito, eu consegui fazer a inserção de dados, mas precisei criar uma página em PHP especifica para isso (claro, como era para ser - mas estava tentando rodar usando o FrameWork CodeIgniter - o que não deu certo até agora). Agora, preciso de ajuda com o CI, pois consigo fazer a inserção direto no browser, mas quando faço o mesmo procedimento com o código simples no ARDUINO, ele não vai. Achei que pudesse ser alguma configuração do CI, que não estava liberando QUERY_STRING, criei até um novo método para eliminar o famoso "?", mas mesmo assim, nada. Em vez de utilizar $this->input->get('t', TRUE) para pegar a informação (que já não estava dando certo), utilizei as variáveis globais $_GET['t'], o que também não deu certo. Volto a afirmar, pelo Browser vai, mas quando o ARDUINO envia, o DB não registra. Conhece algo de CodeIgniter ? consegue indicar uma possível solução ? Abraço, e obrigado pela ajuda até agora.
|
|
|
|
|
6
|
International / Portugues / Re: Arduino + Ethernet W5100 + php
|
on: November 18, 2012, 06:16:46 pm
|
Fala Bubulindo... Obrigado pela ajuda, mas mesmo assim, debugando todo o material que enviou, sigo se conseguir enviar os dados. Fiz várias tentativas o usando o GET (o que é mais fácil) mas mesmo assim, sem sucesso. Resolvi seguir seu conselho e usar o POST. Por favor, dá uma olhada no meu código, e se possível, aponte o que está de errado. #include <SPI.h> #include <Ethernet.h>
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 }; char serverName[] = "www.meusite.com.br/arduino/index.php/beta01";
EthernetClient client;
char strURL[70]; unsigned long previousMillis = 0; unsigned long currentMillis = 0; long interval = 5000; // 10 minutes (10*60*1000) 600000
void setup() { Ethernet.begin(mac); Serial.begin(9600); delay(2000); Serial.println("Conectando..."); if(!client.connect(serverName, 80)){ Serial.println("Falhou."); } else { pegaValor(); client.stop(); } }
void loop() { currentMillis = millis(); if(currentMillis - previousMillis > interval) { previousMillis = currentMillis; if(client.connect(serverName, 80)) {
pegaValor();
} else { Serial.println("Falhou em conectar. Tente mais tarde"); } delay(1000); client.stop(); } }
void pegaValor() {
String data; data+=""; data+="t="; data+=analogRead(A0);
client.print("POST /passa_valor"); client.println(" HTTP/1.1"); client.println("Host: meusite.com.br"); client.println("Content-Type: application / x-www-form-urlencoded"); client.println("Connection: close"); client.print("Content-Length: "); client.println(data.length()); client.println(); client.print(data); client.println(); Serial.print("POST /passa_valor"); Serial.println(" HTTP/1.1"); Serial.println("Host: meusite.com.br"); Serial.println("Content-Type: application / x-www-form-urlencoded"); Serial.println("Connection: close"); Serial.print("Content-Length: "); Serial.println(data.length()); Serial.println(); Serial.print(data); Serial.println();
}
Grande Abraço.
|
|
|
|
|
7
|
International / Portugues / Arduino + Ethernet W5100 + php
|
on: November 17, 2012, 11:26:19 am
|
Pessoal, boa tarde. Gostaria de ajuda com o Arduino + PHP. Tenho um UNO-R3 com Shield Ethernet W5100 (cópia chinesa). Está funcionando beleza. Minha dúvida é na passagem de valores para um site. Tenho um domínio www.site.com.br, onde em www.site.com.br/arduino tenho um método já programado para inserção de dados em MySQL. Se fizer direto no browser www.site.com.br/arduino/index.php?variavel=valor, o metodo grava direitinho no MySQL. Entretanto, ao usar o arduino para realizar a tarefa, não tenho muito sucesso. Segue abaixo o sketch (usei um exemplo do arduino.cc - no exemplo passo um valor fixo para testar): #include <SPI.h> #include <Ethernet.h>
// Enter a MAC address for your controller below. // Newer Ethernet shields have a MAC address printed on a sticker on the shield byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 }; char serverName[] = "www.site.com.br";
// Initialize the Ethernet client library // with the IP address and port of the server // that you want to connect to (port 80 is default for HTTP): EthernetClient client;
void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only }
// start the Ethernet connection: if (Ethernet.begin(mac) == 0) { Serial.println("Failed to configure Ethernet using DHCP"); // no point in carrying on, so do nothing forevermore: while(true); } // give the Ethernet shield a second to initialize: delay(1000); Serial.println(Ethernet.localIP()); Serial.println("connecting...");
// if you get a connection, report back via serial: if (client.connect(serverName, 80)) { Serial.println("connected"); // Make a HTTP request: client.println("GET /arduino/index.php?t=13"); Serial.println("Tentativa de Passar Valor"); client.println(); } else { // kf you didn't get a connection to the server: Serial.println("connection failed"); } }
void loop() { // if there are incoming bytes available // from the server, read them and print them: if (client.available()) { char c = client.read(); Serial.print(c); }
// if the server's disconnected, stop the client: if (!client.connected()) { client.println("GET /arduino/index.php?variavel=13"); Serial.println("Tentativa de Passar Valor"); Serial.println(); Serial.println("disconnecting."); client.stop();
// do nothing forevermore: while(true); } }
Resposta no Monitor 192.168.1.102 connecting... connected Tentativa de Passar Valor HTTP/1.1 503 Service Unavailable Server: Varnish Retry-After: 0 Content-Type: text/html; charset=utf-8 Content-Length: 419 Date: Sat, 17 Nov 2012 16:21:39 GMT X-Varnish: 1134533171 Age: 0 Via: 1.1 varnish Connection: close
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>503 Service Unavailable</title> </head> <body> <h1>Error 503 Service Unavailable</h1> <p>Service Unavailable</p> <h3>Guru Meditation:</h3> <p>XID: 1134533171</p> <hr> <p>Varnish cache server</p> </body> </html> Tentativa de Passar Valor
disconnecting.
Imagino que seja uma coisa "tosta", mas toda a ajuda é bem vida. Abraço Pessoal.
|
|
|
|
|