Σχεδίαση Συστημάτων με τον Arduino Μάθημα 3. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Η Έννοια του Global Positioning System

Σχετικά έγγραφα
Σχεδίαση Συστημάτων με τον Arduino Μάθημα 3. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Η Έννοια του Global Positioning System

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 8. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Η Έννοια του Global Positioning System

ΕΝΟΤΗΤΑ 14 Πρωτόκολλα Επικοινωνίας

Μάθημα 2 Δραστηριότητα 2: Δημιουργώντας το Μετεωρολογικό Σταθμό. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού.

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Βασική δομή ενός προγράμματος στο LabVIEW.

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Μάθημα 1 ΑΙΣΘΗΤΗΡΕΣ Ο Αισθητήρας Δύναμης. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού.

Εφαρμογές Σειριακής Επικοινωνίας

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1. Προγραμματισμός Φυσικών Συστημάτων. Νέα Ψηφιακά Αντικείμενα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 8. Μετρώντας Επιτάχυνση με το Accelerόμετρο (ADXL 335) Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομζασ: Ηλεκτρονικισ, Ηλεκτρολογίασ και Αυτοματιςμοφ Εκπαιδευτικοί: Μπουλταδάκθσ τζλιοσ Μαυρίδθσ Κωνςταντίνοσ

Πτυχιακή Εργασία Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Η Ασύρματη Επικοινωνία, χρησιμοποιώντας

Προγραμματισμο ς σε Arduino

Αθήνα 29 ΝΟΕ, 2016 ΘΕΜΑ: ΑΙΤΗΜΑ ΑΓΟΡΑΣ ΥΛΙΚΩΝ ΓΙΑ ΤΟ ΕΡΓΑΣΤΗΡΙΟ ΣΥΛΛΟΓΗΣ & ΕΠΕΞΕΡΓΑΣΙΑΣ ΔΕΔΟΜΕΝΩΝ

Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).

ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ARDUINO

Ενσωματωμένα Συστήματα

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Β : Επικοινωνία Υπολογιστή με Μικροελεγκτή

Έλεγχος κινητήρα συνεχούς ρεύματος με τρανζίστορ και Arduino

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά

Α. Βασική Χρήση κινητήρα - Servo με τη βιβλιοθήκη <Servo.h>

Arduino Teachers Workshop

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

Φύλλο εργασίας 6 - Θερμόμετρο εξωτερικού χώρου. Το κύκλωμα σε breadboard

FOSSCOMM ο Συνέδριο Κοινοτήτων Ανοιχτού Λογισμικού Σάββατο 20 Απριλίου Ομάδα Σχολής Ικάρων Εργαστήριο Arduino

για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.

ΣΥΣΤΗΜΑΤΑ SCADA. Μέρος 5. Δικτύωση για Απομακρυσμένο Έλεγχο και Μεταφορά Δεδομένων

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 4. Οδηγώντας έναν DC Κινητήρα. Το κύκλωμα της Λειτουργίας DC Κινητήρα

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

Εγχειρίδιο Χρήσης V3.0

Εφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation)

Φύλλο εργασίας 3 - Χριστουγεννιάτικα φωτάκια (σταδιακή αύξηση και μείωση φωτεινότητας ενός LED) Το κύκλωμα σε breadboard

//στο pin 3 του μικροελεγκτή συνδέουμε το control pin του ρελέ. WRITE 'I am on' στο SOCKET // λέω στον client ότι άναψα τη λάμπα

Εργαστηριακές σημειώσεις για το μάθημα: «Εισαγωγή στην Μηχατρονική»

Φύλλο εργασίας 7 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

Οδηγίες σύνδεσης στο eduroam. Project Name: Eduroam Description: Οδηγίες σύνδεσης στο Eduroam Author: Μήλιος Γιώργος Copyright: 2017, Μήλιος Γιώργος

Εγκατάσταση του LabVIEW

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων. Προγραμματίζοντας τον Arduino Μέρος Ι: Μεταβλητές, Εντολές Εισόδου & Εξόδου. Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE)

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016)

AΕΙ ΠΕΙΡΑΙΑ T.T. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).

ιαδικτυακές Εφαρµογές

ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ: ΜΙΚΡΟΕΛΕΓΚΤΕΣ

Περιεχόμενα συσκευασίας

ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO- 01a

ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ II. Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ

ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ I. Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ

Το κύκλωμα σε breadboard

ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΑΣΥΡΜΑΤΟ ΔΙΚΤΥΟ eduroam

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά

Ενσωματωμένα Συστήματα

Οδηγός γρήγορης εγκατάστασης. Ασύρματη κάμερα. IP MJPEGγια εξωτερικούς χώρους V3.14

2017 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

ΡΟΜΠΟΤΙΚΗ ΚΑΙ ΑΥΤΟΜΑΤΙΣΜΟΣ

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ADB P.RG A4201G. 2play Internet & Σταθερή 1play Internet

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

Οδηγίες Σύνδεσης Ασύρματου Δικτύου ΤΜΗΥ&Π. Οδηγίες Σύνδεσης για λοιπά Linux/Unix Συστήματα

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

Οδηγός Σύνδεσης στο Ασύρματο Δίκτυο cs-wifi του Τμήματος Πληροφορικής του Πανεπιστημίου Κύπρου για Windows 7

Εγκατάσταση του Arduino IDE

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

Γνωριμία με το Arduino

Οδηγός Σύνδεσης στο Ασύρματο Δίκτυο cs-wifi του Τμήματος Πληροφορικής του Πανεπιστημίου Κύπρου για Windows 7, CentOS 6, Mac OS, IOS, και Android

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

Κάντε περισσότερα. Δρομολογητής Smart WiFi Nighthawk X10 AD7200. Μοντέλο R9000

Electronics μαζί με τα συνοδευτικά καλώδια και το αισθητήριο θερμοκρασίας LM335 που περιέχονται

ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΕΙΚΟΝΑ. Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ

ΣΥΣΤΗΜΑΤΑ SCADA. Μέρος 5. Δικτύωση για Απομακρυσμένο Έλεγχο και Μεταφορά Δεδομένων

Ενσωµατωµένα Συστήµατα

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ

Εφαρμογές αναλογικών / Ψηφιακών

Ρύθμιση Stylitis-10+ WiFi

Δρομολογητής Wifi Smart R6300v2 Οδηγός εγκατάστασης

Εισαγωγή στον Προγραμματισμό

Οδηγίες Χρήσης EAP Controller Software

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

USB_6008_terminal_31. PCI_6023E_terminal_68. PCI_6023E_terminal_67

ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΚΟΙΝΩΝΙΚΗ ΔΙΚΤΥΩΣΗ ΜΕΣΩ ΚΙΝΗΤΩΝ ΣΥΣΚΕΥΩΝ: ΧΡΗΣΗ ΔΕΚΤΗ GPS ΓΙΑ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΚΟΙΝΩΝΙΚΗΣ ΔΙΚΤΥΩΣΗΣ ΣΕ ΚΙΝΗΤΗ ΣΥΣΚΕΥΗ

ΗΜΕΡΟ ΜΗΝΙΑ: Σάββατο 28/03/2015 Arduino Day ΤΑΞΗ: Ομάδα Υδρορομποτικής 7ου Γ.Ε.Λ. Τρικάλων. ΚΑΘΗΓΗΤΗΣ: Σπάχος Βασίλειος, ΠΕ19 Πληροφορικής

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Transcript:

Σκοπός Σχεδίαση Συστημάτων μα τον Arduino Σχεδίαση Συστημάτων με τον Arduino Μάθημα 3 High WiFi!. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Η Έννοια του Global Positioning System (GPS) Αρχή λειτουργίας του GPS Πώς το GPS προσδιορίζει θέση στο χώρο το γεωγραφικό πλάτος & μήκος του σημείου στο χώρο που βρισκόμαστε GPS Αισθητήρας (Δέκτης) Υπολογισμός θέσης, χρησιμοππιώντας το δέκτη GPS και τη GPS Shield της Adafruit Δομές προγραμματισμού.

