collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[27 de Março de 2024, 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: metRoNET [Em Desenvolvimento]  (Lida 10420 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
metRoNET [Em Desenvolvimento]
« em: 05 de Agosto de 2009, 01:15 »
Olá,
Começa hoje, porque finalmente recebi o material que faltava, um novo projecto meu.


Motivação

Quero fazer este projecto para poder estudar os vários componentes e conseguir interacção entre eles.


Ideia

O projecto vai consistir na criação de um dispositivo sem fios para ver informação vinda da Internet como por exemplo noticias, rss's, informações do fórum LusoRobótica :), entre outros.

O projecto vai consistir em dois módulos:
  
    - Um ligado à rede através do Ethernet Shield, com uma memória 24LC512 e um módulo RFM12.
    - Dispositivo portátil com módulo RFM12,  memória 24LC512 e um LCD YM1602C 16x2 (Compatível HD44780).


Este esquema pretende demonstrar a minha ideia.


Material Utilizado e Documentação



Progresso

  • Ethernet Shield
  • LCD YM1602C 16x2 (Compatível HD44780)
    • 99%
    • Em relação aos LCD's já há utilizadores como o ricardo-reis e o tcustodio que já reviraram os LCD's por isso parece que não será necessário inventar muito, de qualquer das maneiras quero perceber o seu funcionamento, mesmo assim diria que em relação a isto 99% do trabalho está feito.
  • RFM12-868D
    • 65%
    • Já fiz alguns testes e correu bem.
  • Arduino
    • 99%
    • Não consigo identificar o que sei e o que não sei no entanto não penso ser aqui o meu problema por isso para o necessário está ok.
  • 24LC512
    • 99%
    • Para o que o projecto necessita está em cerca de 99%


Problemas

  • Ligar o Ethernet Shield e o RFM12 pois ambos usam SPI.


Notas

O nome pode sofrer alterações a qualquer momento :D
« Última modificação: 09 de Agosto de 2009, 03:17 por metRo_ »

Offline ghostbuster

  • Mini Robot
  • *
  • Mensagens: 339
Re:metRoNET
« Responder #1 em: 05 de Agosto de 2009, 01:30 »
trocares o ethernet shield por um Fonera ja era fixe :p

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:metRoNET
« Responder #2 em: 05 de Agosto de 2009, 01:34 »
trocares o ethernet shield por um Fonera ja era fixe :p

Para isso já nem precisava de dois módulos, bastava um com arduino, fonera e LCD. Para já o me objectivo são mesmo estes componentes.

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:metRoNET
« Responder #3 em: 05 de Agosto de 2009, 12:36 »
Acrescenta ai que o 24LC512 é uma eeprom que nem todos os leitores sabem ;)

Boa sorte com o projecto, no que poder ajudar, principalmente de ethernet shield, podes contar cmg.

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re:metRoNET
« Responder #4 em: 05 de Agosto de 2009, 12:47 »
acho que basta fazer referencia ao topico do tr3s, de como ligar uma eeprom ao arduino.. a que ele usou é de 256kb, mas de resto, é tudo igual.. :)

Offline tcustodio

  • Mini Robot
  • *
  • Mensagens: 344
  • "beware of programmers who carry a soldering iron"
    • Youtube
Re:metRoNET
« Responder #5 em: 05 de Agosto de 2009, 15:56 »
  • Ligar o Ethernet Shield e o RFM12 pois ambos usam SPI.

uns multiplexadores deverão auxiliar-te nesse problema  ;D
Tiago Custódio,
- Não me dêem álcool se estiver um piano por perto.

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re:metRoNET
« Responder #6 em: 05 de Agosto de 2009, 23:48 »
Nao sei se ja conheces, aqui esta um projecto algo parecido ao que queres:
http://mightyohm.com/blog/2008/10/building-a-wifi-radio-part-1-introduction/

Neste caso a info a enviar são as streams das rádios online. Mesmo niceeee!

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:metRoNET
« Responder #7 em: 07 de Agosto de 2009, 02:03 »
  • Ligar o Ethernet Shield e o RFM12 pois ambos usam SPI.

uns multiplexadores deverão auxiliar-te nesse problema  ;D

Essa situação eu sei, aliás caso seja necessário tenho por cá :) Queria ver se consegui dar a volta com SlaveSelect.

Nao sei se ja conheces, aqui esta um projecto algo parecido ao que queres:
http://mightyohm.com/blog/2008/10/building-a-wifi-radio-part-1-introduction/

Neste caso a info a enviar são as streams das rádios online. Mesmo niceeee!

Tenho que ler com mais atenção.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
metRoNET [Em Desenvolvimento] - Ethernet Shield
« Responder #8 em: 09 de Agosto de 2009, 03:07 »
Ethernet Shield Testes

Já fiz alguns testes ao Ethernet Shield e correu bem.

Seguindo o exemplo WebClient que é fornecido com a biblioteca foi simples implementar o necessário.

Quando nós nos nossos computadores tentamos aceder a um site somos clientes do site que está alojado num servidor e então quando nos dirigimos a esse servidor este envia-nos a informação que contém no servidor relativa ao site em questão que depois é analisada pelos nossos browsers e apresentada de forma perceptível.

O Arduino quando está como WebClient comunica com um determinado servidor e recebe a informação, no entanto somos nós que vamos ter que interpretar essa informação.

Vamos usar o Arduino para abrir a página de RSS do LusoRobótica http://www.lusorobotica.com/index.php?type=rss;action=.xml

Como não sei se é possivel colocar o link todo vou fazer como está no exemplo em que digo qual o servidor da página e depois o localização dentro do servidor. Para saberem o ip de uma página basta ir à linha de comandos e fazer ping a essa página ou então num site desde genéro.

Nesta imagem temos um exemplo do que o Arduino leu ao abrir o RSS http://www.lusorobotica.com/index.php?type=rss;action=.xml


Podemos ver na consola nas duas primeiras linhas a informação de ele estar a conectar ao servidor e depois a informação que aparece é a informação vinda do servidor, é o código fonte da página (html).

Como podem ver era muita informação, no entanto obdece a norma RSS por isso está organizada no entanto seria na mesma muita informação para ser consumida pelo Arduino. Por isso decidi criar uma página em PHP para organizar a informação que quero do RSS.

O meu PHP é o seguinte:

Código: [Seleccione]
<head>
<title>Jose Xavier</title>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1252">
</head>

<?php
$xml 
simplexml_load_file("http://www.lusorobotica.com/index.php?type=rss;action=.xml");

foreach(
$xml->children() as $child)
  {
foreach($child->children() as $child1)
{
foreach($child1->children() as $child2)
{
if($child2->getName()=="title") echo "<titlo>".utf8_decode($child2)."</titlo>";
}
}
  }
?>

Basicamente este php abre o RSS procura pelo nó title e imprime estes nós separando-os pela tag <titulo>.

Este ficheiro está no seguinte link: http://78.46.77.43/~deseoinf/arduino/teste7.php

Agora vamos às configurações dos parâmetros do Ethernet Shield usando como base o exemplo WebClient. Este exemplo está feito para trabalhar dentro de uma rede por isso é necessário acrescentar os campos:
Citar
byte gateway[] = { 192, 168, 1, 1 };
byte subnet[] = { 255, 255, 255, 0 };
Isto serve para o Ethernet saber por onde sair da rede local para o mundo :D Depois acrescentamos estes argumentos em:  
Citar
Ethernet.begin(mac, ip, gateway, subnet);
Ficando o código como mostrado em baixo:

Código: [Seleccione]
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 250 };
byte server[] = { 78, 46, 77, 43 }; // Ip do servidor onde temos a página
byte gateway[] = { 192, 168, 1, 1 };
byte subnet[] = { 255, 255, 255, 0 };
Client client(server, 80);

void setup()
{
  Ethernet.begin(mac, ip, gateway, subnet);
  Serial.begin(9600);
  delay(1000);
  Serial.println("connecting...");
  
  if (client.connect()) {
    Serial.println("connected");
    client.println("GET /~deseoinf/arduino/teste7.php HTTP/1.0");
    client.println();
  } else {
    Serial.println("connection failed");
  }
}

void loop()
{
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }
  
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
    for(;;)
      ;
  }
}

Agora o Arduino ao se ligar ao servidor já só recebe a informação que eu defini:


Agora falta analisar esta informação no Arduino para recolher o que nos interessa e é simples pois temos os títulos divididos pela tag <titulo> como podem ver na imagem.

Quero agradecer ao TigPT pela ajuda em relação ao Ethernet Shield.


Notas

Foi acrescentado ao site inicial a documentação dos componentes assim como tutoriais.
« Última modificação: 09 de Agosto de 2009, 03:16 por metRo_ »

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:metRoNET [Em Desenvolvimento]
« Responder #9 em: 09 de Agosto de 2009, 12:42 »
Está quase tudo operacional :P Força nisso.

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re:metRoNET [Em Desenvolvimento]
« Responder #10 em: 09 de Agosto de 2009, 14:49 »
nice, sr metro.. já falta pouco.. ;)

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:metRoNET [Em Desenvolvimento]
« Responder #11 em: 09 de Agosto de 2009, 17:11 »
Bem, vou de férias por isso agora só daqui a uns dias. :)