Ethernet board használat

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Ethernet board használat

Hozzászólás Szerző: Robert »

A W5100 melegedése normális jelenség.

A kért anyag NEM létezik (sem könyv, sem pdf, sem leírás). A HTML alapjaibóla HTML 2.0-t vedd elő (24 óra alatt HTML). Hiszen ez mikrokontroller és nem egy kompett PC korlátlan tárhely és memóriával!
A legegyszerűbb a LED ki/bekapcsoló mintától az adatgyűjtőig menj végig. És a utasításmagyarázatokat lesd meg az Arduino súgóból.
Bazs87
Biztosítékgyilkos
Hozzászólások: 62
Csatlakozott: 2014. július 20. vasárnap, 20:27

Re: Ethernet board használat

Hozzászólás Szerző: Bazs87 »

Róbert, köszönöm válaszod!
Tanácsodra nekiestem a html alapjainak. Ha egy arduino-s webszervert szeretnék ingyenesen a neten is elérhetővé tenni php és mysql nélkül milyen lehetőségek vannak?
Ha jól láttam a xively.com vagy a Partcl.com rendben lenne, viszont amennyire értem nem az ardu-ról futtatná a html-t. Továbbá a minták alapján csak 1-1 jel továbbítására és az értékének grafikonos ábrázolására terjed ki, így a webes inputokat nem is tudnám használni.
Ti ezt hogyan oldottátok meg?
Első szárnypróbálgatásnak valami ilyesmit szeretnék éleszteni, utána hozzákötöm a tényleges funkciókat.

Kód: Egész kijelölése

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);

int temp;
int hum;
int light;
int pres;
String time;

EthernetServer server(80);

void setup() {
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.println(Ethernet.localIP());    

  temp  = 10;
  hum   = 11;
  light = 12;
  pres  = 13;
  time  = "2014.09.14 11:10:30";
}

void loop() {
  EthernetClient client = server.available();
  if (client) {
    while (client.connected()) {
      if (client.available()) {
        client.println("HTTP/1.1 200 OK");
        client.println("Content-Type: text/html");
        client.println("Connection: close");
        client.println("Refresh: 5");
        client.println();
        client.println("<!DOCTYPE HTML>");
        client.println("<html>");

        client.println("<body bgcolor=white>");
          client.println("<p><B>WeatherStation</B></p><br>");
            client.print("<HR color=blue size=2 width=50% align=left>");
            client.println("<Table cellspacing=10>");
              client.println("<TR>");
                client.println("<TD>Temperature:</TD>"); //elso sor elso cella
                client.print("<TD>");
                client.print(temp);
                client.print(" &#xb0;C</TD>"); //elso sor masodik cella
              client.println("</TR>");
        
              client.println("<TR>");
                client.println("<TD>Humidity:</TD>"); //masodik sor elso cella
                client.print("<TD>");
                client.print(hum);
                client.print(" %</TD>"); //masodik sor masodik cella
              client.println("</TR>");
                
              client.println("<TR>");
                client.println("<TD>Light:</TD>"); //harmadik sor elso cella
                client.print("<TD>");
                client.print(light);
                client.print(" lux</TD>"); //harmadik sor masodik cella
              client.println("</TR>");
        
              client.println("<TR>");
                client.println("<TD>Pressure:</TD>"); //negyedik sor elso cella
                client.print("<TD>");
                client.print(pres);
                client.println(" bar</TD>"); //negyedik sor masodik cella
              client.println("</TR>");   
          
              client.println("<TR>");
                client.println("<TD>Last Measuring:</TD>"); //otodik sor elso cella
                client.print("<TD>");
                client.print(time);
                client.println("</TD>"); //otodik sor masodik cella
              client.println("</TR>");     
            client.println("</Table>");  

            client.println("<HR color=blue size=2 width=50% align=left>");
            client.println("<CITE> BRichter <CITE>");

        client.println("</body>"); 
        client.println("</html>");  
        break;
      }
    }   
  }   
  delay(1);
  client.stop();

}
Előre is köszönöm a válaszaitokat!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Ethernet board használat

Hozzászólás Szerző: Robert »

HTML oldal megtervezéshez valami egyszerű WEBszerkesztőt ismerj meg, ami sima HTML-ben is mutatja az oldalt. Én a Namo WebEditort javaslom.

Grafikáról mondj le, nem az Arduino világa.
Ha nagyon bele akarod interaktivizált weblapba ásni magadat, akkor az Arduino+AJAX-ra keress rá... Vannak jó trükkök benne. Ill vannak ingyenes grafiononadó alkalmazások, ilyen a googlenak is van. Mintha kép lenne, bemegy a paraméter, visszajön a kép...
Bazs87
Biztosítékgyilkos
Hozzászólások: 62
Csatlakozott: 2014. július 20. vasárnap, 20:27

Re: Ethernet board használat

Hozzászólás Szerző: Bazs87 »

köszönöm a plusz infókat. Azt szeretném megtudni hol és hogyan tudom az arduino weblapját a neten is elérhetővé tenni. A grafikonos google apinak pedig utánanézek...:)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Ethernet board használat

Hozzászólás Szerző: Robert »

Netről elérhetőség: nézd meg a Router - NAT illetve a Router+portforward keresőkre, valamint hogy neded is legyen, a Router mit kínál fel: DynDNS, MyIP vagy hasonlókat...
bgachip
DrótVégénSzéndarab
Hozzászólások: 49
Csatlakozott: 2013. november 5. kedd, 20:00

Re: Ethernet board használat

Hozzászólás Szerző: bgachip »

Ethernet Shield SD card-ra lehet valahogyan php servert telepíteni?

Tehát, sd kártyán a .htm fájl, és a weboldalra ki akarom íratni a hőmérsékletet(ds18b20), de mivel sd kártyát használok, és nem a sketch-be írom meg az oldal szerkezetét client.print-ekkel, így nem tudom, hogyan kezdjek neki.

Javaslat?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Ethernet board használat

Hozzászólás Szerző: Robert »

Nem.
Ilyen ötlet esetén Arduino helyett RaspberryPi.
bgachip
DrótVégénSzéndarab
Hozzászólások: 49
Csatlakozott: 2013. november 5. kedd, 20:00

Re: Ethernet board használat

Hozzászólás Szerző: bgachip »

Robert írta:Nem.
Ilyen ötlet esetén Arduino helyett RaspberryPi.
Akkor hogyan lehet megoldani ha sd kártyán van a htm fájl, de mégis ki szeretném íratni a hőmérsékletet, a fájlban már megírt textbox-ba?

Kód: Egész kijelölése

client.print("<input type=\"text\" class=\"text\" id=\"hom\"   value=\"");
          client.print(hom);
          client.print("\" /> ");
Csak ez az út lehetséges?
Bár ezzel sikerült, de az oldal bal felső sarkába teszi de csak akkor mutatja az új értéket ha F5-öt nyomok.

PHP-vel meg lehetne oldani, de arduino esetében nem tudom hogyan lehetne. :roll:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Ethernet board használat

Hozzászólás Szerző: Robert »

A balfelső helyett hova kered?
1, Táblázat, igazítva 100% széles, 100% magas, 1 cella.
2, Középre igazítva minden.
3, Nem mezőbe írod, hanem szövegként.
bgachip
DrótVégénSzéndarab
Hozzászólások: 49
Csatlakozott: 2013. november 5. kedd, 20:00

Re: Ethernet board használat

Hozzászólás Szerző: bgachip »

Robert írta:A balfelső helyett hova kered?
1, Táblázat, igazítva 100% széles, 100% magas, 1 cella.
2, Középre igazítva minden.
3, Nem mezőbe írod, hanem szövegként.
Eddig sikerült, CSS-el pozicionálni, javascript-el readOnly.
Már csak annyi kellene, hogy bizonyos időközönként frissüljön az aktuális értékre, és ne akkor ha a teljes oldal frissül.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Ethernet board használat

Hozzászólás Szerző: Robert »

Az egész oldal miért baj?
PHP-ban mivel oldod meg a részfrissülést?
Itt al HTML frame?

Oldalfrissülés HTML metatag: refresh


Illetve Arduino AJAX?
http://startingelectronics.com/tutorial ... sing-AJAX/
kukuri
Bitmanipulátor
Hozzászólások: 132
Csatlakozott: 2014. január 20. hétfő, 12:50

Re: Ethernet board használat

Hozzászólás Szerző: kukuri »

Üdv! Egy kis segítség kellene.
Összedobtam egy kis logoló szerkentyűt.
Amit csinál(-t) eddig. Hőmérséklet mérés, páratartalom mérés, légnyomás mérés.
Ezeket az adatokat feltölti egy VPS-re. Valamint egy kijelzőn is megjeleníti az adatokat.
Az eszközök amik használva vannak:
- Arduino UNO R3 kompatibilis vezérlő
- Mega kompatibilis ethernet shield wiznet 5100 chippel
- DHT22 szenzor
- BMP180 szenzor
- Nokia 5110 kijelző

A kód ami fut:

Kód: Egész kijelölése

/*
  Web client
 
 This sketch connects to a website (http://www.google.com)
 using an Arduino Wiznet Ethernet shield. 
 
 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13
 
 created 18 Dec 2009
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe, based on work by Adrian McEwen
 
 */

#include <SPI.h>
#include <Ethernet.h>
#include "DHT.h"
#include <SFE_BMP180.h>
#include <Wire.h>
#define DHTPIN 7
//#define DHTTYPE DHT11   // DHT 11 
#define DHTTYPE DHT22   // DHT 22  (AM2302)
DHT dht(DHTPIN, DHTTYPE);
#define ALTITUDE 90 
SFE_BMP180 pressure;
#define RST 2
#define CE 3
#define DC 4
#define DIN 5
#define CLK 6
byte LcdKarakter[][5]={
{0x00,0x00,0x00,0x00,0x00}, //20 
{0x00,0x00,0x7a,0x00,0x00}, // 21 !
{0x00,0x70,0x00,0x70,0x00}, // 22 "
{0x28,0xfe,0x28,0xfe,0x28}, // 23#
{0x20,0x54,0xfe,0x54,0x08}, // $
{0x00,0x68,0x10,0x2c,0x00}, // %
{0x6c,0x92,0x6c,0x02,0x00}, // &
{0x00,0x00,0x70,0x00,0x00}, // '
{0x00,0x3c,0x42,0x00,0x00}, // (
{0x00,0x42,0x3c,0x00,0x00}, // )
{0x2a,0x1c,0x1c,0x2a,0x00}, // *
{0x08,0x08,0x3e,0x08,0x08}, // +
{0x00,0x01,0x06,0x04,0x00}, // ,
{0x08,0x08,0x08,0x08,0x00}, // -
{0x00,0x02,0x07,0x02,0x00}, // .
{0x06,0x08,0x10,0x60,0x00}, // /
{0x00,0x3c,0x42,0x3c,0x00}, // 0
{0x00,0x22,0x7e,0x02,0x00}, // 1
{0x26,0x4a,0x4a,0x32,0x00}, // 2
{0x44,0x52,0x72,0x4c,0x00}, // 3
{0x18,0x28,0x7e,0x08,0x00}, // 4
{0x74,0x52,0x52,0x4c,0x00}, // 5
{0x3c,0x52,0x52,0x0c,0x00}, // 6
{0x40,0x46,0x58,0x60,0x00}, // 7
{0x2c,0x52,0x52,0x2c,0x00}, // 8
{0x30,0x4a,0x4a,0x3c,0x00}, // 9
{0x00,0x36,0x36,0x00,0x00}, // :
{0x00,0x01,0x36,0x34,0x00}, // ;
{0x00,0x18,0x24,0x42,0x00}, // <
{0x14,0x14,0x14,0x14,0x00}, // =
{0x00,0x42,0x24,0x18,0x00}, // >
{0x00,0x20,0x4a,0x30,0x00}, // ?
{0x3c,0x42,0x99,0xa5,0x78}, // @
{0x3e,0x48,0x48,0x3e,0x00}, // A
{0x7e,0x52,0x52,0x2c,0x00}, // B
{0x3c,0x42,0x42,0x24,0x00}, // C
{0x7e,0x42,0x42,0x3c,0x00}, // D
{0x7e,0x52,0x52,0x42,0x00}, // E
{0x7e,0x50,0x50,0x40,0x00}, // F
{0x3c,0x42,0x4a,0x2c,0x00}, // G
{0x7e,0x10,0x10,0x7e,0x00}, // H
{0x00,0x42,0x7e,0x42,0x00}, // I
{0x04,0x42,0x7c,0x40,0x00}, // J
{0x7e,0x10,0x2c,0x42,0x00}, // K
{0x7e,0x02,0x02,0x02,0x00}, // L
{0x7e,0x30,0x30,0x7e,0x00}, // M
{0x7e,0x30,0x1c,0x7e,0x00}, // N
{0x3c,0x42,0x42,0x3c,0x00}, // O
{0x7e,0x48,0x48,0x30,0x00}, // P
{0x3c,0x4a,0x46,0x3d,0x00}, // Q
{0x7e,0x48,0x48,0x36,0x00}, // R
{0x24,0x52,0x4a,0x24,0x00}, // S
{0x00,0x40,0x7e,0x40,0x00}, // T
{0x7c,0x02,0x02,0x7c,0x00}, // U
{0x78,0x06,0x06,0x78,0x00}, // V
{0x7e,0x0c,0x0c,0x7e,0x00}, // W
{0x66,0x18,0x18,0x66,0x00}, // X
{0x60,0x10,0x0e,0x10,0x60}, // Y
{0x46,0x4a,0x52,0x62,0x00}, // Z
{0x00,0x7e,0x42,0x42,0x00}, // [
{0x60,0x10,0x08,0x06,0x00}, // "\"
{0x00,0x42,0x42,0x7e,0x00}, // ]
{0x00,0x20,0x50,0x20,0x00}, // ^ Átírva °jelre. eredeti {0x00,0x20,0x40,0x20,0x00},
{0x01,0x01,0x01,0x01,0x00}, // _
{0x00,0x40,0x20,0x00,0x00}, // `
{0x0c,0x12,0x12,0x1e,0x00}, // a
{0x7e,0x12,0x12,0x0c,0x00}, // b
{0x00,0x0c,0x12,0x12,0x00}, // c
{0x0c,0x12,0x12,0x7e,0x00}, // d
{0x0c,0x16,0x1a,0x08,0x00}, // e
{0x08,0x3e,0x48,0x20,0x00}, // f
{0x08,0x15,0x15,0x0e,0x00}, // g
{0x7e,0x10,0x10,0x0e,0x00}, // h
{0x00,0x12,0x5e,0x02,0x00}, // i
{0x00,0x02,0x01,0x5e,0x00}, // j
{0x7e,0x08,0x08,0x16,0x00}, // k
{0x00,0x42,0x7e,0x02,0x00}, // l
{0x1e,0x10,0x0e,0x10,0x0e}, // m
{0x1e,0x10,0x10,0x0e,0x00}, // n
{0x0c,0x12,0x12,0x0c,0x00}, // o
{0x1f,0x14,0x14,0x08,0x00}, // p
{0x08,0x14,0x14,0x1f,0x00}, // q
{0x1e,0x08,0x10,0x08,0x00}, // r
{0x00,0x0a,0x1a,0x14,0x00}, // s
{0x10,0x7c,0x12,0x04,0x00}, // t
{0x1c,0x02,0x02,0x1e,0x00}, // u
{0x00,0x1c,0x02,0x1c,0x00}, // v
{0x1c,0x02,0x0c,0x02,0x1c}, // w
{0x12,0x0c,0x0c,0x12,0x00}, // x
{0x1a,0x05,0x05,0x1e,0x00}, // y
{0x12,0x16,0x1a,0x12,0x00}, // z
{0x10,0x54,0xaa,0x82,0x00}, // {
{0x00,0x00,0x7e,0x00,0x00}, // |
{0x82,0xaa,0x54,0x10,0x00}, // }
{0x20,0x40,0x20,0x40,0x00} // ~ 
};
// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
//IPAddress server(74,125,232,128);  // numeric IP for Google (no DNS)
char server[] = "www.netnote.hu";    // name address for Google (using DNS)
IPAddress ip(192,168,5,182);
EthernetClient client;
String adat="";
String kimenet=""; 
void LcdWriteCmd(byte cmd)
{
  digitalWrite(DC, LOW); //DC pin is low for commands
  digitalWrite(CE, LOW);
  shiftOut(DIN, CLK, MSBFIRST, cmd); //transmit serial data
  digitalWrite(CE, HIGH);
}
void LcdWriteData(byte data)
{
  digitalWrite(DC, HIGH); //DC pin is HIGH for commands
  digitalWrite(CE, LOW);
  shiftOut(DIN, CLK, MSBFIRST, data); //transmit serial data
  digitalWrite(CE, HIGH);
}
void LcdClear()
{
  LcdPos(0,0);
  for(int i=0;i<504;i++)
  {
    LcdWriteData(0x00);
  }
}
void LcdPos(int y, int x)
{
  byte xo=0x80;
  byte yo=0x40;
  if(x==0)xo=0x80;
  if(x==1)xo=0x85;
  if(x==2)xo=0x8A;
  if(x==3)xo=0x8F;
  if(x==4)xo=0x94;
  if(x==5)xo=0x99;
  if(x==6)xo=0x9E;
  if(x==7)xo=0xA3;
  if(x==8)xo=0xA8;
  if(x==9)xo=0xAD;
  if(x==10)xo=0xB2;
  if(x==11)xo=0xB7;
  if(x==12)xo=0xBC;
  if(x==13)xo=0xC1;
  if(x==14)xo=0xC6;
  if(x==15)xo=0xCB;
  if(x==16)xo=0xD0;
  if(y==0)yo=0x40;
  if(y==1)yo=0x41;
  if(y==2)yo=0x42;
  if(y==3)yo=0x43;
  if(y==4)yo=0x44;
  if(y==5)yo=0x45;
  LcdWriteCmd(xo);
  LcdWriteCmd(yo);
}
void LcdWritetext(int a, int b, String karakter)
{
  for(int i=0; i<karakter.length(); i++)
  {
      LcdWriteKarakter(a,b,karakter[i]);
      b=b+5;
  }
}
void LcdWriteKarakter(int a, int b, char i)
{
  i=i-32;    
  LcdWriteData(KarakterMirror(LcdKarakter[i][0]));
  LcdWriteData(KarakterMirror(LcdKarakter[i][1]));
  LcdWriteData(KarakterMirror(LcdKarakter[i][2]));
  LcdWriteData(KarakterMirror(LcdKarakter[i][3]));
  LcdWriteData(KarakterMirror(LcdKarakter[i][4]));
}
byte KarakterMirror(int k)
{
  int maszk_0=0x01;
  int maszk_1=0x02;
  int maszk_2=0x04;
  int maszk_3=0x08;
  int maszk_4=0x10;
  int maszk_5=0x20;
  int maszk_6=0x40;
  int maszk_7=0x80;
  int adat=0x00;
  int adat_mir=0x00;
  if(k==(k|maszk_0))
  {
    adat_mir=adat_mir | maszk_7;
  }
  if(k==(k|maszk_1))
  {
    adat_mir=adat_mir | maszk_6;
  }
  if(k==(k|maszk_2))
  {
    adat_mir=adat_mir | maszk_5;
  }
  if(k==(k|maszk_3))
  {
    adat_mir=adat_mir | maszk_4;
  }
  if(k==(k|maszk_4))
  {
    adat_mir=adat_mir | maszk_3;
  }
  if(k==(k|maszk_5))
  {
    adat_mir=adat_mir | maszk_2;
  }
  if(k==(k|maszk_6))
  {
    adat_mir=adat_mir | maszk_1;
  }
  if(k==(k|maszk_7))
  {
    adat_mir=adat_mir | maszk_0;
  } 
 return adat_mir;
}
void setup() {
  pinMode(RST, OUTPUT);
  pinMode(CE, OUTPUT);
  pinMode(DC, OUTPUT);
  pinMode(DIN, OUTPUT);
  pinMode(CLK, OUTPUT);
  digitalWrite(RST, LOW);
  digitalWrite(RST, HIGH); 
  LcdWriteCmd(0x21); // LCD extended commands
  LcdWriteCmd(0xB8); // set LCD Vop (contrast)
  LcdWriteCmd(0x07); // set temp coefficent
  LcdWriteCmd(0x14); // LCD bias mode 1:40
  LcdWriteCmd(0x20); // LCD basic commands
  //LcdWriteCmd(0x09); // LCD all segments on
  LcdWriteCmd(0x0C); // LCD normal video 

  dht.begin();
  Serial.begin(9600);
  pressure.begin();
   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:
    // try to congifure using IP address instead of DHCP:
    Ethernet.begin(mac, ip);
  }
  // give the Ethernet shield a second to initialize:
  delay(1000);
  Serial.println("Csatlakozas...");
 // get_send();
}
void get_send(int h, int p, double n)
{
  if (client.connect(server, 80)) {
    Serial.println("Csatlakozas sikeres.");
    // Make a HTTP request:
    client.print("GET /gomba/datalog.php?homerseklet=");
    client.print(h);
    client.print("&paratartalom=");
    client.print(p);
    client.print("&nyomas=");
    client.print(n);
    client.println("Host: netnote.hu");
    client.println("Connection: close");
    client.println();
    
 /*   Serial.print("GET /gomba/datalog.php?homerseklet=");
    Serial.print(h);
    Serial.print("&paratartalom=");
    Serial.print(p);
    Serial.print("&nyomas=");
    Serial.print(n);
    Serial.println("Host: netnote.hu");
    Serial.println("Connection: close");
    Serial.println();
 */} 
  else
  {
    Serial.println("Kapcsolodas nem sikerult.");
  }
}
double nyomas()
{
   double T,P;
      pressure.startTemperature();
      delay(10);
      pressure.getTemperature(T);
      delay(10);
      pressure.startPressure(0);
      delay(10);
      pressure.getPressure(P,T);
      return pressure.sealevel(P,ALTITUDE);
}
void loop()
{
  if (client.available()) 
  {
    char c = client.read();
    adat=adat+c;
    Serial.println(c);
  }
   kimenet=adat;
  if (!client.connected())
  {
    Serial.println("Kapcsolat bontasa.");
    client.stop();
    if(kimenet)
    {kimenet="Nincs visszatero adat";}
    Serial.println(kimenet);
    adat="";
    float h = dht.readHumidity();
    float t = dht.readTemperature();
    delay(970);
    get_send(t*100,h*100,nyomas()*100);
    int in_i=t*100;
    String myint="";
    myint.concat(in_i);
    LcdClear();
    LcdPos(0, 0);
    LcdWritetext(1, 0, "Hom:    ");
    LcdWritetext(1, 0, myint);
    LcdWritetext(1, 0, " ^C ");
    LcdPos(1, 0);
    myint="";
    in_i=h*100;
    myint.concat(in_i);
    LcdWritetext(1, 0, "Para:   ");
    LcdWritetext(1, 0, myint);
    LcdWritetext(1, 0, " %");
    LcdPos(2, 0);
    myint="";
    in_i=nyomas();
    myint.concat(in_i);
    LcdWritetext(1, 0, "Nyomas: ");
    LcdWritetext(1, 0, myint);
    LcdWritetext(1, 0, " Pa");
    LcdPos(3, 0);
    LcdWritetext(1, 0, "Eredmeny: ");
    LcdPos(4, 0);
    LcdWritetext(1, 0, kimenet);
   }

}
A kijelző kezelés elég egyedi szerintem. De ettől még működhet.

Az érdekessége az egésznek hogy legalább egy hónapon keresztül esténként bekapcsoltam és működött.
Most valamiért nem akarja a kapcsolatot felépíteni. A visszajelzések szerint fel tudja építeni a kapcsolatot, de a szerveren mégsem jelenik meg az adat. Azt a parancssort amit az arduino kiküld külön bemásolva a böngészőbe működik az adatrögzítés.

Lehetséges hogy maga a HW sérülhetett? És minden látszólag jól működés ellenére mégis hibásan működik? Gondolok erre azért mert utángyártott elemeket használok.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Ethernet board használat

Hozzászólás Szerző: Robert »

Ha nem változott semmi (PC SW frissites, router firmware, IP címek frissülése), akkor az a HW lehet. Pl. a DHCP címek elmásztak...
De kábelhiba is lehet....
kukuri
Bitmanipulátor
Hozzászólások: 132
Csatlakozott: 2014. január 20. hétfő, 12:50

Re: Ethernet board használat

Hozzászólás Szerző: kukuri »

A soros porton a következőket írja ki folyamatosan.
Kapcsolat bontasa.
Nincs visszatero adat
Csatlakozas sikeres.
GET /gomba/datalog.php?homerseklet=2180&paratartalom=8220&nyomas=101181.95Host: netnote.hu
Connection: close

Kapcsolat bontasa.
Nincs visszatero adat
Csatlakozas sikeres.
GET /gomba/datalog.php?homerseklet=2180&paratartalom=8220&nyomas=101192.74Host: netnote.hu
Connection: close

Kapcsolat bontasa.
Nincs visszatero adat
Csatlakozas sikeres.
GET /gomba/datalog.php?homerseklet=2180&paratartalom=8220&nyomas=101192.74Host: netnote.hu
Connection: close

Létezik ilyen hiba hogy kapcsolódik és mégsem?

Próbának feltettem a mintakódot is.

Kód: Egész kijelölése

/*
  Web client
 
 This sketch connects to a website (http://www.google.com)
 using an Arduino Wiznet Ethernet shield. 
 
 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13
 
 created 18 Dec 2009
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe, based on work by Adrian McEwen
 
 */

#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[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
//IPAddress server(74,125,232,128);  // numeric IP for Google (no DNS)
char server[] = "www.google.com";    // name address for Google (using DNS)

// Set the static IP address to use if the DHCP fails to assign
IPAddress ip(192,168,0,177);

// 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:
    // try to congifure using IP address instead of DHCP:
    Ethernet.begin(mac, ip);
  }
  // give the Ethernet shield a second to initialize:
  delay(1000);
  Serial.println("connecting...");

  // if you get a connection, report back via serial:
  if (client.connect(server, 80)) {
    Serial.println("connected");
    // Make a HTTP request:
    client.println("GET /search?q=arduino HTTP/1.1");
    client.println("Host: www.google.com");
    client.println("Connection: close");
    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()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();

    // do nothing forevermore:
    while(true);
  }
}
A jelenség itt is ugyanaz.
connecting...
connected

disconnecting.

Gondolom ha a beállításoknál lenne gond akkor nem csatlakozna.
Ezek szerint a shieldet dobhatom ki. Vagy max sd kártsa olvasásra használom ha az megy rajta.


Lehet hogy ezek a hibák miatt éri meg inkább eredeti elemeket vásárolni?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Ethernet board használat

Hozzászólás Szerző: Robert »

Itt valami más lehet.
Ellenőrizd, hogy a EthModul kap e DHCP címet.
Illetve van e mac/IP címe.
Válasz küldése