[WIFI] 3.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΑΣΚΗΣΗΣ Στο σπίτι, συνήθως, χρησιμοποιούμε ένα ασύρματο δίκτυο, για να συνδεόμαστε στο διαδίκτυο. Η χαρακτηριστική σύνδεση στο διαδίκτυο, είναι μέσα από ένα WiFi router ενώ έξω, στη Σχολή, σε καφέ και εστιατόρια, χρησιμοποιούμε το WiFi σε κάθε μέρος, για να συνδεόμαστε στο διαδίκτυο (Εικόνα 1). Όμως, το WiFi και το διαδίκτυο, δεν είναι για τη πρόσβαση, μόνον από ανθρώπους χρήστες, στο διαδίκτυο, αλλά και από συστήματα, όχι μόνον ρομπότ, αλλά και συστήματα μετρήσεων. Γιατί και πως ένα σύστημα να έχει πρόσβαση στο διαδίκτυο? Σ ένα όχι πολύ μακρινό μέλλον, το διαδίκτυο δεν θα συνδέει μόνον ψηφιακές συσκευές υπολογιστές, tablets και κινητά και δεν θα εξυπηρετεί μόνον ανθρώπους - χρήστες, αλλά και αναλογικές συσκευές, όπως αισθητήρες, κάμερες και ηλεκτρικές συσκευές. Σ αυτό το διευρυμένο διαδίκτυο του μέλλοντος που ονομάζουμε Internet of Things ή Βιομηχανικό Διαδίκτυο, θα μπορεί να συνδέεται κάθε ηλεκτρικό σύστημα ή συσκευή, αλλά και τα αυτοκίνητα με ηλεκτρικούς κινητήρες και οι κινητήρες στις βιομηχανικές μονάδες. Σ αυτό το διευρυμένο διαδίκτυο, θα μπορούμε να έχουμε πρόσβαση και να επικοινωνούμε, όχι μόνον με ψηφιακά αντικείμενα, αλλά και με αναλογικά. Εφόσον, για παράδειγμα οι ηλεκτρικές συσκευές θα συνδέονται σ αυτό το διευρυμένο διαδίκτυο, θα μπορούμε, από οπουδήποτε, να λειτουργούμε τις ηλεκτρικές συσκευές στο σπίτι μας να ανάβουμε ή αν έχουμε ξεχάσει, να κλείνουμε, την ηλεκτρική κουζίνα ή τα φώτα, από το κινητό μας. Οι εφαρμογές αυτής της ιδέας είναι πάρα πολλές. Τόσες ώστε το διευρυμένο διαδίκτυο των συσκευών να λέγεται πως είναι η επόμενη μεγάλη ιδέα των υπολογιστών. Μ αυτό τον τρόπο, ένα σύστημα μέτρησης, ένα σύστημα, για παράδειγμα που μετράει τη στάθμη του υγρού σε μία δεξαμενή, ή ένα μετεωρολογικός σταθμός, στην οροφή ενός κτιρίου ή ένα ρομπότ που το στέλνουμε για να ελέγξει τους σωλήνες ύδρευσης / αποχέτευσης, δεν θα πρέπει, υποχρεωτικά, να είναι καλωδιωμένα στον υπολογιστή, για να μπορούμε να βλέπουμε τις μετρήσεις τους, αλλά ασύρματα, θα μπορούμε να βλέπουμε τις μετρήσεις και να ρυθμίζουμε τη λειτουργία αυτών των συστημάτων. Έχοντας λίγο δικαιολογήσει γιατί μία συσκευή, ένα ρομπότ ή ένα σύστημα μέτρησης να συνδέονται στο διαδίκτυο, σ αυτή την άσκηση, ξεκινάμε να εξετάζουμε το πώς ένα σύστημα μπορεί να συνδέεται στο διαδίκτυο, μέσα από ένα WiFi δίκτυο. Δημιουργούμε ένα μικρό μετεωρολογικό σταθμό και επιχειρούμε να συνδέσουμε αυτό το σταθμό στο διαδίκτυο, ώστε να μπορεί να ανεβάζει τις μετρήσεις, στο διαδίκτυο και εμείς να μπορούμε να βλέπουμε αυτές τις μετρήσεις, από το διαδίκτυο (Εικόνα 2). Μπορούμε να συνδέουμε το μετεωρολογικό σταθμό στο διαδίκτυο με δύο τρόπους, ενσύρματα ή ασύρματα. Εδώ εξετάζουμε την ασύρματη σύνδεση, μέσα από το 2

[Σχεδίαση Συστημάτων με τον Arduino] Εικόνα 1: To WiFi, είναι αυτό που περισσότερο χρησιμοποιείται, για τη πρόσβαση στο διαδίκτυο, όχι μόνον από ανθρώπινους χρήστες του διαδικτύου, αλλά και από συστήματα τεχνητής νοημοσύνης. WiFi. Έτσι, σ αυτή την άσκηση, θα δούμε πως συνδέουμε ένα σύστημα στο διαδίκτυο, μέσα από το WiFi και πως αυτό το σύστημα μπορεί να χρησιμοποιεί το διαδίκτυο, σχεδόν όπως και εμείς, λειτουργώντας όπως και εμείς, σαν client ή server, ανοίγοντας και διαβάζοντας ιστοσελίδες, αλλά και δημιουργώντας τη δική του ιστοσελίδα, για να ανεβάζει τις μετρήσεις του, στο διαδίκτυο. Πέρα από τον τρόπο και το μέσο σύνδεσης, η άσκηση θα μας επιτρέψει να δούμε τη βασική αρχή λειτουργίας του WiFi, αλλά και βασικές έννοιες τεχνικές της χρήσης του διαδικτύου, όπως η έννοια client server πως δηλαδή ένα σύστημα μπορεί να χρησιμοποιεί το διαδίκτυο δημιουργώντας μία ιστοσελίδα και ανεβάζοντας μετρήσεις σ αυτή την ιστοσελίδα, ώστε να μπορούμε να δούμε αυτές τις μετρήσεις στο διαδίκτυο, πηγαίνοντας και ανοίγοντας τη σελίδα του συστήματος μέτρησης, στο διαδίκτυο, όπως θα ανοίγαμε κάθε άλλη σελίδα του διαδικτύου. Έτσι, μέσα από αυτή την εργασία / Βασικοί στόχοι της εργασίαw είναι να δούμε πως: Μπορούμε να χρησιμοποιούμε την WiFi shield Μάθουμε πως μπορούμε να χρησιμοποιούμε τη WiFi βιβλιοθήκη συναρτήσε- 3

[WIFI] ων Μάθουμε πως μπορούμε να συνδεόμαστε σε ασύρματα δίκτυα Εξετάσουμε βασικές έννοιες προγραμματισμού της ασύρματης επικοινωνίας υπολογιστή μικροελεγκτή Στέλνουμε μηνύματα από / προς τον υπολογιστή, στον / από το μικροελεγκτή ο υπολογιστής και ο μικροελεγκτής, μπορεί να ανταλλάσουν μηνύματα, μέσω WiFi. 3.2 Πρώτη Γνωριμία με το WiFi 3.3 Εντοπίζοντας τα WI-FI Δίκτυα Στα προηγούμενα εργαστηριακά πειράματα, είδαμε τη μέτρηση μεταβλητών θερμοκρασία, φωτεινότητα, απόσταση με αισθητήρες. Είδαμε / δημιουργήσαμε απλά συστήματα μέτρησης, για να μετράμε αυτές τις μεταβλητές / χαρακτηριστικά του ε- ξωτερικού περιβάλλοντος. Σ αυτό το πείραμα, θα δούμε πως μπορούμε να συνδέουμε το σύστημα μέτρησης στο διαδίκτυο, μέσα από το WiFi και να δημιουργούμε μία απλή ιστοσελίδα, όπου θα ανεβάζουμε / εμφανίζουμε τις μετρήσεις. Αυτή η ιστοσελίδα θα μπορεί να είναι προσβάσιμη από οποιαδήποτε συσκευή υπολογιστή, tablet ή κινητό που μπορεί να συνδέεται στο διαδίκτυο. Το σύστημα που θα δημιουργήσουμε σ αυτό το πείραμα, θα είναι η βάση, για να δημιουργούμε / σχεδιάζουμε συστήματα που θα μπορούμε να ελέγχουμε / λειτουργούμε, από το διαδίκτυο. Γενικά, για να συνδέουμε συστήματα στο διαδίκτυο, χρειαζόμαστε hardware ο- ρισμένα υλικά και συσκευές τη WiFi shield, πληροφορίες διευθύνσεις (IP διευθύνσεις) και προγράμματα που θα συνδέουν το σύστημα, στο διαδίκτυο, αλλά και που θα επιτρέπουν στο σύστημα να χρησιμοποιεί το διαδίκτυο. Ξεκινάμε από το hardware Για να συνδεθεί ο Arduino στο διαδίκτυο ή σ ένα ασύρματο δίκτυο, χρειάζεται τη WiFi shield. Το πρώτο βήμα στη WiFi σύνδεση του Arduino, είναι να τοποθετήσουμε τη WiFi shield. Έτσι, 3.3.1 Ξεκινάμε, εγκαθιστώντας τη WiFi shield, τοποθετώντας την επάνω στον Arduino. Οι ακροδέκτες της πλακέτας πέφτουν ακριβώς πάνω στις θύρες του Arduino. 3.3.2 Συνδέουμε τον Arduino στον υπολογιστή. 4

[Σχεδίαση Συστημάτων με τον Arduino] Για να ελέγξουμε τη λειτουργία της Wi-Fi, γράφουμε ένα απλό πρόγραμμα που θα εμφανίσει στη σειριακή οθόνη, όλα τα ασύρματα δίκτυα που η WiFi μπορεί να εντοπίζει. #include <SPI.h> #include <WiFi.h> void setup() // Start Serial, Waiting For Connection: Serial.begin(9600); while(!serial) ; void loop() delay(10000); printnetworks(); void printnetworks() // scan networks: Serial.println("Scanning Networks"); byte num = WiFi.scanNetworks(); Περιοδικά, ο Arduino εξετάζει τα ασύρματα δίκτυα στη περιοχή, για να αναγνωρίσει δίκτυα που μπορεί να συνδεθεί // print the network number and name for each network found: for (int network = 0; network<num; network++) Serial.print(network); Serial.print(") "); Serial.print(WiFi.SSID(network)); Serial.print(" Strength: "); Serial.print(WiFi.RSSI(network)); Serial.print(" dbm Security: "); Serial.println(WiFi.encryptionType(network)); 3.4 Βρίσκοντας Ένα Ελεύθερο Δίκτυο & Κάνοντας τη Σύνδεση σ Αυτό Για να συνδεθούμε σ ένα δίκτυο, χρειάζεται να αλλάξουμε το κώδικα που έχουμε γράψει δημιουργώντας μία συνάρτηση και καλώντας αυτή την στη συνάρτηση, στη setup(). #include <SPI.h> #include <WiFi.h> int status = WL_IDLE_STATUS; 5

[WIFI] void setup() // Start Serial, Waiting For Connection: Serial.begin(9600); while(!serial) ; connectopennetwork("conn-x90f378"); void loop() delay(10000); printnetworks(); void printnetworks() // scan networks: Serial.println("Scanning Networks"); byte num = WiFi.scanNetworks(); void connectopennetwork(char ssid[]) Serial.print("Connecting To "); Serial.println(ssid); status = WiFi.begin (ssid); while(status!= WL_CONNECTED); Serial.print("Connected to: "); Serial.println(WiFi.localIP()); // print the network number and name for each network found: for (int network = 0; network<num; network++) Serial.print(network); Serial.print(") "); Serial.print(WiFi.SSID(network)); Serial.print(" Strength: "); Serial.print(WiFi.RSSI(network)); Serial.print(" dbm Security: "); Serial.println(WiFi.encryptionType(network)); Για να συνδεθούμε, σ ένα ανοιχτό ασύρματο δίκτυο, δηλαδή σ ένα ασύρματο δίκτυο, χωρίς κωδικό, χρησιμοποιούμε την εντολή. 6

[Σχεδίαση Συστημάτων με τον Arduino] 3.5 Σύνδεση σ Ένα Δίκτυο με Κωδικό #include <SPI.h> #include <WiFi.h> int status = WL_IDLE_STATUS; void setup() // Start Serial, Waiting For Connection: Serial.begin(9600); while(!serial) ; connectclosednetwork("conn-x90f378", "8ce08190f378"); void loop() delay(10000); printnetworks(); void printnetworks() // scan networks: Serial.println("Scanning Networks"); byte num = WiFi.scanNetworks(); // print the network number and name for each network found: for (int network = 0; network<num; network++) Serial.print(network); Serial.print(") "); Serial.print(WiFi.SSID(network)); Serial.print(" Strength: "); Serial.print(WiFi.RSSI(network)); Serial.print(" dbm Security: "); Serial.println(WiFi.encryptionType(network)); void connectclosednetwork(char ssid[], char password[]) Serial.print("Connecting To "); Serial.println(ssid); status = WiFi.begin (ssid, password); while (status!= WL_CONNECTED); Serial.print("Connected to: "); Serial.println(WiFi.localIP()); Για να συνδεθούμε, σ ένα κλειστό. ασύρματο δίκτυο, δηλαδή σ ένα ασύρματο δίκτυο με κωδικό, χρησιμοποιούμε την εντολή. 7

[WIFI] 3.6 Δημιουργώντας Έναν WebServer Τώρα που έχουμε συνδεθεί σ ένα δίκτυο, μπορούμε να ανταλλάσουμε να στέλνουμε και να παίρνουμε δεδομένα, μέσα από αυτό το δίκτυο. Χρειάζεται να χρησιμοποιήσουμε την έννοια client server, για την επικοινωνία του Arduino με τον υπολογιστή. #include <SPI.h> #include <WiFi.h> int status = WL_IDLE_STATUS; char ssid[] = "Aspaite"; WiFiServer server(80); boolean clientconnected = false; void setup() //Start Serial, Waiting For Connection: Serial.begin(9600); while (!Serial) ; //Start the WiFi connection and server while ( status!= WL_CONNECTED) Serial.print("Attempting to connect to SSID: "); Serial.println(ssid); // Connect to Aspaite status = WiFi.begin(ssid); // wait 10 seconds for connection: delay(10000); Serial.print("Connected to: "); Serial.println(WiFi.localIP()); server.begin(); void loop() //listen for incoming clients (incoming web page request connections) WiFiClient client = server.available(); // Create connection to client. 8

