παπι Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Πως το έχω σκεφτεί: Το Arduino & Ethernet shield σε ένα πίνακα ,τύπου ηλεκτρολογικό που θα καταλήγουν τα καλώδια και θα φεύγει από εκεί ένα utp προς το router.αρα δεν χρειάζεται να είναι γύρω από το pc γιατί θα είναι μέσω δικτύου. Τα ρελέ θα είναι σε ένα κουτάκι δίπλα/πανω/κάτω από τους φυσικούς διακόπτες με ένα momentary κουμπί εξωτερικά για να μπορείς να ανοίγεις και τα φώτα χωρίς την χρήση pc/tablet . Ο λόγος που θέλω να βάλω τα ρελέ εκεί είναι για να μην τρέχουν καλώδια με υψηλή τάση μέσα στο σπίτι. Από το ρελέ θα φεύγει ένα καλώδιο UTP που θα πηγαίνει στο arduino (με 5Vή12V ανάλογα το ρελέ). Ναι το ξέρω ότι τα καλώδια δεν είναι και η καλύτερη λύση, αλλα μέχρι να στηθεί και να δοκιμαστεί, είναι το πιο αξιοπιστο. Αργότερα μπορεί να μπει στα ρελέ ένα 433Μh receiver και να τα κάνει ασύρματα. (κόστος κάτω από 1€) . Για να βάλεις κάτι καινούργιο τώρα, απλά θα προσθέσεις στον κώδικα του Arduino αυτό που θέλεις! Αν είναι ένα ρελέ πχ. Κάνεις ένα copy paste από το πιο πάνω ρελέ (relay4), αλλάζεις το νούμερο (relay5) και βάζεις και ένα κουμπί στο site.Οτι έκανες και στο αρχικό Setup. Την έχω σκεφτεί και την Processing … Απλά ψάχνω μια πιο εύκολη και κοινή γλώσσα που θα είναι συμβατή με τα πιο πολλά συστήματα (android, iphone,firefox,chrome) Ωραια το σκεφτηκες. Οπως ειπα και πριν, φτιαξε ενα απλουστατο web πρωτοκολλο (βλ. #8 ). Τεξε τον web server του μΕ με αλλη πορτα (οχι 80), κανε portforward αυτη τη πορτα στο μΕ. Νοικιασε ενα web server με php και ανοικτες πορτες. Βαλε κανα dns στο ρουτερ σου. Τελος, φτιαχνεις την σελιδα σου στον wev server και παιζεις με curl. 1
sdoup Δημοσ. 25 Σεπτεμβρίου 2013 Μέλος Δημοσ. 25 Σεπτεμβρίου 2013 Τέλεια! Μήπως έχεις και κάποιο tutorial για όλα αυτά που μου λες???
παπι Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 nice να τι εκανε με το πατημα των link που σου εδωσα.
NikosKallithea Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Tο εχω κανει για αυτο στο ειπα, οχι ετσι οπως το φαντάζεσαι εσυ, το δικο μου προς το παρόν ετσι οπως δουλεύει χρησιμοποιείτε μονο σαν ειδοποίηση "πορτα ανοιχτή", "πορτα κλεστή" κλπ και σε καθε περίπτωση στέλνει ενα εμαιλ. Αν θελω κατι για διόρθωση κλπ μπαίνω με team viewer Σαφως και θελει ups
MitsakosGR Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Tο εχω κανει για αυτο στο ειπα, οχι ετσι οπως το φαντάζεσαι εσυ, το δικο μου προς το παρόν ετσι οπως δουλεύει χρησιμοποιείτε μονο σαν ειδοποίηση "πορτα ανοιχτή", "πορτα κλεστή" κλπ και σε καθε περίπτωση στέλνει ενα εμαιλ. Αν θελω κατι για διόρθωση κλπ μπαίνω με team viewer Σαφως και θελει ups Δικιά μου ιδέα για το πως θα το έκανα: Βάζεις το Raspberry Pi σαν web server δίπλα στο arduino.Το Raspberry συνδέεται με USB -Serial με το arduino και έτσι δεν χρειάζεσαι δύσκολα πρωτόκολλα ή web server στο arduino για την επικοινωνία τους ούτε ethernet shield. Όπως λέει και ο παπι δεν χρειάζεται UPS γιατί αν πέσει το ρεύμα πάνε και τα φώτα - αυτοματισμοί... Αλλά αν χρειάζεται βάζεις ένα μικρό battery pack για να τα συντηρεί όταν πέσει το ρεύμα. (η κατανάλωσή τους σε αδράνεια είναι πολύ μικρή σε σχέση με κανονικό υπολογιστή). edit: Βρήκα και tutorial που εξηγεί ακριβώς όλο αυτό: http://www.fritz-hut.com/arduinopi-web-based-controller-for-arduino/
sonyxp Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 @βιντεο Πολύ πρακτικό ε? καθόλου καλώδια, όλες οι συνδέσεις έχουν γίνει με σχετική άνεση... Δεν μπορεί να γίνει αυτό χωρίς όλα αυτά τα καλώδια? Wirless? Πολύ καλό πάντως, εμένα ρε παιδιά ήταν στο αίμα μου το Hardware (τώρα ψιλοοοο...) Γίνεται χαμός με αυτό το Arduino, μας έχουν πρήξει (με την καλή έννοια) οι Linux Teams και ΙΕΕΕ. Θα με ενδιέφερε να ασχοληθώ, μπορεί κάποιος να μου απαντήσει στα παρακάτω: ? Που μπορώ να προμηθευτώ κάτι τέτοιο Πόσο κοστίζει Νομίζω ότι τα Arduino έχουν κάποιο API, δεν γράφεις ολοκάθαρο Asm κώδικα δηλαδή (κρίμα) Υπάρχουν Tutorials? Τι μπορεί να κάνει ένα Arduino? (εκτός από τα κλασικά) ΥΓ: Είχε κάνει ένα παιδί μια πτυχιακή (δεν ήταν σε Arduino), όπου έστελνες SMS και ανάλογα τον κωδικό που θα έστελνες θα έκανε και το αντίστοιχο πράγμα (εικονικά νομίζω, έβγαζε σε μια οθόνη την επιλογή) (φώτα, φούρνος, τηλεόραση, συναγερμός) . Πολύ φάση! θα την δω κάποια στιγμή! Μπορεί να τα κάνει αυτά το Arduino e? Μια ερώτηση: Σε περίπτωση κάποιου σφάλματος τι γίνεται? μην μας κάψει και το σπίτι!!!
sdoup Δημοσ. 25 Σεπτεμβρίου 2013 Μέλος Δημοσ. 25 Σεπτεμβρίου 2013 Που μπορώ να προμηθευτώ κάτι τέτοιο Πόσο κοστίζει Νομίζω ότι τα Arduino έχουν κάποιο API, δεν γράφεις ολοκάθαρο Asm κώδικα δηλαδή (κρίμα) Υπάρχουν Tutorials? Τι μπορεί να κάνει ένα Arduino? (εκτός από τα κλασικά) ΥΓ: Είχε κάνει ένα παιδί μια πτυχιακή (δεν ήταν σε Arduino), όπου έστελνες SMS και ανάλογα τον κωδικό που θα έστελνες θα έκανε και το αντίστοιχο πράγμα (εικονικά νομίζω, έβγαζε σε μια οθόνη την επιλογή) (φώτα, φούρνος, τηλεόραση, συναγερμός) . Πολύ φάση! θα την δω κάποια στιγμή! Μπορεί να τα κάνει αυτά το Arduino e? Μια ερώτηση: Σε περίπτωση κάποιου σφάλματος τι γίνεται? μην μας κάψει και το σπίτι!!! Στο ελλαδιστάν είναι 2-3 που τα πουλάνε, www.internetnow.gr www.grobotronics.com ανάλογα πιο θα επιλέξεις uno, mega, mini στα πιο πάνω σιτε έχει και τιμές. Η γνώμη μου είναι να ψάξεις εκτός Ελλάδος για ποιο οικονομικό. Υπάρχουν και compatible boards τα οποιά δεν είναι '''γνήσια'' αλλά κάνουν την ίδια δουλειά. εγώ ξεκίνησα με το Uno (25,00 €)μετά πήρα και το ethrnet shiled και τελευταία πήρα και το mega γιατί δεν με έφταναν τα Pins. (εγώ θα σου πρότεινα αυτό. Είναι το mega με ενσωματωμένο ethernet.) η γλώσσα που γράφεις είναι wiring (C/C++ τύπου) (www.arduino.cc) Απο tutorials γίνεται χαμός googlare και θα δείς. Υπάρχουν και μαθήματα που ξεκινάς απο τα βασικά Και μπορεί να κάνει τα πάντα.Το μόνο φρένο είναι η φαντασία σου!! Υπάρχουν και διάφορα shields που μπορείς να πας ακόμα ένα βήμα πιο πέρα. Το επόμενο project μου μόλις τελειώσω το σπίτι, θα είναι να φτιάξω 3dprinter / cnc. Η περίπτωση του σφάλματος,είναι κατα πόσο καλά θα τα φτιάξεις όλα. Για τα ηλεκτρολογικά ενας βασικός κανόνας είναι ο νόμος του Ωμ!!! υπολογίζεις τι φορτια θα σηκώνουν, τι καταναλώσεις θα έχεις, και προχωράς.Έχεις τις ίδιες πιθανότητες σφάλματος με ένα pc
NikosKallithea Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Δικιά μου ιδέα για το πως θα το έκανα: Βάζεις το Raspberry Pi σαν web server δίπλα στο arduino.Το Raspberry συνδέεται με USB -Serial με το arduino και έτσι δεν χρειάζεσαι δύσκολα πρωτόκολλα ή web server στο arduino για την επικοινωνία τους ούτε ethernet shield. Όπως λέει και ο παπι δεν χρειάζεται UPS γιατί αν πέσει το ρεύμα πάνε και τα φώτα - αυτοματισμοί... Αλλά αν χρειάζεται βάζεις ένα μικρό battery pack για να τα συντηρεί όταν πέσει το ρεύμα. (η κατανάλωσή τους σε αδράνεια είναι πολύ μικρή σε σχέση με κανονικό υπολογιστή). edit: Βρήκα και tutorial που εξηγεί ακριβώς όλο αυτό: http://www.fritz-hut.com/arduinopi-web-based-controller-for-arduino/ Αν ασχοληθείς και προσπαθήσεις να το υλοποιήσεις θα δεις οτι χρειάζεται ups, px όταν εχεις "οπλίσει" το σύστημα σε μια α' κατάσταση ενας διακόπτης ον, αλλος off κλπ, θα πρέπει οταν επανέλθει το ρευμα αυτα να επανέλθουν στην αρχική κατάσταση την οποία τα ειχες προγραμματίσει, και ακόμα χειρότερα αν το σύστημα δουλεύει και σας συναγερμός ΥΓ αλλά τελος πάντων ο καθένας μπορεί να το χειριστή και να το υλοποιήσει όπως νομίζει. Το μονο σίγουρο ειναι οτι απαιτείται αρκετό hardware και πολύ γράψιμο (κώδικα). .
sdoup Δημοσ. 25 Σεπτεμβρίου 2013 Μέλος Δημοσ. 25 Σεπτεμβρίου 2013 εννοείται οτι χρειάζεται ..ειδικά αν έχεις rfid για να μπεις μέσα,και δεν έχει ρεύμα,τότε κάθεσαι απ' εξω! (έχεις σαν εναλλακτική και το κλειδί βέβαια). αυτό που μπορείς να κάνεις είναι να γράφεις στην eprom το last state of button οποτε σε ένα Power failure όταν επανέλθει το ρεύμα, να είναι όλα όπως πρώτα. Αυτό φυσικά θέλει πολύ ψάξιμο .... νομίζω οτι με ένα ups ή μια μπαταρία συναγερμού θα είναι εντάξει.. Είναι σπάνιες οι περιπτώσεις που έχουμε μεγάλες διακοπές ρεύματος πια.
παπι Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Ειται θα παρεις ups, ειτε θα γραψεις δυο γραμμες κωδικα παραπανω που θα κανει save το state
NikosKallithea Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Ειται θα παρεις ups, ειτε θα γραψεις δυο γραμμες κωδικα παραπανω που θα κανει save το state Στο save το state ο κλεφτής που ειναι μεσα ή εξω, πως να το προγραμματίσω αυτό υπάρχει κανένα tutorial
sdoup Δημοσ. 25 Σεπτεμβρίου 2013 Μέλος Δημοσ. 25 Σεπτεμβρίου 2013 νικο, αν σε βάλουν στο μάτι, και βιομετρικα και λέιζερ να έχεις...θα μπουν..
NikosKallithea Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 νικο, αν σε βάλουν στο μάτι, και βιομετρικα και λέιζερ να έχεις...θα μπουν.. Τι σχεση εχει αυτο με τον σχεδιασμό μια αξιοπιστης εφαρμογής, χωρις λαθη και χωρις να κανει τον χωρο που επιβλέπει μπάχαλο. Οι εφαρμογές θελουν κοπο, έμπνευση και πολυ χρόνο!
sonyxp Δημοσ. 26 Σεπτεμβρίου 2013 Δημοσ. 26 Σεπτεμβρίου 2013 ... Οι εφαρμογές θελουν κοπο, έμπνευση και πολυ χρόνο! Εμένα δηλαδή
memoric_2000 Δημοσ. 21 Μαΐου 2014 Δημοσ. 21 Μαΐου 2014 Καλημέρα. Βάσω τα κόστη που αναφέρεις είναι υπερβολικά. Αν έχεις τη δυνατότητα, ψώνιζε από ebay. Έχω ήδη υλοποιήσει ακριβώς αυτό που περιγράφεις* & ζήτημα να μου κόστισε €150. * 2 Mega, 1 Uno, 1 Ethernet shield, 1 LCD shield, 1 GSM shield, 2 RFID panels, 20 μαγνητικές επαφές για πόρτες & παράθυρα, δεκάδες ρελέ & LEDάκια. Σχετικά με όλα αυτά που λέτε για servers, απλά δεν χρειάζονται. Πολύ απλά κάπου θα έχεις αποθηκευμένες τις html σελίδες που θα έχουν κενά div, span ή ό,τι άλλο & θα γεμίζουν με τις πληροφορίες που θα λαμβάνουν απ' το arduino μέσω Ajax. Τις σελίδες αυτές μπορείς να τις έχεις στον σκληρό σου, κάπου online, ή αν θέλεις να το πας & παραπέρα, φτιάχνεις μια απλή εφαρμογή android, τις πετάς μέσα & τις φορτώνεις στο webkit. Εξ ορισμού δεν μπορείς να έχεις πάρε-δώσε δεδομένων με έναν server (το arduino στη συγκεκριμένη περίπτωση) όταν τα αιτήματα Ajax προέρχονται από σελίδα εκτός server. Υπάρχει όμως μια "μαγική φράση κλειδί" που μπορείς να βάλεις στο sketch σου που θα επιτρέψει την επικοινωνία. client.println("Access-Control-Allow-Origin: *");(Το * δηλώνει ότι επιτρέπεται να λαμβάνονται αιτήματα από παντού.) Από 'κει & πέρα όλα είναι δυνατά... Το μόνο που έχεις να κάνεις είναι να στείλεις απ' τη σελίδα σου ένα αίτημα Ajax στο arduino της μορφής: request.open("GET", "http://192.168.1.10/?ajax_main" + strKapoioString + nocache, true);Το arduino (που στο παράδειγμα έχει διεύθυνση 192.168.1.10) θα το λάβει, θα αναλύσει τι περιέχει το strKapoioString, θα κάνει τις απαραίτητες ενέργειες & θα δημιουργήσει->επιστρέψει ένα αρχείο xml με τις πληροφορίες που θα φορτωθούν στη σελίδα σου (χωρίς αυτή να χρειάζεται να ανανεωθεί).Για να το δοκιμάσεις στην πράξη, φτιάξε ένα αρχείο .htm & γράψε μέσα τα παρακάτω (το μόνο που ίσως πρέπει να αλλάξεις είναι η IP του arduino στη γραμμή 45): <!DOCTYPE html> <html> <head> <!-- Stylesheets --> <link rel="stylesheet" href="main.css" type="text/css"> <title>Arduino & Ajax</title> <script> strLedState = ""; var ledState; function GetMain() { nocache = "&nocache=" + Math.random() * 1000000; var request = new XMLHttpRequest(); request.onreadystatechange = function() { if (this.readyState == 4) { if (this.status == 200) { if (this.responseXML != null) { // XML file received var count; // get LED state var num_an = this.responseXML.getElementsByTagName('ledstate').length; for (count = 0; count < num_an; count++) { if (this.responseXML.getElementsByTagName('ledstate')[count].childNodes[0].nodeValue === "off") { document.getElementById('led-state').style.backgroundColor = '#00ff00'; document.getElementById('led-state').innerHTML = "Off"; ledState = 0 } else if (this.responseXML.getElementsByTagName('ledstate')[count].childNodes[0].nodeValue === "on") { document.getElementById('led-state').style.backgroundColor = '#ff0000'; document.getElementById('led-state').innerHTML = "On"; ledState = 1 } } } } else { document.getElementById('led-state').style.backgroundColor = '#666666'; document.getElementById('led-state').innerHTML = "No Connection" } } } // send HTTP GET request request.open("GET", "http://192.168.1.10/?ajax_main" + strLedState + nocache, true); request.send(null); strLedState = ""; setTimeout('GetMain()', 2000) } function RemoteLedToggle() { document.getElementById('led-state').style.backgroundColor = '#ffff00'; document.getElementById('led-state').innerHTML = "Sending..." if (ledState == 0) { strLedState = "&ledState=1" } else { strLedState = "&ledState=0" } } </script> </head> <body bgcolor="#000000" text="#000000" onload="GetMain()"> <div name="led-state" id="led-state" class="led-state" onclick="RemoteLedToggle()"> </div> </body> </html> Φτιάξε ένα αρχείο με όνομα main.css & γράψε μέσα: div.led-state { width: 200px; font-size: 105%; font-weight: bold; text-align: center; border: outset; border-radius: 15px; border-color: #990000 #009900 #000099 #666600 } Τέλος, το sketch για το arduino (& εδώ το μόνο που ίσως πρέπει να αλλάξεις είναι η IP του arduino στη γραμμή 15): //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #include <SPI.h> #include <Ethernet.h> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// const int ledPin = 13; // Το pin πάνω στο οποίο είναι το LED (χρησιμοποίησα το 13 επειδή έχει onboard LED) int ledState = 0; // Η κατάσταση του LED boolean reading = false; ////////// Ρυθμίσεις Ethernet ////////// #define REQ_BUF_SZ 100 // Το μέγεθος του Buffer για τα HTTP Requests byte mac[] = {0x00, 0x17, 0x6C, 0x15, 0xFD, 0x9B}; // Η διεύθυνση MAC της κάρτας Ethernet (άσε την ως έχει) IPAddress ip(192, 168, 1, 10); // Η IP που θα πάρει το arduino (παρακάμπτοντας το DHCP του router) EthernetServer server(80); // Ξεκινάει server στη θύρα 80 char HTTP_req[REQ_BUF_SZ] = {0}; // Το Buffer για τα HTTP Requests char req_index = 0; // Δείκτης (μετρητής) για το HTTP_req Buffer //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void setup() { pinMode(ledPin, OUTPUT); pinMode(4, OUTPUT); // Απενεργοποιεί την SD κάρτα... digitalWrite(4, HIGH); // ...& δεν πρέπει να χρησιμοποιήσεις το pin 4 Ethernet.begin(mac, ip); // Ξεκινάει την Ethernet server.begin(); // Ξεκινάει τον server & περιμένει client να συνδεθεί } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void loop() { // Ελέγχει την ledState & ανάβει ή σβήνει το LED αναλόγως if (ledState == 0) { digitalWrite(ledPin, LOW); } else { digitalWrite(ledPin, HIGH); } EthernetClient client = server.available(); // Περιμένει clients if (client) { // Εκτελούνται τα παρακάτω όταν συνδεθεί client boolean blankLine = true; while (client.connected()) { if (client.available()) { // Έρχονται δεδομένα απ' τον client char c = client.read(); // Διαβάζει έναν-έναν χαρακτήρα τα δεδομένα του client // Αποθηκεύει τους χαρακτήρες στο Buffer, εκτός απ' την τελευταία // θέση που πρέπει να είναι μηδέν (Null Terminated String) if (req_index < (REQ_BUF_SZ - 1)) { HTTP_req[req_index] = c; // save HTTP request character req_index++; } if (c == '\n' && blankLine) { client.println("HTTP/1.1 200 OK"); // Ajax request - αποστολή αρχείου XML if (StrContains(HTTP_req, "ajax_main")) { // send the rest of the HTTP header client.println("Access-Control-Allow-Origin: *"); client.println("Content-Type: text/xml"); client.println("Connection: keep-alive"); client.println(); ExecuteCommands(); // send XML file XML_response_main(client); } StrClear(HTTP_req, REQ_BUF_SZ); // Καθαρισμός του Buffer... req_index = 0; // ...& του μετρητή του break; } if (c == '\n') { blankLine = true; } else if (c != '\r') { blankLine = false; } } // end if (client.available()) } // end while (client.connected()) delay(50); // Δίνει λίγο χρόνο για να λάβει ο client τα δεδομένα client.stop(); // Κλείνει τη σύνδεση } // end if (client) } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////// Εκτελεί τις εντολές που έλαβε απ' τον client void ExecuteCommands() { ////////// Εναλλάσσει την κατάσταση του LED if (StrContains(HTTP_req, "pinstate=1")) { ledState = 1; } else if (StrContains(HTTP_req, "pinstate=0")) { ledState = 0; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////// Στέλνει το αρχείο XML με πληροφορίες ////////// σχετικά με την κατάσταση του LED void XML_response_main(EthernetClient cl) { cl.println("<?xml version = \"1.0\" ?>"); ////////// Έναρξη πληροφοριών cl.println("<info>"); ////////// Διαβάζει την κατάσταση του LED cl.print("<ledstate>"); if (ledState == 1) { cl.print("on"); } else { cl.print("off"); } cl.println("</ledstate>"); ////////// Τέλος πληροφοριών cl.print("</info>"); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Για καθαρισμό array void StrClear(char *str, char length) { for (int i = 0; i < length; i++) { str[i] = 0; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Ψάχνει αν ένα string περιέχεται σε ένα άλλο // Επιστρέφει 1 αν βρεθεί // Επιστρέφει 0 αν δεν βρεθεί char StrContains(char *str, char *sfind) { char found = 0; char index = 0; char len; len = strlen(str); if (strlen(sfind) > len) { return 0; } while (index < len) { if (str[index] == sfind[found]) { found++; if (strlen(sfind) == found) { return 1; } } else { found = 0; } index++; } return 0; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Αυτά τα λίγα! Επειδή δεν έχω εύκαιρη Ethernet shield, δεν τα δοκίμασα. Πες αν κάτι δεν δουλέψει σωστά. - Συμφωνώ ότι καλό θα ήταν να χρησιμοποιήσεις UPS. Επίσης άσχετα απ' το UPS, καλό είναι να σώζεις τις καταστάσεις των εξόδων σου αλλά & τις ρυθμίσεις (που σίγουρα θα βάλεις σιγά-σιγά στο πρόγραμμα). Αντί όμως να μπλέκεις με EEPROM, μπορείς να γράφεις τις πληροφορίες αυτές στην SD που έχει η Ethernet. Έτσι έχεις τη δυνατότητα δημιουργίας διαφορετικών αρχείων, άλλα για τις ρυθμίσεις, άλλα για τις καταστάσεις, άλλα για logs κ.λπ.. Νομίζω ότι έτσι η διαχείριση των πληροφοριών θα είναι ευκολότερη. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα