Kezdőoldal » Számítástechnika » Programozás » Arduino Ethernet modul?

Arduino Ethernet modul?

Figyelt kérdés

Sziasztok! Kezdő vagyok ezen a téren, még csak ismerkedek az Arduinoval. Szeretném kipróbálni az Ethernet modult, de nem jutok előre. Egy gyári példával próbáltam először, gondoltam ez biztosan nem hibás. Egy Nano-t és egy ENC28J60 modult használok erre a célra. Szeretném elérni, hogy ha rádugom a modult az itthoni routerre, gépről tudjak hozzá csatlakozni (későbbiekben így irányítani ez-azt). Van ötletetek mi lehet a gond?

Ezzel a gyári mintaprogrammal próbálkoztam:

#include <SPI.h>

#include <Ethernet.h>


byte mac[] = {

0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED

};

IPAddress ip(192, 168, 1, 177);

EthernetServer server(80);


void setup() {

Serial.begin(9600);

while (!Serial) {

;

}

Ethernet.begin(mac, ip);

server.begin();

Serial.print("server is at ");

Serial.println(Ethernet.localIP());

}

void loop() {

EthernetClient client = server.available();

if (client) {

Serial.println("new client");

boolean currentLineIsBlank = true;

while (client.connected()) {

if (client.available()) {

char c = client.read();

Serial.write(c);

if (c == '\n' && currentLineIsBlank) {

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>");

for (int analogChannel = 0; analogChannel < 6; analogChannel++) {

int sensorReading = analogRead(analogChannel);

client.print("analog input ");

client.print(analogChannel);

client.print(" is ");

client.print(sensorReading);

client.println("<br />");

}

client.println("</html>");

break;

}

if (c == '\n') {

currentLineIsBlank = true;

} else if (c != '\r') {

currentLineIsBlank = false;

}

}

}

delay(1);

client.stop();

Serial.println("client disconnected");

Ethernet.maintain();

}

}

Esetleg rosszul kötöttem össze a Nano-t a modullal? (10-13-as kivezetéseket használtam egy leírás alapján)



2016. jan. 9. 16:09
 1/8 anonim ***** válasza:

Azt nem tudom milyen modult vettél. Ezt jó lenne ha megírnád.

A nano sem volt a legjobb választás, mert az ethernet shield-et nem tudod rátenni. Bár asszem rémlik olyan shield, ami jó rá.

A shieldnek feszültséget kell kapnia, a 10-13-as lábat nem tudom mire érted?


A progit be kell égetni a nano-ba. A cuccot pedig a PC-d böngészőjén keresztül érheted el (már amennyiben összekötöd azt egy patch kábel segítségével a PC-d, vagy a routered rj45-ös csatijával), ha begépeled az IP címet, megjelenik a http 1.1 felirat. Ez egy sima szerver.

2016. jan. 9. 16:58
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:
Még annyit, hogy az analog porton beolvasott értéket monitorozza. Az arduino keretrendszerben a soros terminal megnyitásával kontrollálhatod, hogy működik-e_?
2016. jan. 9. 17:01
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:
Az instructables.com-on egyébként találsz ethernet shield alkalmazási példát. Ott lépésről lépésre le van írva mit kell csinálnod.
2016. jan. 9. 17:04
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:

A feszültséget és a földet természetesen rákötöttem. A 10, 11, 12, 13-as kivezetésre kötöttem az ethernet shield CS, SI, SO és SCK "tüskéit".

Ezt a fajta modult vettem hozzá:

[link]

A program bele van égetve, a böngészőbe pedig a programban lévő IP címen próbálom elérni természetesen :) Egyedül azt nem tudom, hogy miért nem jó :)

2016. jan. 9. 18:17
 5/8 anonim ***** válasza:

Így kötötted be?


[link]


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

Ha a gépre, PC-dre rákötöd a nanot és megnyitod az arduino keretrendszerben a soros terminalt, majd a reset gombot megnyomod a nano-n, akkor ki kell irnia, hogy készen áll.

2016. jan. 10. 07:15
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:
Mekkora feszültséget kötöttél az ethernet modulra (5 V 3V3 ?) és honnan vetted? A föld közös?
2016. jan. 10. 07:17
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:
Megoldódott, jól volt minden, csak a könyvtárakkal volt gond, de az UIPEthernet könyvtárat használtam és így rendben van. Ahogy utána olvastam ez a fajta modul nem szereti a SPI.h és az Ethernet.h könyvtárakat (legalábbis nem minden esetben). Köszönöm a segítséget!
2016. jan. 10. 12:24
 8/8 A kérdező kommentje:

Annyit kérdeznék még, írtam egy olyan kódot, amivel böngészőből tudok egy LED-et kapcsolgatni. 2 gomb van, egyik a LED be másik a LED ki. Azt szeretném, hogy ha rányomok egyik vagy másik gombra ugyanúgy kapcsoljon, de ezután a böngészőben nyisson meg egy adott oldalt. Ezt a hivatkozást hogyan tudom a kódba "beépíteni"?


if (readString.indexOf("?button1on") >0){

digitalWrite(led, HIGH);

}

Gondolom ebbe a részbe kellene valahogy egy hivatkozást beszúrni.

2016. jan. 10. 12:32

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!