[Σχεδίαση Συστημάτων με τον Arduino] if (client) // Make sure the client is active // an http request ends with a blank line boolean currentlineisblank = true; while (client.connected()) if (client.available() > 0) // Checks if the client has sent any data. char c = client.read(); if (c == '\n' && currentlineisblank) client.println("http/1.1 200 OK"); client.println("content-type: text/html"); client.println("connection: close"); client.println(); client.println("<!doctype HTML>"); client.println("<html>"); // add a meta refresh tag, so the browser pulls again every 5 sec: client.println("<meta http-equiv=\"refresh\" content=\"5\">"); // output the value of analog input pin A0 onto the web page int sensorreading = analogread(a0); client.print("analog input "); client.print( A0 ); client.print(" is "); client.print(sensorreading); client.println("<br />"); client.println("</html>"); break; //end if (c == '\n' && currentlineisblank) if (c == \n ) // you're starting a new line currentlineisblank = true; else if (c!= '\r') // you've gotten a character on the current line currentlineisblank = false; //end if (client.available()) //end while (client.conected()) //give the web browser time to receive the data delay(1); //close the connection: 9

[WIFI] client.stop(); //end if (client) //end loop () Παρόμοια συνδεόμαστε στο διαδίκτυο και δημιουργούμε μία ιστοσελίδα με τις μετρήσεις από αισθητήρες, ακόμα και όταν χρησιμοποιούμε μία διαφορετική WiFi shield, για παράδειγμα τη WiFi της Adafruit #include <SPI.h> #include <Adafruit_CC3000.h> // CC3000 pins #define ADAFRUIT_CC3000_IRQ 3 #define ADAFRUIT_CC3000_VBAT 8 #define ADAFRUIT_CC3000_CS 10 //Network id and paasword #define ssid "Aspaite" #define pass[] "" #define WLAN_SECURITY WLAN_SEC_USEC Adafruit_CC3000 cc3000 = Adafruit_CC3000(ADAFRUIT_CC3000_CS, ADAFRUIT_CC3000_IRQ, ADAFRUIT_CC3000_VBAT); Adafruit_CC3000_Server server(80); void setup() //Start Serial, Waiting For Connection: Serial.begin(115200); while (!Serial) ; //Start the WiFi connection and server if (!cc3000.begin()) while(1); Serial.print("Attempting to connect to SSID: "); Serial.println(ssid); // Connect to Aspaite if (!cc3000.connecttoap(ssid, pass, WLAN_SECURITY)) while(1); while (!cc3000.checkdhcp()) 10

[Σχεδίαση Συστημάτων με τον Arduino] delay(100); Serial.print("Connected to: "); Serial.println(WiFi.localIP()); server.begin(); void loop() //listen for incoming clients (incoming web page request connections) Adafruit_CC3000_ClientRef client = server.available(); if (client) // Make sure the client is active // an http request ends with a blank line boolean currentlineisblank = true; while (client.connected()) if (client.available() > 0) // Checks if the client has sent any data. char c = client.read(); if (c == '\n' && currentlineisblank) client.println("http/1.1 200 OK"); client.println("content-type: text/html"); client.println("connection: close"); client.println(); client.println("<!doctype HTML>"); client.println("<html>"); // add a meta refresh tag, so the browser pulls again every 5 sec: client.println("<meta http-equiv=\"refresh\" content=\"5\">"); // output the value of analog input pin A0 onto the web page int sensorreading = analogread(a0); client.print("analog input "); client.print( A0 ); client.print(" is "); client.print(sensorreading); client.println("<br />"); client.println("</html>"); break; //end if (c == '\n' && currentlineisblank) 11

[WIFI] if (c == \n ) // you're starting a new line currentlineisblank = true; else if (c!= '\r') // you've gotten a character on the current line currentlineisblank = false; //end if (client.available()) //end while (client.conected()) //give the web browser time to receive the data delay(1); //close the connection: client.stop(); //end if (client) //end loop () 12