sdoup Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Καλημέρα! (Δεν ξέρω αν το βάζω στη σωστή κατηγορία.) Μετά απο ΠΟΛΥ ψάξιμο στο νετ, δεν έχω καταφέρει να βρω κανένα tutorial. Αυτό που θέλω να κάνω είναι μέσα απο ένα site (local/global)να μπορώ να ελέγχω το σπίτι μου στο οποίο θα είναι συνδεδεμένα πάνω στο arduino διάφοροι αισθητήρες/ ρελε /κ.α. Υπάρχουν πολλά tutorials που κάνεις to arduino server αλλά επειδή δεν έχει και πολύ μνήμη,και το σίτε θα είναι λίγο μεγάλο, θέλω να το κάνω εκτός arduino.Ο εξοπλισμός που υπάρχει είναι arduino mega, ethernet shield, διάφορα ρελέ για τον έλεγχο των φώτων, RFID για είσοδο στο σπίτι,σερβό μοτέρ για το άνοιγμα της πόρτας απο το RFID,αισθητήρες θερμοκρασιών , φυσικοί διακόπτες για άναμα φωτών κανονικά, αισθητήρας υπερύθρων για λειτουργία από remote, ledοταινία με dimmer με και τέλος μια IP camera και μελλοντικά συναγερμός με πληκτρολόγιο και μαγνητικούς αισθητήρες και ότι άλλο χρειαστεί. Στο θέμα του harware δεν έχω κανένα πρόβλημα,έχω φτιάξει πλακέτες για τα ρελε, πλακέτες για τροφοδοσία κτλ. Και πολύ ευχαρίστως να βοηθήσω και όποιον θέλει να το κάνει !!Από προγραμματισμό τώρα, δεν το έχω και πολύ αλλά μαθαίνω γρήγορα ! Σήκωσα λοιπόν ένα WAMP στα windows και ενα LAMP σε linux σε ένα παλιό λαπτοπ για πειραματισμό (εντελώς rookie σε linux αλλα τα κατάφερα σχετικά εύκολα) για να ξεκινήσω... Τα θέματα είναι τα εξής, α)Ποιος πιστεύετε οτι είναι ο καλύτερος τρόπος να ''μιλαει'' η html5 (σιτε) στο arduino ?Με local web server και php?Κάποιος άλλος? β)όταν θα αλλάζεις έναν διακόπτη από το ένα πισι,να ενημερώνετε η σελίδα χωρίς να χρειάζεται να ξαναφορτωθει όλη και στο άλλο pc. ( το μοναδικό tutorial που έχω βρει και το κάνει είναι αυτό με AJAX και XML αλλά χρησιμοποιεί to arduino ως server) γ)Ιδέες και προτάσεις δεκτές . Έχω δοκιμάσει σχεδόν όλες τισ έτοιμες λύσεις σε android αλλα όλα είναι με το arduino ως server ενω το θέλω ως client . Οπότε μήπως θέλει κάποιος να βοηθήσει να το φτιάξουμε και να κάνουμε και έναν οδηγό και για άλλους που μπορεί να θέλουν να κάνουν το σπίτι τους έξυπνο ??? Ε?Φανταστικοί insomniacs?!?! Ελπίζω να μην σας κούρασα πολύ, Ευχαριστώ προκαταβολικά!! Βάσω
Timonkaipumpa Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Η γνώμη μου είναι ότι το project που θες να ξεκινήσεις αφενός απαιτεί καλές γνώσεις C (και άρα το ότι "δεν το έχεις και πολύ" είναι λίγο δεσμευτικό) και αφετέρου έχει ήδη καλυφθεί με άλλες πιο cost efficient λύσεις, τόσο στο θέμα καθαρά της ενέργειας όσο και στο θέμα δικτύου. Επίσης, είναι αρκετά θέματα που θα πρέπει να φροντιστούν και σε μία ομάδα δύο ατόμων που ο ένας "δεν το έχει και πολύ" σημαίνει υπερβολικό φόρτωμα εργασίας στον άλλον. Π.χ., δεν θα έχετε ασφάλεια στην σελίδα; Πώς θα δουλεύετε τον κώδικα δύο άτομα; Δεν θα θέλετε ένα version control; Πως θα μιλάει ο Η/Υ στο arduino; Ασύρματα με κάποιο δικό σας module ή θα είναι μόνιμα συνδεδεμένος; Εάν μιλάει ασύρματα, με τι πρωτόκολλο; Ή καθαρά για την εφαρμογή... Τα όσα θα έχετε (π.χ. διακόπτες) στο δίκτυο πως θα μπαινοβγαίνουν στο δίκτυο; Οι διακόπτες με τι μηχανισμό, τόσο επικοινωνίας όσο και εσωτερικής διαχείρισης, θα επικοινωνούν με τον διαχειριστή(-arduino) ; Τι θα έχουν πάνω οι διακόπτες; Υ.Γ. Από ό,τι καταλαβαίνω πρέπει να είσαι είτε ηλεκτρολόγος είτε ηλεκτρονικός. Θα δυσαρεστηθώ πολύ όμως εάν όλο αυτό είναι απλά πτυχιακή.... βασικά... δεν θα δυσαρεστηθώ απλά θα αναρωτηθώ εάν υπάρχουν τέτοιοι άνθρωποι και εάν υπάρχουν εάν ντρέπονται που ζουν.
sdoup Δημοσ. 25 Σεπτεμβρίου 2013 Μέλος Δημοσ. 25 Σεπτεμβρίου 2013 Timonkaipumpa σε ευχαριστώ πολύ για την απάντηση σου! Να ξεκινήσω απο το ΥΓ πρώτα, δεν ξέρω αν θα σε απογοητεύσω, αλλά δεν είμαι τίποτα από τα 2! Είναι καθαρά χόμπι το συγκεκριμένο και μια αδυναμία στις κατασκευές...Απο μικρή ήθελα να φτιάξω αυτοματισμούς στο σπίτι μου, ε και τώρα που μεγάλωσα και έχω το χώρο, αποφάσισα να το πραγματοποιήσω. Σχετικά με τον προγραμματισμό , στο κομμάτι του arduino τα πάω μια χαρά, έχω φτιάξει τα παραπάνω μεμονωμένα σαν projects και λειτουργούν κανονικά. Με τον προγραμματισμό σε σχέση με php,java, AJAX δεν το έχω και πολύ . Δεν γνωρίζω αν έχεις ασχοληθεί καθόλου με τους αυτοματισμούς για το σπίτι, αλλα οι λύσεις που υπάρχουν, είναι αρκετά ακριβές, δύσκολα μπαίνουν σε σπίτι που δεν έχει κατασκευαστεί με αυτή τη λογική. πχ το Χ10 έχει αρκετά bugs κατα την λειτουργία του και είναι αργό..και αρκετά άλλα μείον κατά την γνώμη μου. Η επικοινωνία με το arduino θα γίνεται με POST / GET . Βασικά το arduino είναι ένας μικροεπεξεργαστής που έχει Ι/Ο ,αναλογικές εισόδους,PWM. και διαβάζει ή γράφει HIGH / LOW στις επαφές του. Οπότε λοιπόν το consept είναι απο το σιτε να υπάρχει ένα κουμπί που θα κάνει submit την συγκεκριμένη εντολή πχ 192.168.1.4/led4on (μάλλον με php) το arduino θα ''ακούει" και τα κάνει high το pin που έχει οριστεί για το led4. Η ασφάλεια στην σελίδα θα είναι με ένα κλασικό login, και θα σε βγάζει στο index.htm που θα είναι τα κουμπιά που θα ενεργοποιούν τα φώτα. Το ethernet shield είναι αυτό που θα συνδέει μέσω router το arduino με το δίκτυο, και θα είναι μόνιμα συνδεδεμένο . Την δουλειά για τους διακόπτες θα την κάνει το arduino μέσω 5v ρελέ. οπου θα στέλνει HIGH στην είσοδο του ρελέ ,θα ενεργοποιεί το ρελε, και θα κλείνει το κύκλωμα για να ανάψει το φως. και για να μην υπάρχουν παρεξηγήσεις, η δουλειά θα γίνεται ομαδικά . Όπως είπα και πιο πάνω , τα έχω φτιάξει μεμονωμένα όλα αυτά, έχω φτιάξει και ένα μικρό demo site σε html. Απλά πιστεύω ότι 2 μυαλά σκέφτονται καλύτερα από ένα! μερικά παραδείγματα για να καταλάβεις πως δουλεύει : Και κάτι τελευταίο, το όλο consept του arduino ειναι OPEN HARDWARE/SOFTWARE . Η χαρά της δημιουργίας και το DIY για το όλο project ,καθώς και θα υπάρχει free για όλους, για εμένα είναι + ... ΜΦΧ Βάσω
παπι Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Αφου εχεις httpserver απανω στο μΕ, τι να την κανεις την php; Οπως λεει και στο tut, διαβαζεις εως το /r/n και ετσι εχεις την get. Τι ειναι Get; Αυτο
sdoup Δημοσ. 25 Σεπτεμβρίου 2013 Μέλος Δημοσ. 25 Σεπτεμβρίου 2013 παπι το ξέρω αυτό. το θέμα είναι οτι δεν θέλω να σηκώσω το site στο arduino ,αλλα σε εξωτερικό server.Ο μΕ δεν έχει πολύ μνήμη και το site θα είναι πολύ λιτό . Δεν μπορεί να κάνει video streeming, δεν σηκώνει πολλές φωτογραφίες/ γραφικά (ακόμα και αν η Index και οι φωτογραφίες/css είναι στην sd).
sdoup Δημοσ. 25 Σεπτεμβρίου 2013 Μέλος Δημοσ. 25 Σεπτεμβρίου 2013 ναι.θα είναι client και θα κάνει τη ''βρωμοδουλειά'' με το hardware κομμάτι .
παπι Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Ωραια, τοτε φτιαξε ενα δικο σου πρωτοκολλο http στο μΕ. πχ get /object,function οπου object αυτο που θες να ανοιξεις κλησεις πχ /room1lights,state θα επιστρεφει αν ενα on ή off (οχι html, απλα ενα text) /room1lights,off θα σβηνει τα φωτα (μπορεις να βαλεις να επιστρεφει και το state) /room1lights,on θα αναβει τα φωτα στο room1 κατσε, θα το κανω πιο ετσι.
sdoup Δημοσ. 25 Σεπτεμβρίου 2013 Μέλος Δημοσ. 25 Σεπτεμβρίου 2013 υπάρχει έτοιμο αυτό κάνει το μΕ client, γράφεις όμορφα τον κώδικα σου για το τι θέλεις να κάνεις και παίζει...αυτό που δεν ξέρω εγώ, είναι πως απο εξωτερικο site,θα τα στέλνω στο arduino /* Web client This sketch connects to a website (http://www.google.com) using an Arduino Wiznet Ethernet shield. Circuit: * Ethernet shield attached to pins 10, 11, 12, 13 created 18 Dec 2009 by David A. Mellis modified 9 Apr 2012 by Tom Igoe, based on work by Adrian McEwen */ #include <SPI.h> #include <Ethernet.h> // Enter a MAC address for your controller below. // Newer Ethernet shields have a MAC address printed on a sticker on the shield byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // if you don't want to use DNS (and reduce your sketch size) // use the numeric IP instead of the name for the server: //IPAddress server(74,125,232,128); // numeric IP for Google (no DNS) char server[] = "www.google.com"; // name address for Google (using DNS) // Set the static IP address to use if the DHCP fails to assign IPAddress ip(192,168,0,177); // Initialize the Ethernet client library // with the IP address and port of the server // that you want to connect to (port 80 is default for HTTP): EthernetClient client; void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } // start the Ethernet connection: if (Ethernet.begin(mac) == 0) { Serial.println("Failed to configure Ethernet using DHCP"); // no point in carrying on, so do nothing forevermore: // try to congifure using IP address instead of DHCP: Ethernet.begin(mac, ip); } // give the Ethernet shield a second to initialize: delay(1000); Serial.println("connecting..."); // if you get a connection, report back via serial: if (client.connect(server, 80)) { Serial.println("connected"); // Make a HTTP request: client.println("GET /search?q=arduino HTTP/1.1"); client.println("Host: www.google.com"); client.println("Connection: close"); client.println(); } else { // kf you didn't get a connection to the server: Serial.println("connection failed"); } } void loop() { // if there are incoming bytes available // from the server, read them and print them: if (client.available()) { char c = client.read(); Serial.print(c); } // if the server's disconnected, stop the client: if (!client.connected()) { Serial.println(); Serial.println("disconnecting."); client.stop(); // do nothing forevermore: while(true); } }
Timonkaipumpa Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Timonkaipumpa σε ευχαριστώ πολύ για την απάντηση σου! Να ξεκινήσω απο το ΥΓ πρώτα, δεν ξέρω αν θα σε απογοητεύσω, αλλά δεν είμαι τίποτα από τα 2! Είναι καθαρά χόμπι το συγκεκριμένο και μια αδυναμία στις κατασκευές...Απο μικρή ήθελα να φτιάξω αυτοματισμούς στο σπίτι μου, ε και τώρα που μεγάλωσα και έχω το χώρο, αποφάσισα να το πραγματοποιήσω. Σχετικά με τον προγραμματισμό , στο κομμάτι του arduino τα πάω μια χαρά, έχω φτιάξει τα παραπάνω μεμονωμένα σαν projects και λειτουργούν κανονικά. Με τον προγραμματισμό σε σχέση με php,java, AJAX δεν το έχω και πολύ . Δεν γνωρίζω αν έχεις ασχοληθεί καθόλου με τους αυτοματισμούς για το σπίτι, αλλα οι λύσεις που υπάρχουν, είναι αρκετά ακριβές, δύσκολα μπαίνουν σε σπίτι που δεν έχει κατασκευαστεί με αυτή τη λογική. πχ το Χ10 έχει αρκετά bugs κατα την λειτουργία του και είναι αργό..και αρκετά άλλα μείον κατά την γνώμη μου. Η επικοινωνία με το arduino θα γίνεται με POST / GET . Βασικά το arduino είναι ένας μικροεπεξεργαστής που έχει Ι/Ο ,αναλογικές εισόδους,PWM. και διαβάζει ή γράφει HIGH / LOW στις επαφές του. Οπότε λοιπόν το consept είναι απο το σιτε να υπάρχει ένα κουμπί που θα κάνει submit την συγκεκριμένη εντολή πχ 192.168.1.4/led4on (μάλλον με php) το arduino θα ''ακούει" και τα κάνει high το pin που έχει οριστεί για το led4. Η ασφάλεια στην σελίδα θα είναι με ένα κλασικό login, και θα σε βγάζει στο index.htm που θα είναι τα κουμπιά που θα ενεργοποιούν τα φώτα. Το ethernet shield είναι αυτό που θα συνδέει μέσω router το arduino με το δίκτυο, και θα είναι μόνιμα συνδεδεμένο . Την δουλειά για τους διακόπτες θα την κάνει το arduino μέσω 5v ρελέ. οπου θα στέλνει HIGH στην είσοδο του ρελέ ,θα ενεργοποιεί το ρελε, και θα κλείνει το κύκλωμα για να ανάψει το φως. και για να μην υπάρχουν παρεξηγήσεις, η δουλειά θα γίνεται ομαδικά . Όπως είπα και πιο πάνω , τα έχω φτιάξει μεμονωμένα όλα αυτά, έχω φτιάξει και ένα μικρό demo site σε html. Απλά πιστεύω ότι 2 μυαλά σκέφτονται καλύτερα από ένα! μερικά παραδείγματα για να καταλάβεις πως δουλεύει : Και κάτι τελευταίο, το όλο consept του arduino ειναι OPEN HARDWARE/SOFTWARE . Η χαρά της δημιουργίας και το DIY για το όλο project ,καθώς και θα υπάρχει free για όλους, για εμένα είναι + ... ΜΦΧ Βάσω Ωραία.. good to know. Σχετικά με την ιδέα σου, Υπάρχουν και φθηνότερες λύσεις για energy control. Όπως το σκέφτεσαι, προσωπικά βλέπω το θέμα της καλωδίωσης ως πρόβλημα. Εάν θα θέλει κάποιος να βάλει ένα νέο control, θα πρέπει να χρησιμοποιήσει το bread board ή όποιο interface έχεις για τα pins του arduino (φυσικά και το ξέρω το arduino). Αυτό είναι ΟΚ για ένα set γύρω από τον Η/Υ. Εάν θες ένα διακόπτη που να είναι στον τοίχο απέναντι; Πόσο ευελιξία θα έχει αυτό; Και εάν φτιάξεις κάτι που να είναι γύρω από τον Η/Υ, θα είσαι πρόθυμη να κάνεις refactor τον κώδικα για να το στήσεις αλλιώς; Ή θα πάει στα αζήτητα επειδή κανείς δεν θα κάνει refactor; Εν ολίγης, εάν το ξεκινήσεις έτσι τότε απλά θα κάνετε / θα γίνει κάτι το οποίο θα είναι ωραίο μεν αλλά χωρίς χρηστικότητα δε. Ή, θα θέλει ένα γερό refactor για να γίνει χρηστικό. Εάν παρόλα αυτά θες να το κάνεις έτσι όπως το λες, τότε δες και την λύση με το Processing που επικοινωνεί άμεσα και άψογα με το arduino. Θα μπορούσες να έχεις μία εφαρμογή που να ακούει από τον server και να ελέγχει το arduino ακόμα και μέσω WiFi shield ή με το XBee.
NikosKallithea Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Εχεις σκεφτεί οτι για να δουλέψει το συγκεκριμένο απαιτεί μόνιμη ταση (ups) και ενα υπολογιστή που να τρεχει συνεχώς
sdoup Δημοσ. 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) NikosKallithea (είμαστε και γείτονες) αν ο σέρβερ στηθεί σε λαπτοπ (δεν θα κάνει και τίποτα βαρύ) και σε διακοπή ρεύματος θα έχει την μπαταρία. Για arduino και το router ένα ups είναι αρκετό. Το Arduino δουλευει στα 5V και το router 12V και στην ανάγκη μια μπαταρία από σύστημα συναγερμού θα τα κρατήσει ζωντανά για μερικές μέρες. (Το δικό μου pc σπάνια κλείνει… είναι μονίμως online γιατί όλα και κάτι θα του έχω βάλει να κάνει.. ) σχετικά με το κόστος αυτής της λύσης το arduino έχει 25,00€ to ethernet shield 48,00€ (στο ελλαδιστάν, μπορεί να βρεθούν και πιο φτηνά.και compatible boards που έχουν πάνω ethernet shield γύρω στα 50$) έτοιμο ρελέ 5 v απο 4,00 - 8,00 ευρω. αν το φτιάξεις μόνος σου 2,00 το πολύ. κουτιά απο 0,50€ εως 3,00 ανάλογα το μέγεθος καλώδιο 0,60 το μέτρο τροφοδοτικά περίπου 6,00 (μπορείς να χρησιμοποιήσεις και τροφοδοτικό pc.(12v 5v χρειάζονται τα περισσοτερα,ολο και κάποιο πεταμένο θα έχεις) κουμπιά και διαφορα μικρο ηλεκτρονικά είναι πολύ φθηνά... ε και απο εκεί και πέρα, ότι άλλο θέλεις το βάζεις και αυτό...(rfid module 30,00 + 5,00 οι κάρτες)(ip camera 50.00-100.00) αξία ιδιοκατασκευής : ΑΝΕΚΤΙΜΗΤΗ
παπι Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Εχεις σκεφτεί οτι για να δουλέψει το συγκεκριμένο απαιτεί μόνιμη ταση (ups) και ενα υπολογιστή που να τρεχει συνεχώς Δεν χρειαζεται.
Timonkaipumpa Δημοσ. 25 Σεπτεμβρίου 2013 Δημοσ. 25 Σεπτεμβρίου 2013 Ρε συ sdoup, ΟΚ. Κατανοητό αυτό που λες με την τοποθέτηση του arduino στον πίνακα. Αλλά πως σκέφτεσαι να ελέγχει ξεχωριστούς διακόπτες; Εννοείς να ελέγχει μόνο ασφάλειες/ρελέ; Το air condition πώς θα το ελέγχεις; Δηλαδή, πως το arduino θα ελέγχει κάθε "μπρίζα" ξεχωριστά εάν είναι πάνω στον πίνακα και οι μπρίζες δεν έχουν κάποιο interface για να μιλήσει το arduino μαζί τους;
sdoup Δημοσ. 25 Σεπτεμβρίου 2013 Μέλος Δημοσ. 25 Σεπτεμβρίου 2013 μεσω ρελέ θα γίνεται .κάθε πρίζα ή φως που θέλεις να ανοίγεις κλείνεις θα έχει ένα μικρό ρελέ πάνω. Οταν θες να το ανάψεις, πατάς το αντιστοιχο κουμπί , το arduino στέλνει 5 v signal και οπλίζει το ρελέ που κλείνει το κύκλωμα. το ρελε ειναι αυτό : το A/C το ελέγχεις με υπέρυθρες. κανεις decode τα κουμπιά απο το χειριστήριο και μετά με την ίδια λογική, στέλνεις τα σήματα για τις διάφορες λειτουργίες του A/C. και εδω ένα παράδειγμα για το A/C (είναι και 'Ελληνας) http://www.power7.net/arduinoethernet.html
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα