konstantinos_1987 Δημοσ. 9 Δεκεμβρίου 2014 Δημοσ. 9 Δεκεμβρίου 2014 Καλημέρα παιδιά..προσπαθώ να προγραμματίσω το arduino έτσι ώστε από τον browser ή μια εφαρμογή στο κινητό μου να μπορώ να ελέγξω κάποια relay στο σπίτι και να πάρω δεδομένα από αισθητήρες..το θέμα μου είναι οτι αντί για την default παρουσίαση του browser,θέλω να φτιάξω εγώ την εμφάνιση.πώς μπορώ στον κώδικα του arduino να το βάλω να παίρνει το css από την sd κάρτα;;και ίσως να φορτώνει κάποιες εικόνες σαν background;;κάποιος τρόπος θα υπάρχει να διαβάσει από την sd..σωστά;;
παπι Δημοσ. 10 Δεκεμβρίου 2014 Δημοσ. 10 Δεκεμβρίου 2014 Κάτι απλό θα ηταν να τα βάλεις (css imgs etc...) σε κάποιο server.
konstantinos_1987 Δημοσ. 10 Δεκεμβρίου 2014 Μέλος Δημοσ. 10 Δεκεμβρίου 2014 όπου server είτε ο υπολογιστής,είτε κάποια άλλη συσκευή συνδεδεμένη μόνιμα στο δίκτυο του σπιτιού,σωστά;;πχ raspberry;;στον κώδικα πώς θα του έδειχνα να δει από το τοπικό δίκτυο;;
παπι Δημοσ. 10 Δεκεμβρίου 2014 Δημοσ. 10 Δεκεμβρίου 2014 Για free hosting μιλάω. Δεν υπάρχει λόγος να σερβιρεις ολοκληρο web page απο τον μικροελεγκτή.
konstantinos_1987 Δημοσ. 10 Δεκεμβρίου 2014 Μέλος Δημοσ. 10 Δεκεμβρίου 2014 εκεί που χρησιμοποιώ το arduino δεν έχει πρόσβαση στο ίντερνετ..έχεις δίκιο οτι δεν χρειάζεται να το σερβίρω απο τον μικροελεγκτή... αν έφτιαχνα μια html σελίδα;;θα το έκανε σωστά;;
nucleus Δημοσ. 10 Δεκεμβρίου 2014 Δημοσ. 10 Δεκεμβρίου 2014 Αν η html σελίδα σου έχει κάποιο τρόπο επικοινωνίας με το arduino για να παίρνει και να στέλνει τα δεδομένα ναι μπορείς να το κάνεις με html και δικά σου css. To θέμα είναι να δεις πως μπορείς να πάρεις δεδομένα από το arduino μέσω web.
konstantinos_1987 Δημοσ. 10 Δεκεμβρίου 2014 Μέλος Δημοσ. 10 Δεκεμβρίου 2014 Αν η html σελίδα σου έχει κάποιο τρόπο επικοινωνίας με το arduino για να παίρνει και να στέλνει τα δεδομένα ναι μπορείς να το κάνεις με html και δικά σου css. To θέμα είναι να δεις πως μπορείς να πάρεις δεδομένα από το arduino μέσω web. θέλω από την sd να το κάνω..και δε μπορώ να φανταστώ πώς θα το κάνω να παίρνει το css και την html σελίδα από την sd κι όχι να δημιουργείται από το arduino,όπως τώρα..θα μπορούσα κάπως να στήσω server με το raspberry;;και πώς θα μπορούσε να πάρει από εκεί το css αρχείο;;πχ από το ίντερνετ το παίρνει με μια εντολή τύπου : client.println("<link rel='stylesheet' type='text/css' href='http://homeautocss.net84.net/a.css'/>"); αυτό θα μπορούσε να γίνει και από την sd;;
warlock9_0 Δημοσ. 10 Δεκεμβρίου 2014 Δημοσ. 10 Δεκεμβρίου 2014 μπορείς να έχεις ένα raspberry που θα κάνει τον web server πάνω του θα συνδέσεις το arduino και από το raspberry θα στέλνεις serial ανάλογα με το τι θα πατάς στην κάθε σελίδα αλλιως μπορείς να βάλεις στο arduino ένα ethernet shield και να είναι και web server ταυτόχρονα
konstantinos_1987 Δημοσ. 10 Δεκεμβρίου 2014 Μέλος Δημοσ. 10 Δεκεμβρίου 2014 έχω shield στο arduino...αν θες δημοσιεύω και τον κώδικα που χρησιμοποιώ (από ένα tutorial)για τον έλεγχο των relay..το θέμα είναι πώς μπορώ να τον τροποποιήσω για να παίρνει δεδομένα είτε από την sd είτε από ένα raspberry που θα παίζει το ρόλο του server...
MeTaXaS4 Δημοσ. 10 Δεκεμβρίου 2014 Δημοσ. 10 Δεκεμβρίου 2014 λογικά κάνεις client.print("{html tags...}"); σωστά; γιατί δεν κάνεις και print και το css ; δες αυτό το example π.χ. http://www.w3schools.com/html/html_css.aspέχει το "css" part μέσα στο html file, εσύ με το client.print() στέλνει στον client κάθε γραμμή του html αρχείου τυπικά...
konstantinos_1987 Δημοσ. 10 Δεκεμβρίου 2014 Μέλος Δημοσ. 10 Δεκεμβρίου 2014 πώς να τροποποιήσω τον κώδικα δηλαδή;;να το κάνω πχ client.println("<H1><font size=9 color=red>CHRISTMAS LIGHTS</font></H1>"); το θέμα είναι οτι μου μεγαλώνει τα γράμματα μέχρι ενός σημείου..και οτι δεν έχω καταφέρει να βάλω background image.. ένα τυπικό css για το πρόγραμμα που φτιάχνω είναι αυτό που δίνουν εδώ.. που εννοείται οτι θα του κάνω αλλαγές..αν το περάσω γραμμή γραμμή με client.print,νομίζω δε δουλεύει σωστά..
MeTaXaS4 Δημοσ. 10 Δεκεμβρίου 2014 Δημοσ. 10 Δεκεμβρίου 2014 αν το βάλεις μέσα στο <head> <style> γιατί όχι; π.χ. <head> <style> body { margin:50px 0px; padding:0px; text-align:center; } h1 { text-align: center; font-family:"Trebuchet MS",Arial, Helvetica, sans-serif; } a { text-decoration:none; width:75px; height:50px; border-color:black; border-top:2px solid; border-bottom:2px solid; border-right:2px solid; border-left:2px solid; border-radius:10px 10px 10px; -o-border-radius:10px 10px 10px; -webkit-border-radius:10px 10px 10px; font-family:"Trebuchet MS",Arial, Helvetica, sans-serif; -moz-border-radius:10px 10px 10px; background-color:#525252; padding:8px; text-align:center; } a:link {color:white;} /* unvisited link */ a:visited {color:white;} /* visited link */ a:hover {color:white;} /* mouse over link */ a:active {color:white;} /* selected link */ </style> </head>
konstantinos_1987 Δημοσ. 10 Δεκεμβρίου 2014 Μέλος Δημοσ. 10 Δεκεμβρίου 2014 ενσωμάτωσα αυτό client.println("<HEAD>"); client.println("<style>"); client.println("<background-color:#525252>"); client.println("<meta name='apple-mobile-web-app-capable' content='yes' />"); client.println("<meta name='apple-mobile-web-app-status-bar-style' content='black-translucent' />"); client.println("<link rel='stylesheet' type='text/css' href='http://homeautocss.net84.net/a.css' />"); client.println("<TITLE><font size=9 color=red>Christmas Lights</font></TITLE>"); client.println("</style>"); client.println("</HEAD>"); το χρώμα του background παρέμεινε άσπρο..
MeTaXaS4 Δημοσ. 10 Δεκεμβρίου 2014 Δημοσ. 10 Δεκεμβρίου 2014 άκυρο, στείλε όλο τον κώδικα να τον δω σε λίγο απότο σπίτι.
konstantinos_1987 Δημοσ. 10 Δεκεμβρίου 2014 Μέλος Δημοσ. 10 Δεκεμβρίου 2014 αυτός είναι του tutorial,τον έχω τροποποιήσει λίγο,αλλά είναι στη φάση που τον δουλεύω και τον επεικτείνω.. #include <SPI.h> #include <Ethernet.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address byte ip[] = { 192, 168, 1, 177 }; // ip in lan byte gateway[] = { 192, 168, 1, 1 }; // internet access via router byte subnet[] = { 255, 255, 255, 0 }; //subnet mask EthernetServer server(80); //server port String readString; ////////////////////// void setup(){ pinMode(4, OUTPUT); pinMode(6, OUTPUT); //pin selected to control //start Ethernet Ethernet.begin(mac, ip, gateway, subnet); server.begin(); //the pin for the servo co //enable serial data print Serial.begin(9600); Serial.println("server LED test 1.0"); // so I can keep track of what is loaded } void loop(){ // Create a client connection EthernetClient client = server.available(); if (client) { while (client.connected()) { if (client.available()) { char c = client.read(); //read char by char HTTP request if (readString.length() < 100) { //store characters to string readString += c; //Serial.print(c); } //if HTTP request has ended if (c == '\n') { /////////////// Serial.println(readString); //print to serial monitor for debuging client.println("HTTP/1.1 200 OK"); //send new page client.println("Content-Type: text/html"); client.println(); client.println("<HTML>"); client.println("<HEAD>"); client.println("<style>"); client.println("<background-color=#525252>"); client.println("<meta name='apple-mobile-web-app-capable' content='yes' />"); client.println("<meta name='apple-mobile-web-app-status-bar-style' content='black-translucent' />"); client.println("<link rel='stylesheet' type='text/css' href='http://homeautocss.net84.net/a.css' />"); client.println("<TITLE><font size=9 color=red>Christmas Lights</font></TITLE>"); client.println("</style>"); client.println("</HEAD>"); client.println("<BODY>"); client.println("<H1><font size=9 color=red>CHRISTMAS LIGHTS</font></H1>"); client.println("<br />"); client.println("<br />"); client.println("<br />"); client.println("<br />"); client.println("<br />"); client.println("<H1><font size=9 color=red>TREE-DOOR<font></H1>"); client.println("<a href=\"/?lighton1\"\"><font size=6 color=black>ON</font> </a>"); client.println("<a href=\"/?lightoff1\"\"><font size=6 color=black>OFF</font></a><br />"); client.println("<br />"); client.println("<br />"); client.println("<br />"); client.println("<H1><font size=6 color=red>other lights</font></H1>"); client.println("<a href=\"/?lighton2\"\"><font size=6 color=black>ON</font> </a>"); client.println("<a href=\"/?lightoff2\"\"><font size=6 color=black>OFF</font></a><br />"); client.println("<hr />"); client.println("</BODY>"); client.println("</HTML>"); delay(1); //stopping client client.stop(); ///////////////////// control arduino pin if(readString.indexOf("?lighton1") >0)//checks for on { digitalWrite(4, HIGH); // set pin 4 high Serial.println("Led On"); } else{ if(readString.indexOf("?lightoff1") >0)//checks for off { digitalWrite(4, LOW); // set pin 4 low Serial.println("Led Off"); } } if(readString.indexOf("?lighton2") >0)//checks for on { digitalWrite(6, LOW); // set pin 4 high Serial.println("Led On"); } else{ if(readString.indexOf("?lightoff2") >0)//checks for off { digitalWrite(6, HIGH); // set pin 4 low Serial.println("Led Off"); } } //clearing string for next read readString=""; } } } } } δες τον μόλις μπορέσεις!χίλια ευχαριστώ για τη βοήθεια!!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα