timonkaipumpa2 Δημοσ. 24 Αυγούστου 2014 Δημοσ. 24 Αυγούστου 2014 Όχι. Σε όλα Πάμε από την αρχή... Θες να στέλνεις ένα πίνακα από δεδομένα (ας τον λέμε buffer από εδώ και πέρα). Αυτό μπορεί να γίνει με ένα τρόπο και μόνο. Μέσω δικτύου. Σε ποιο επίπεδο του δικτύου θα κινηθείς είναι αυτό που (τελικά) διαφοροποιεί το τι θα χρησιμοποιήσεις. Πριν όμως δεις τι θα χρησιμοποιήσεις, θα πρέπει να καταλάβεις κάποια πράγματα. Π.χ., ο υπολογιστής που θα συνδέεται για να τραβήξει δεδομένα (ας τον λέμε client από εδώ και πέρα) δεν είναι ανάγκη να έχει κανέναν web server πάνω του. Ο Η/Υ που έχει τα δεδομένα (ας τον λέμε server από εδώ και πέρα) δεν είναι ανάγκη να έχει web server. Άρα, ο micro controller θα τραβάει τα δεδομένα και αυτός θα είναι ο client. Τα δεδομένα αυτά θα τα έχει το PC σου και θα είναι ο server. Στην περίπτωση σου βλέπω δύο τρόπους: Με web server Χωρίς web server Κάθε τρόπος έχει τα υπέρ και τα κατά. Ο 1 έχει ότι: Θα πρέπει να στήσεις web server Θα πρέπει να στήσεις PHP (λογικά έρχεται "μαζί" με τον web server) Θα πρέπει να βρεις ένα format δεδομένων που να είναι επεξεργάσιμο από τον client... π.χ. θα μπορεί ο client να διαβάσει json ή xml; Ή θα πρέπει εσύ να γράψεις ρουτίνες για να διαβάζεις τέτοια δεδομένα στον client; Όμως: Είναι εύκολο Δεν θέλει low level γνώσεις Ο 2 έχει: Θα πρέπει να ξέρεις low level γνώσεις (π.χ. buffers, διαχείριση μνήμης και προσπέλαση σε buffers) Θα γράψεις σε πιο δύστροπες γλώσσες από ό,τι στον πρώτο τρόπο Θα πρέπει να βρεις δικό σου πρωτόκολλο επικοινωνίας (δηλαδή, με τι σειρά θα στέλνεις τα δεδομένα, πως θα επαληθεύεις ότι είναι ΟΚ κτλ) Όμως: Έχεις απίστευτο έλεγχο στα δεδομένα σου και στον τρόπο που τα στέλνεις Μπορείς να στέλνεις κατευθείαν primitive types (π.χ. ints) χωρίς να χρησιμοποιείς format αρχείων (για να είμαι ακριβείς εδώ, το ίδιο μπορείς να κάνεις με PHP αλλά εάν είναι να χρησιμοποιήσεις PHP θαρρώ πως δεν θα πας σε αυτό... ) Τι θέλεις να κάνεις εσύ; Με τι νιώθεις πιο άνετα; Τι γλώσσες προγραμματισμού γνωρίζεις; Από Λ.Σ. ξέρεις; Έχεις ξαναστήσει *AMP; Για κάτι γρήγορο, μπορείς για τον 1το τρόπο να χρησιμοποιήσεις κάτι σε PHP και για τον δεύτερο Java (που απλοποιεί ΠΑΡΑ πολύ τα πράματα... ειδικά εάν ο client έχει Java και αυτός....!!!! ) 1
Giorgos3924 Δημοσ. 24 Αυγούστου 2014 Μέλος Δημοσ. 24 Αυγούστου 2014 Καταρχάς να πω ένα ευχαριστώ για το χρόνο σας και την υπομονή σας. Εαν είναι αυτές οι διαθέσιμες επιλογές νομίζω πως θα μου ήταν πιο εύκολο να στήσω web server στον υπολογιστή. Όμως εαν χρειαστεί να πάω σε άλλο υπολογιστή θα πρέπει να στήσω web server και εκεί; Αυτό εδώ για παράδειγμα, να φανταστώ δουλεύει Χωρίς web server στον υπολογιστή;http://www.geeetech.com/wiki/index.php/Arduino_ENC28J60_Ethernet_Module Στην ουσία αυτό ήθελα Αλλά με τη διαφορά ότι ήθελα να προσθέσω και gui στον browser. Αν χρησιμοποιησω αυτο το παράδειγμα,μπορω να προσθέσω gui απο τον υπολογιστή;;
MeTaXaS4 Δημοσ. 24 Αυγούστου 2014 Δημοσ. 24 Αυγούστου 2014 στο συγκεκριμένο παράδειγμα ο arduino το "παίζει" σαν web server. αν θες ακριβώς αυτό το παράδειγμα φτιάξε ένα GUI σε C# κάνε parse το html που σου δίνει ήδη και εμφάνισέ τα όπως θες 1
Giorgos3924 Δημοσ. 24 Αυγούστου 2014 Μέλος Δημοσ. 24 Αυγούστου 2014 Ευχαριστώ πολύ θα το ψάξω. Με βολεύει πάρα πολύ έτσι.
ParhsG Δημοσ. 24 Αυγούστου 2014 Δημοσ. 24 Αυγούστου 2014 Καταρχάς να πω ένα ευχαριστώ για το χρόνο σας και την υπομονή σας. Εαν είναι αυτές οι διαθέσιμες επιλογές νομίζω πως θα μου ήταν πιο εύκολο να στήσω web server στον υπολογιστή. Όμως εαν χρειαστεί να πάω σε άλλο υπολογιστή θα πρέπει να στήσω web server και εκεί; Αυτό εδώ για παράδειγμα, να φανταστώ δουλεύει Χωρίς web server στον υπολογιστή; http://www.geeetech.com/wiki/index.php/Arduino_ENC28J60_Ethernet_Module Στην ουσία αυτό ήθελα Αλλά με τη διαφορά ότι ήθελα να προσθέσω και gui στον browser. Αν χρησιμοποιησω αυτο το παράδειγμα,μπορω να προσθέσω gui απο τον υπολογιστή;; Οπως το είδα τωρα δεν εχω εμπειρία απο andruino αλλα μου έκανε εντύπωση που δεν εχει ethernet. Ισως για οικονομια χώρου κτλ.Βαση αυτου του παραδειγματος μπορείς να φτιάξεις κάτι για input/output. Λογικά θα υπάρχουν έτιμα πραγματα για να σε βοηθησουν στο API που θες να κανεις.
mad-proffessor Δημοσ. 24 Αυγούστου 2014 Δημοσ. 24 Αυγούστου 2014 Αυτο που θες να κανεις ειναι παντου στο ιντερνετ εχει διαφορα ομως αν το κανεις για εκμαθηση.Εξαρταται κυριως απο τους πορους που εχεις διαθεσιμους π.χ δε θα εβαζα web server πανω σε arduino.Γινεται με socket programming στο layer 4 του tcp/ip model χωρις να χρειαζεσαι το overhead απο το http protocol του layer 5.
ParhsG Δημοσ. 24 Αυγούστου 2014 Δημοσ. 24 Αυγούστου 2014 Το παραδειγμα που έβαλε δεν έχει καν web server ( απλα απαντάει με HTTP ).Επίσης το layer 5 δε το αποφευγει οπως και να έχει γιατι θα πρέπει να έχει καποιο πρωτοκολο επικοινωνίας
Giorgos3924 Δημοσ. 24 Αυγούστου 2014 Μέλος Δημοσ. 24 Αυγούστου 2014 Τελικά έχει ή δεν έχει web server Γιατί πολλές απόψεις βλέπω... Οπως το είδα τωρα δεν εχω εμπειρία απο andruino αλλα μου έκανε εντύπωση που δεν εχει ethernet. Ισως για οικονομια χώρου κτλ.Βαση αυτου του παραδειγματος μπορείς να φτιάξεις κάτι για input/output. Λογικά θα υπάρχουν έτιμα πραγματα για να σε βοηθησουν στο API που θες να κανεις. Μάλλον ναι για οικονομία χώρου και ίσως χαμηλότερο κόστος. Έτσι προσθέτεις εσύ όποιο module θέλεις.
NikosKallithea Δημοσ. 24 Αυγούστου 2014 Δημοσ. 24 Αυγούστου 2014 Ti web server να στήσει ο άνθρωπος, αυτο που χρειάζεται ειναι να γράψει ενα προγραμματακι γύρω απο κάποιο ΑPΙ είτε σε c ή σε όποια γλώσσα θέλει, ολες ενσωματώνουν components που αφορούν σε επικοινωνίες μεσώ ip & Ethernet όπως πχ το Winsock στην vbasic
Giorgos3924 Δημοσ. 24 Αυγούστου 2014 Μέλος Δημοσ. 24 Αυγούστου 2014 Ti web server να στήσει ο άνθρωπος, αυτο που χρειάζεται ειναι να γράψει ενα προγραμματακι γύρω απο κάποιο ΑPΙ είτε σε c ή σε όποια γλώσσα θέλει, ολες ενσωματώνουν components που αφορούν σε επικοινωνίες μεσώ ip & Ethernet όπως πχ το Winsock στην vbasic Κι εγώ κάπως έτσι το φανταζόμουν, με τον ίδιο τρόπο που ενσωματώνει το Visual Studio τη σειριακή επικοινωνία κάπως έτσι νόμιζα θα ήταν κ αυτό. Με κάποιο component. Όπως είπε και ο MeTaXaS4 (ποστ #33). Απλά αρχικά ήθελα να μάθω αν αντί να κάνω κάποιο ξεχωριστό προγραμματάκι να "στόλιζα" με GUI κάποια HTML σελίδα στον browser. Αλλά μάλλον δεν γίνεται απ' ότι καταλαβαίνω.
ParhsG Δημοσ. 25 Αυγούστου 2014 Δημοσ. 25 Αυγούστου 2014 Γίνεται βάση του παραδείγματος που είδα. Δώσε βάση στο παραδειγμα. Η library που εχει το παραδειγμα κανει οτι θες http://arduino.cc/en/Reference/Ethernet Θα μπορούσες να στείλεις το dato ως json μέσω javascript. Πιο απλα μέσω c# που ξερεις και με sockets.
Giorgos3924 Δημοσ. 25 Αυγούστου 2014 Μέλος Δημοσ. 25 Αυγούστου 2014 Διαβασε το http protocol, ειναι αρκετα απλο.Ναι απ ότι βλέπω θα μου χρειαστεί.
MeTaXaS4 Δημοσ. 25 Αυγούστου 2014 Δημοσ. 25 Αυγούστου 2014 Ti web server να στήσει ο άνθρωπος, αυτο που χρειάζεται ειναι να γράψει ενα προγραμματακι γύρω απο κάποιο ΑPΙ είτε σε c ή σε όποια γλώσσα θέλει, ολες ενσωματώνουν components που αφορούν σε επικοινωνίες μεσώ ip & Ethernet όπως πχ το Winsock στην vbasic όταν λέει ότι θέλει να μπορεί να το διαχειριστή από τον browser μέσω κάποιας σελίδας πως θα το κάνει; του είπα ότι πρέπει να στήσει web server και αν διαβάσεις δεν λέω ότι τρέχει webserver στον arduino, απλά προσπαθώ κιόλας να του δώσω να καταλάβει κάποια πράγματα χωρίς να έχει αρκετές γνώσεις δικτύωσης. Οπως το είδα τωρα δεν εχω εμπειρία απο andruino αλλα μου έκανε εντύπωση που δεν εχει ethernet. Ισως για οικονομια χώρου κτλ.Βαση αυτου του παραδειγματος μπορείς να φτιάξεις κάτι για input/output. Λογικά θα υπάρχουν έτιμα πραγματα για να σε βοηθησουν στο API που θες να κανεις. δεν έχει ethernet γιατί το arduino ξεκίνησε με άλλο σκεπτικό για άλλη χρήση, υπάρχει η δυνατότητα δικτύωσης μέσω components. @Giorgos3924 όπως σου έδωσε να καταλάβεις και ο timon και το παπί πρώτα διάβασμα και μετά κοιτάς πως θα λύσεις το πρόβλημα
timonkaipumpa2 Δημοσ. 25 Αυγούστου 2014 Δημοσ. 25 Αυγούστου 2014 Καταρχάς να πω ένα ευχαριστώ για το χρόνο σας και την υπομονή σας. Εαν είναι αυτές οι διαθέσιμες επιλογές νομίζω πως θα μου ήταν πιο εύκολο να στήσω web server στον υπολογιστή. Όμως εαν χρειαστεί να πάω σε άλλο υπολογιστή θα πρέπει να στήσω web server και εκεί; Αυτό εδώ για παράδειγμα, να φανταστώ δουλεύει Χωρίς web server στον υπολογιστή; http://www.geeetech.com/wiki/index.php/Arduino_ENC28J60_Ethernet_Module Στην ουσία αυτό ήθελα Αλλά με τη διαφορά ότι ήθελα να προσθέσω και gui στον browser. Αν χρησιμοποιησω αυτο το παράδειγμα,μπορω να προσθέσω gui απο τον υπολογιστή;; Δεν έχεις καταλάβει κάποια πράγματα... Ο web server (όπως τον εννοείς) χρειάζεται στην περίπτωση που επικοινωνείς μέσω "σελίδων σε browser" Το arduino με το ethernet shield θα είναι ο client Εάν χρησιμοποιήσεις web server τότε θα πρέπει να "πηγαίνεις" παντού με κάτι τέτοιο (web server). Επειδή θέλεις και GUI και επειδή δεν έχω καταλάβει ότι είσαι άνετος με προγραμματισμό τότε προτείνω τα εξής: Java με GUI στον Η/Υ σου Ένα απλό script στο arduino που απλά θα μιλάει στην port του Η/Υ που θα ακούει το προγραμματάκι σου σε Java και θα ζητάει δεδομένα από τον Η/Υ. Θα μπορούσες να κάνει GUI σε JS αλλά πιο πολύ θα σε μπερδέψει παρά θα σε βοηθήσει. Οπότε δες ένα από τα άπειρα παραδείγματα στο internet για Java socket programming. Υπάρχουν πολύ ωραία examples για chat servers τα οποία θα μπορούσες να τα πειράξεις λίγο για να φτιάξεις αυτό που θέλεις. Ακόμα, μιας και μπορείς να γράψεις Java στο Arduino, τότε χρησιμοποιώντας κλάσεις όπως ObjectOutputStream και ObjectInputStream θα μπορείς να απλοποιήσεις πολύ τα πράματα χωρίς να μπλέξεις με buffers, διάβασμα bytes kαι συγκεκριμένων τύπων δεδομένων, σχεδιασμός buffer για την μεταφορά δεδομένων. Με τον Object Input/Output Stream απλά στέλνεις ένα αντικείμενο και το διαβάζεις από την άλλη μεριά χωρίς να μπλέκεις με άλλα θέματα. Απλά ένα read στο stream/ροή_δεδομένων_μέσω_δικτύου σου. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα