Offline
Jr. Member
Karma: 0
Posts: 65
|
 |
« on: August 20, 2012, 06:19:25 pm » |
Hi! Hat irgendjmd eine Idee wie man das RedFly WLAN Modul auf einen Mega steckt (also wieherum das drauf muss)? Kann da keine Anleitung dazu finden; hab das neue Layout des RedFly! Anbei mal Bilder wie ich die Headerpins verlötet habe (dazu gabs Bilder im Netz)... https://www.dropbox.com/sh/l5q98e79lm6s54m/zNIwno-gQQDanke!
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 65
|
 |
« Reply #1 on: August 20, 2012, 07:08:13 pm » |
Habs nun so angeschlossen wie auf dem letzten Bild ersichtlich.
Outcome:
AT+RSI_FWVERSION? AT+RSI_FWVERSION? AT+RSI_FWVERSION? INIT ERR
Irgendjmd einen Rat?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 17
Posts: 1922
Wo ein Wille ist, da ist auch ein Weg !
|
 |
« Reply #2 on: August 20, 2012, 08:56:48 pm » |
Habe die Position des Reset-Pins markiert, als Orientierung.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 6
Posts: 93
|
 |
« Reply #3 on: August 21, 2012, 02:05:07 am » |
Das RedFly muss ganz links aufgesteckt werden und die ersten 2 Pins an beiden Seiten stehen bei älteren Boards über.
Gruß Andreas
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 65
|
 |
« Reply #4 on: August 21, 2012, 03:20:06 am » |
Hi! Perfekt, jetzt tut es. Vermutich wäre es aber besser gewesen ich hätte statt so: RESETSCHALTER 6ER-BRÜCKE 8ER-BRÜCKE
8ER-BRÜCKE 6ER-BRÜCKE
so gelötet: RESETSCHALTER 8ER-BRÜCKE 8ER-BRÜCKE
6ER-BRÜCKE 6ER-BRÜCKE
Naja, nicht so schlimm (hoffe ich). Wer sehen will wie nun alles korrekt aussieht: https://www.dropbox.com/sh/l5q98e79lm6s54m/zNIwno-gQQSamples funktionieren auch.
|
|
|
|
« Last Edit: August 21, 2012, 03:24:36 am by AnNaAF79 »
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 65
|
 |
« Reply #5 on: August 21, 2012, 10:23:55 am » |
Ich versuche nun gerade HTTP GET/POST Requests zu empfangen. Code: #include <RedFly.h> #include <RedFlyServer.h>
byte ip[4]; // set via DHCP byte netmask[4]; // set via DH
//initialize the server library with the port //you want to use (port 80 is default for HTTP) RedFlyServer server(80);
//serial format: 9600 Baud, 8N2 void debugout(char *s) { RedFly.disable(); Serial.print(s); RedFly.enable(); } void debugoutln(char *s){ RedFly.disable(); Serial.println(s); RedFly.enable(); }
void setup() { uint8_t ret;
//init the WiFi module on the shield ret = RedFly.init();
if(ret) { debugoutln("INIT ERR"); //there are problems with the communication between the Arduino and the RedFly } else { //scan for wireless networks (must be run before join command) RedFly.scan();
//join network ret = RedFly.join("x", "x", INFRASTRUCTURE); //debugoutln(ret);
if(ret) { debugoutln("JOIN ERR"); for(;;); //do nothing forevermore } else { //set ip config ret = RedFly.begin(); //DHCP
if(ret) { debugoutln("BEGIN ERR"); RedFly.disconnect(); for(;;); //do nothing forevermore } else { RedFly.getlocalip(ip); //receive shield IP in case of DHCP/Auto-IP server.begin(); } } } }
void loop() { //listen for incoming clients if(int len = server.available()) { debugoutln("Received data...");
char command[len];
uint8_t *buffer; int ret = server.read(buffer, len); debugoutln("Printing received data..."); sprintf_P(command, PSTR("%s\n"), buffer); debugoutln(command);
server.flush(); } else if(!server.connected()) //listening port still open? { server.stop(); //stop and reset server server.begin(); //start server } }
Der Scan und das Join funktionieren. Man sieht auch dass Daten die per HTTP verschickt werden ankommen, denn ich sehe die Ausgabe "Received data..." und in der n. Zeile "Printing received data...". Doch danach kommt nicht der GET/POST Request wie ich es erwarten würde, sondern eine Leerzeile; nada... Tipps?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 6
Posts: 93
|
 |
« Reply #6 on: August 21, 2012, 10:37:37 am » |
Der Funktion server.read() muss ein Pointer, der auf ein Array zeigt, übergeben werden. Folgendes geht daher nicht: uint8_t *buffer; int ret = server.read(buffer, len);
Richtig wäre z.B. uint8_t buffer[256]; int ret = server.read(buffer, len);
Gruß Andreas
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 65
|
 |
« Reply #7 on: August 21, 2012, 11:45:39 am » |
Okay, das macht Sinn. Zu lange kein C mehr programmiert  Aber viel geändert hat sich nicht: void loop() { //listen for incoming clients if(int len = server.available()) { debugoutln("Received data..."); uint8_t buffer[256]; int ret = server.read(buffer, len); buffer[len] = 0; char command[len]; debugoutln("Printing received data..."); sprintf_P(command, PSTR("%s\n"), buffer); command[len] = 0; debugoutln(command);
server.flush(); } else if(!server.connected()) //listening port still open? { server.stop(); //stop and reset server server.begin(); //start server } }
Also Ausgabe erhalte ich nun 2-3 kryptische Zeichen und das wars... *bahnhof* Mein Request ist ein GET Request.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 65
|
 |
« Reply #8 on: August 21, 2012, 12:39:45 pm » |
Okay, jetzt geht garnichts mehr. Am Scan & join Code habe ich nicht verändert; auch nicht an meinen WLAN Einstellungen... Nur noch JOIN ERR Meldungen: AT+RSI_FWVERSION? AT+RSI_BAND=0 AT+RSI_INIT AT+RSI_NUMSCAN=0 AT+RSI_SCAN=0 AT+RSI_NETWORK=INFRASTRUCTURE AT+RSI_PSK=xxx AT+RSI_JOIN=xxx,0,2 JOIN ERR
Dieses Bauteil fängt an mich zu nerven  Reset, Neustart vom Router, etc., alles probiert - keine Abhilfe...
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 65
|
 |
« Reply #9 on: August 21, 2012, 12:56:52 pm » |
Ohne was geändert zu haben (nur etwas gewartet und paar mal neu hochgeladen) wirs nun noch schlimmer: Ausgabe wie oben; das ganze hängt sich nun aber in er Zeile vor JOIN ERR auf; das JOIN ERR kommt nichtmal mehr.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 17
Posts: 1922
Wo ein Wille ist, da ist auch ein Weg !
|
 |
« Reply #10 on: August 21, 2012, 01:11:04 pm » |
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 65
|
 |
« Reply #11 on: August 21, 2012, 01:18:55 pm » |
Version 014. Nachdem ich nun alle Stecker mal gezogen und eine Weile gewartet habe bekomme ich zumindest wieder eine Connection; aber Daten auslesen immer noch Fehlanzeige. Kryptische Zeichen oder garnichts 
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 17
Posts: 1922
Wo ein Wille ist, da ist auch ein Weg !
|
 |
« Reply #12 on: August 21, 2012, 01:21:31 pm » |
Hast Du schon die Example-Programme der Library ausprobiert ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 65
|
 |
« Reply #13 on: August 21, 2012, 01:23:46 pm » |
Ja, die tun (sofern es nicht wieder dieses JOIN ERR Problem gibt bei dem dann garnichts mehr geht).
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 17
Posts: 1922
Wo ein Wille ist, da ist auch ein Weg !
|
 |
« Reply #14 on: August 21, 2012, 01:26:04 pm » |
Vielleicht solltest Du eines dieser Example-Programme als Grundgerüst für dein eigenes benutzen, also entsprechend modifizieren !
|
|
|
|
|
Logged
|
|
|
|
|
|