Πίνακας περιεχομένων:

RPi-Zero IoT Event Indicator / Color Lamp: 6 βήματα (με εικόνες)
RPi-Zero IoT Event Indicator / Color Lamp: 6 βήματα (με εικόνες)

Βίντεο: RPi-Zero IoT Event Indicator / Color Lamp: 6 βήματα (με εικόνες)

Βίντεο: RPi-Zero IoT Event Indicator / Color Lamp: 6 βήματα (με εικόνες)
Βίντεο: Node-RED on Raspberry Pi for Relay/LED Light Control (IoT) 2024, Δεκέμβριος
Anonim
RPi-Zero IoT Event Indicator / Color Lamp
RPi-Zero IoT Event Indicator / Color Lamp
RPi-Zero IoT Event Indicator / Color Lamp
RPi-Zero IoT Event Indicator / Color Lamp
RPi-Zero IoT Event Indicator / Color Lamp
RPi-Zero IoT Event Indicator / Color Lamp

Δεν απαιτείται επιπλέον μικροελεγκτής & Δεν απαιτείται πρόσθετη μονάδα HAT. Το RPi-Zero τα κάνει όλα. Καλύτερα να χρησιμοποιήσετε RPi-Zero W!

Δείγμα χρήσης: Δείκτης κατάστασης υπηρεσίας Web (π.χ. παρακολούθηση DowJonesIndex), ένδειξη κατάστασης πολιτικής ή αθλητικής εκδήλωσης, φως διάθεσης, παρακολούθηση αισθητήρα, το ονομάζετε. Δείτε το βίντεο στο βήμα 6.

Το Raspberry-Pi διαθέτει μόνο μία γραμμή PWM που υποστηρίζεται από υλικό. Αυτό το έργο χρειάζεται 3 γραμμές PWM, οπότε χρησιμοποίησα μια βιβλιοθήκη PWM 'c' (https://wiringpi.com/reference/software-pwm-library/), η οποία πρέπει να έχει ήδη εγκατασταθεί.

Χώρισα την επεξεργασία σε 2 διαδικασίες. Ένα, με διακοπή, αλλάζοντας τις γραμμές ελέγχου στη λυχνία LED όπως απαιτείται, παίρνοντας τις εντολές πορείας από το ρεύμα «stdin». Το άλλο είναι ένας διακομιστής nodeJS που βασίζεται σε συμβάντα και χρησιμοποιεί υποδοχή IO. Αυτό γίνεται για να αποφευχθούν πράγματα όπως το τρεμόπαιγμα του φωτός, εξασφαλίζοντας ταυτόχρονα απόκριση. Ο συνδυασμός χρησιμοποιεί συνήθως λιγότερο από το 5% της CPU. Κατά τη διάρκεια συνεχών αναβαθμίσεων χρώματος (μέσω ρυθμιστικών και/ή πολλών πελατών) μπορεί εύκολα να χρησιμοποιήσει πάνω από το 50% (ειδικά όταν χρησιμοποιείται επίσης το πρόγραμμα περιήγησης στο Pi-Zero GUI). Λάβετε υπόψη ότι όταν έρχεται μια αλλαγή, οι ειδοποιήσεις ενημέρωσης βγαίνουν σε όλους τους πελάτες ανοιχτής υποδοχής.

Βήμα 1: Τι θα χρειαστείτε

Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε
  • Κάρτα Pi-Zero micro-SD, συνιστάται 8 GB. Με Raspbian-Linux ή NOOBS
  • RGB Led (χρησιμοποίησα αυτό:
  • 3 αντιστάσεις (τιμή με βάση το επιθυμητό ρεύμα και/ή επιθυμητή φωτεινότητα, 1/8 watt)
  • WiFi, USB dongle (π.χ. https://www.ebay.com/itm/252018085448) ή ακόμα καλύτερα χρήση Raspberry Pi Z-W (με ενσωματωμένο WiFi)
  • θήκη (π.χ. μικρή: https://www.ebay.com/itm/131583579374 με περισσότερο χώρο:
  • ένας διαχύτης (δείτε παραδείγματα στην εικόνα)
  • Καλώδια και προσαρμογείς ανάλογα με τις ανάγκες.

Προαιρετικά, ανάλογα με τον τρόπο που θέλετε να συνδέσετε τα εξαρτήματα

  • κεφαλίδα (https://www.ebay.com/itm/14186077616)
  • άλτες (https://www.ebay.com/itm/262235387520)
  • ορθογώνιος προσαρμογέας micro-USB (Μπλε USB 2.0 OTG R)
  • μίνι διανομέας USB, χρησιμοποιείται μόνο κατά τη φάση εγκατάστασης

Βήμα 2: Ρύθμιση Pi-Zero και προετοιμασία για ανάπτυξη

Ακολουθήστε αυτήν την αρχική ρύθμιση για το PiZero, για να το κάνετε έτοιμο για ανάπτυξη…

Μόλις έχετε μια κάρτα microSD με ρύθμιση NOOBS, τότε:

Συνδέστε την κάρτα microSD. Συνδέθηκε ένας διανομέας USB χαμηλής ισχύος με ένα wifi dongle, πληκτρολόγιο και ποντίκι (Μπορείτε να χρησιμοποιήσετε ασύρματο ποντίκι ή/και πληκτρολόγιο, με κάθε τρόπο, αλλά όχι πιθανό, να απαιτεί εξωτερική τροφοδοσία στο διανομέα). Χρησιμοποίησα προσαρμογείς και έναν κόμβο που είχα ήδη.

Τώρα συνδέστε μια οθόνη και έναν προσαρμογέα τροφοδοσίας microUSB και θα εκκινήσει. Συνεχίστε και ολοκληρώστε τις οδηγίες για τη ρύθμιση του Raspbian, Debian Linux, όπως φαίνεται στο παραπάνω σύνδεσμο noobs-setup.

Επιπλέον, είχα πολύ χαμηλή ανάλυση. Έτσι πρόσθεσα αυτές τις γραμμές στο /boot/config.txt

disable_overscan = 1

hdmi_group = 2 hdmi_mode = 58

Το hdmi_mode = 58 λειτουργεί για την οθόνη μου, μπορεί να χρειαστεί κάτι άλλο.

αναφορά: make-raspberry-pi-use-full-resolution-monitor και

raspberrypi.org/documentation/configuration/config-txt.md

Μετά την εκκίνηση, το Pi-Zero μεταβαίνει στη διεπαφή GUI.

Για να χρησιμοποιήσω το πλήρες μέγεθος της κάρτας μου microSD, χρησιμοποίησα την επιλογή raspi-config #1 «Expand Filesystem». Από τη γραμμή εντολών, σε ένα τερματικό παράθυρο, πληκτρολογήστε «sudo raspi-config» Ανατρέξτε στην: τεκμηρίωση/διαμόρφωση/raspi -config.md

Επίσης, άλλαξα αυτές τις ρυθμίσεις κάτω από το #5 "Επιλογές διεθνοποίησης"

  • Τοπική ρύθμιση: en_US. UTF-8 UTF-8
  • Ζώνη ώρας: Αμερική… Los_Angeles
  • Διάταξη πληκτρολογίου: Γενικός υπολογιστής 105 πλήκτρων (Διεθνές)… Αγγλικά (ΗΠΑ)

Για μένα, το πρότυπο πληκτρολογίου της Μεγάλης Βρετανίας (για το οποίο έχει προρυθμιστεί το Raspbian) έκανε πολλές από τις αλλαγές μου μια πραγματική αγγαρεία.

Αλλάξτε αυτές τις ρυθμίσεις όπως απαιτείται, κατάλληλα για εσάς. Σημειώστε ότι πρέπει να χρησιμοποιήσετε τα πλήκτρα βέλους και το πλήκτρο καρτέλας για να πλοηγηθείτε στο 'raspi-config'. και μετά από μια επιλογή μπορεί να αργήσει πολύ να απαντήσει.

Δεν βρήκα κανένα πρόβλημα να συνδεθώ στο διαδίκτυο με ένα dongle WiFi-USB (χρησιμοποίησα 2 διαφορετικά). Απλώς έπρεπε να εισαγάγω τον κωδικό πρόσβασης-κλειδί πρόσβασης WiFi χρησιμοποιώντας ένα αναπτυσσόμενο πλαίσιο στην επάνω δεξιά γωνιά του GUI. Μόλις το έκανα αυτό θα συνδεθεί αυτόματα μετά από κάθε επανεκκίνηση/ενεργοποίηση.

Τώρα ήμουν έτοιμος για γενική εξέλιξη.

Για να φτάσετε σε αυτό το σημείο μπορείτε να ακολουθήσετε πολλούς δρόμους. Μέχρι αυτό το σημείο, δεν έχω δώσει πολλές λεπτομέρειες εδώ, αλλά υπάρχουν πολλές μέθοδοι και διαμορφώσεις που περιγράφονται λεπτομερέστερα στον ιστό. Συμπεριλαμβανομένου ενός για ρύθμιση χωρίς κεφαλή όπου θα χρησιμοποιούσατε ένα απομακρυσμένο παράθυρο τερματικού ssh στον προσωπικό σας υπολογιστή για να κάνετε τα βήματα ανάπτυξης που θα δοθούν σε αυτήν την οδηγία.

Βήμα 3: Περιβάλλον ανάπτυξης και εργαλεία

Περιβάλλον ανάπτυξης και εργαλεία
Περιβάλλον ανάπτυξης και εργαλεία
Περιβάλλον ανάπτυξης και εργαλεία
Περιβάλλον ανάπτυξης και εργαλεία

Για τη ρύθμιση παραμέτρων του συστήματος και το λογισμικό που ανέπτυξα για το έργο, έκανα την Ε & Α σε ένα Raspberry Pi-2. γιατί διαθέτει τετραπύρηνο επεξεργαστή που κάνει την περιήγηση και την ανάπτυξη κώδικα, με πολλά παράθυρα, πολύ πιο γρήγορα. Μπορείτε, φυσικά, να χρησιμοποιήσετε οποιοδήποτε μοντέλο Raspberry-Pi για να πραγματοποιήσετε αυτό το έργο.

Για τη ρύθμιση του Node.js (υποστήριξη JavaScripting μέσω διακομιστή εισόδου/εξόδου από συμβάντα) έκανα τα εξής…

sudo apt-get ενημέρωση

sudo apt-get install nodejs npm

Προσθήκη αυτών των πακέτων nodeJS (npm είναι το Nodejs Package Manager)

npm εγκατάσταση express

npm εγκατάσταση socket.io

Παραπομπές:

www.npmjs.com/package/express Γρήγορο, μινιμαλιστικό πλαίσιο ιστού

www.npmjs.com/package/socket.io Το Socket. IO ενεργοποιεί αμφίδρομη επικοινωνία που βασίζεται σε γεγονότα σε πραγματικό χρόνο

Βήμα 4: Το υλικό

Το Υλικό
Το Υλικό
Το Υλικό
Το Υλικό
Το Υλικό
Το Υλικό
Το Υλικό
Το Υλικό

Οι τιμές αντίστασης που χρησιμοποιούνται είναι διαφορετικές, καθώς η πτώση τάσης και η απόδοση διαφέρουν και στα τρία τμήματα χρωμάτων LED. Τα υψηλά επίπεδα εξόδου GPIO ήταν όλα περίπου 3,2 βολτ. Κάθε τμήμα LED δοκιμάστηκε για να διασφαλίσει ότι καταναλώνει λιγότερο από 20ma μέγιστο και περίπου 40ma όλα μαζί (<50ma μέγιστο συνολικό επιτρεπόμενο), το οποίο το PiZero μπορεί εύκολα να χειριστεί. Πήρα όσο περισσότερη φωτεινότητα εξόδου μπορούσα, οδηγώντας απευθείας το LED. που είναι αρκετό για τις ανάγκες μου. Για να οδηγήσετε υψηλότερα ρεύματα, για πολύ πιο φωτεινή έξοδο, τα ενδιάμεσα τρανζίστορ κίνησης θα μπορούσαν να χρησιμοποιηθούν με ένα κοινό LED ανόδου με την άνοδό του συνδεδεμένη στη γραμμή 5v. PS: Καθώς τα διάφορα επίπεδα λευκού μου βγαίνουν λίγο μπλε, 27 αντί για 24 Ohm θα ήταν καλύτερη επιλογή για μένα.

Παρατηρήστε ότι χρησιμοποίησα μια κεφαλίδα με αρσενικές καρφίτσες και συνδέθηκα με τα πόδια LED με βραχυκυκλωτήρες F-F. Αυτό μείωσε το συνολικό ύψος. Κόλλησα τις αντιστάσεις στη μέση των βραχυκυκλωτήρων. Η μη χρήση πλακέτας κυκλώματος ή πλακέτας χωρίς κόλληση, μαζί με τη χρήση προσαρμογέα μικρο-USB σε USB ορθής γωνίας για το dongle WiFi, έκαναν το τελικό συγκρότημα αρκετά συμπαγές.

Για έναν διαχύτη, προτείνω μια μπάλα πινγκ πονγκ (είναι εύκολο να ανοίξετε μια τρύπα αρκετά μεγάλη ώστε να τοποθετήσετε το LED σας 5-8-10 mm). Or κόψτε το πάνω μέρος ενός λαμπτήρα LED (αυτός που χρησιμοποιεί πλαστικό διαχύτη). Για αυτό σημειώστε μια γραμμή, με λεπτό αιχμηρό σημείο, όπου θέλετε να κόψετε και χρησιμοποιήστε ένα εργαλείο τύπου Dremel με ένα λεπτό εξάρτημα αποκοπής. Εάν θέλετε, μπορεί να χρησιμοποιηθεί ένα ωραίο μικρό γυάλινο βάζο ή ποτήρι. Μόλις εγκατασταθείτε σε έναν διαχύτη, κολλήστε τον στην κορυφή της θήκης.

Για επιδείξεις μου αρέσει να χρησιμοποιώ ένα μικρό Li-power power bank τοποθετημένο μέσα στη θήκη. Αυτή η μονάδα φαίνεται πιο εντυπωσιακή εντελώς ασύρματη. Φυσικά, θα έχει περιορισμένο χρόνο λειτουργίας σε αυτήν τη διαμόρφωση. Για κανονική λειτουργία, χρησιμοποιώ απλώς έναν προσαρμογέα τοίχου micro-USB.

Βήμα 5: Λογισμικό έργου

Λογισμικό έργου
Λογισμικό έργου

Χρησιμοποίησα δύο προγράμματα, μια διαδικασία Node.js που μιλάει σε μια παιδική διαδικασία μέσω της ροής δεδομένων stdin. Αυτό είναι έτσι ώστε να μπορούν ο καθένας να κάνει αυτό που κάνει καλύτερα και να λειτουργεί ως ανεξάρτητες διαδικασίες με τον δικό του ρυθμό.

Εδώ είναι αυτό που έκανα: Αλλά δεν χρειάζεται, καθώς έχω παράσχει ένα αρχείο tar-gzip που περιέχει το δέντρο αρχείων που προκύπτει.

Ρύθμιση διακομιστή NodeJS από την πλευρά του διακομιστή:

cd

mkdir node_rgb cd node_rgb mkdir public

βάλτε "index.html" και "style.css" στον κατάλογο "~/node_rgb/public" inputput "rgbDriver.c" και "rgb_main.js" στον κατάλογο "/node_rgb"

Μεταγλώττιση/κατασκευή της διαδικασίας c 'rgbDriver':

cd ~/node_rgb

cc -o rgbDriver rgbDriver.c -lwiringPi -lpthread

Λήψη και επέκταση της ισοδυναμίας

Για να κατεβάσετε το node_rgb.tgz (παρακάτω) στο Pi-Zero στον αρχικό σας κατάλογο (~ pi), μπορείτε να κάνετε ένα από τα 3 παρακάτω:

  1. Λήψη από το πρόγραμμα περιήγησης στο GU του Pi-Zero Μετακινήστε το αρχείο στο ~ pi/
  2. Σε ένα τερματικό παράθυρο συνδεδεμένο σε εσάς Pi-Zero: cd ~ piwget

    mv FZBF9BDIL6VBHKF.tgz rgb_node.tgz

  3. Λήψη από ένα πρόγραμμα περιήγησης στον επιτραπέζιο υπολογιστή σας. Χρησιμοποιήστε το WinSCP για να το αντιγράψετε στον κατάλογο ~ pi στο Pi-Zero

Μετά την εκτέλεση #1 2 ή 3 παραπάνω…

cd

tar -xzvf node_rgb.tgz δέντρο node_rgb … node_rgb ├── public │ ├── Dow_Jones_Index.html ├── ├── index.html └── └── style.css ├── rgbDriver ├── rgbDriver.c ├── rgb_main. js ├── start_rgb ├── kill_rgb └── track_dji

Το εκτελέσιμο (από πάνω) 'rgbDriver' που προκύπτει μπορεί να χρησιμοποιηθεί ανεξάρτητα από τη διεπαφή Node.js.

Για να επαληθεύσετε ότι αυτό το πρόγραμμα οδήγησης και το υλικό λειτουργούν, τροφοδοτήστε σύνολα τριών τιμών (του 0-255), χωρισμένα με κενό διάστημα, στο πρόγραμμα οδήγησης. Μου αρέσει 'ηχώ 255 0 0 |./rgbDriver 'για κόκκινο ή' ηχώ 0 255 0 |./rgbDriver 'για πράσινο. Σημειώστε ότι το "./" λέει στο λειτουργικό σύστημα να βρει το πρόγραμμά μας 'rgbDriver' στον τρέχοντα κατάλογο. Όταν εκδίδετε ένα ^c (cntl-c) για να σταματήσετε το πρόγραμμα οδήγησης, το led μπορεί να παραμείνει αναμμένο ή όχι. Εναλλακτικά, θα μπορούσατε να τροφοδοτήσετε διαδραστικά τις τιμές του. Δοκιμάστε να πληκτρολογήσετε, από τη γραμμή εντολών, αυτές τις γραμμές η μία μετά την άλλη και παρακολουθήστε το LED.

./rgbDriver

0 255 0 100 0 100 255 255 0… κλπ… ^γ

Βεβαιωθείτε ότι δεν έχετε 2 από αυτές τις διαδικασίες που εκτελούνται παράλληλα.

Για να ξεκινήσετε την πλήρη σουίτα εφαρμογών λογισμικού, συμπεριλαμβανομένου του διακομιστή Node.js χρησιμοποιήστε αυτήν την εντολή:

sudo κόμβος rgb_main.js

Στη συνέχεια, χρησιμοποιήστε το cntl-c όταν θέλετε να σταματήσετε τον διακομιστή Node.js. Εκκινήστε το με

sudo κόμβος rgb_main.js &

για να το εκτελέσετε στο πίσω έδαφος, αλλά στη συνέχεια θα πρέπει να χρησιμοποιήσετε μια εντολή 'sudo kill -9 pid' για να το σταματήσετε. Εάν αυτή η εντολή σας φαίνεται ξένη, τότε ελέγξτε την έξοδο αυτών των εντολών: 'man kill' & 'man sudo'.

Χρησιμοποιήστε ένα πρόγραμμα περιήγησης, στην επιφάνεια εργασίας, το tablet ή το τηλέφωνό σας, το οποίο είναι συνδεδεμένο στο τοπικό σας δίκτυο. Μεταβείτε στη διεύθυνση https:// raspberrypi: 8080/ή εάν αυτό δεν λειτουργεί χρησιμοποιήστε τη διεύθυνση IP της συσκευής (που λαμβάνεται από το cmd 'ifconfig') κάτι σαν 192.168.1.15 συν τις προδιαγραφές θύρας: 8080 ή εάν χρησιμοποιείτε το Pi-Zero's GUI: localhost: 8080 θα λειτουργήσει.

Χρησιμοποιήστε τα ρυθμιστικά RGB, στη σελίδα που εμφανίζεται και παρακολουθήστε τη λάμπα RGB-LED.

Άλλες χρήσιμες εντολές Σημειώστε ότι εάν καταλήξετε σε περισσότερα από ένα «rgbDriver» να τρέχουν ταυτόχρονα, είναι πιθανό να έχετε απρόβλεπτη συμπεριφορά. Εάν προσπαθήσετε να εκτελέσετε ένα δεύτερο αντίγραφο του rgb_main.js θα σφάλσει.

Αυτή η εντολή θα απαριθμήσει όλες τις σχετικές διαδικασίες:

ps aux | grep rgb

Αυτή η εντολή θα σκοτώσει όλες τις διαδικασίες του nodeJS, μαζί με τις θυγατρικές διαδικασίες «rgbDriver»:

sudo ps aux | κόμβος grep.*rgb | awk '{print "sudo kill -9" $ 2}' | SH

Αυτόνομη λειτουργία

Για να ξεκινήσει το Pi-Zero την εφαρμογή διακομιστή Node.js όταν ξεκινά… χρησιμοποιώντας τον αγαπημένο σας επεξεργαστή (π.χ. nano ~/.bash_profile), πληκτρολογήστε τις ακόλουθες γραμμές και αποθηκεύστε στο ~/.bash_profile

cd node_rgb

sudo κόμβος rgb_main.js &

Για να μην λαμβάνετε ενοχλητικά μηνύματα σφάλματος κατά το άνοιγμα ενός παραθύρου τερματικού, χρησιμοποιήστε κωδικοποίηση υπό όρους, όπως το σενάριο κελύφους στο αρχείο "start_rgb"

Όταν το Pi-Zero λειτουργεί ενσωματωμένο, χωρίς πληκτρολόγιο, ποντίκι ή οθόνη. η γραφική διεπαφή χρήστη θα διαρκέσει ελάχιστο χρόνο CPU, καθώς δεν θα υπάρξει αλληλεπίδραση χρήστη. Δεν απενεργοποιώ την εκκίνηση του αυτόματου GUI, καθώς το Pi-Zero έχει περισσότερους πόρους από ό, τι χρειάζεται, σε αυτήν την περίπτωση. και μου αρέσει να μπορώ να συνδέω μερικά καλώδια και να τα χρησιμοποιώ, ανά πάσα στιγμή στο μέλλον. Ωστόσο, αυτό δεν είναι απαραίτητο, καθώς μπορείτε να χρησιμοποιήσετε ένα απομακρυσμένο τερματικό SSH (π.χ. PuTTY) για να κάνετε οποιαδήποτε απαραίτητη συντήρηση.

Χρησιμοποιώντας το ως οθόνη συμβάντων

Δημιούργησα μια ιστοσελίδα για την παρακολούθηση της καθημερινής αλλαγής στο Δείκτη Dow Jones. Η πηγή του μπορεί να χρησιμοποιηθεί ως οδηγός για τη δική σας σελίδα η οποία χρησιμοποιεί ορισμένα δεδομένα ιστού και οδηγεί ανάλογα τον δείκτη Pi-Zero. Αυτή η σελίδα λαμβάνει τα δεδομένα της (json) από μια υπηρεσία ιστού Google. Υπάρχουν πολλές μορφές υπηρεσιών ιστού, οπότε θα πρέπει να ερευνήσετε αυτήν που θέλετε να χρησιμοποιήσετε για να προσδιορίσετε τον κώδικα JavaScript για πρόσβαση σε αυτόν.

Εάν θέλετε να χρησιμοποιήσετε τη συσκευή σας, όπως και εγώ, ως αποκλειστικός, αυτόνομος δείκτης αλλαγής ευρετηρίου Dow, προσθέστε αυτές τις γραμμές στο τέλος του αρχείου ~/.bash_profile ή όπως θέλετε στο SSH και εκδώστε τη δεύτερη γραμμή εντολών Το Εάν θέλετε στη συνέχεια να χρησιμοποιήσετε το τηλεχειριστήριο "kill -9" την προκύπτουσα διαδικασία epiphany -browser.

ύπνος 20

epiphany-browser --display =: 0.0 localhost: 8080/Dow_Jones_Index.html &

Ο δείκτης θα φωτίσει ένα ανοιχτό γκρι με τιμή 0. Γίνεται όλο και πιο πράσινο με υψηλότερες τιμές. Είναι πιο λαμπερό καθαρό Πράσινο περίπου 250. Υψηλότερες αλλά τιμές προκαλούν στην αρχή ένα ρηχό φλας, μέχρι το βαθύτερο φλας περίπου στο 500. Για αρνητική τιμή (καθημερινές πτώσεις στο Dow) κάνει παρόμοια, αλλά με Κόκκινο.

ΕΝΗΜΕΡΩΣΗ Μαΐου 2018

Δημιούργησα μια νέα ιστοσελίδα (SolarStorm_devCon.html, επισυνάπτεται ως αρχείο.txt, λόγω μη μεταφόρτωσης του αρχείου.html) που συγκεντρώνει πληροφορίες GeoMagnetic storm (που θα μπορούσε να προμηνύει καταστροφικό CME, EMP) και τη χρησιμοποιεί για να παρουσιάσει ένα χρώμα κλίμακα που αντικατοπτρίζει ένα είδος ευρετηρίου Geo-Storm «DevCon». υποδεικνύοντας την πιθανότητα καταστροφής λόγω ηλεκτρομαγνητικού παλμού (EMP) που οφείλεται σε καιρικές συνθήκες του διαστήματος, πιθανώς ηλιακές εκλάμψεις ή εκτόξευση μάζας Στεφανιαίας (CME). Χρησιμοποιήστε το όπως θα είχατε χρησιμοποιήσει το "Dow_Jones_Index.html".

Βήμα 6: Απομακρυσμένος έλεγχος ιστοσελίδας

Image
Image

Σε αυτό το σημείο μπορείτε να ελέγξετε τη χρωματική λάμπα IOT από οπουδήποτε στο τοπικό σας δίκτυο. Πώς να το κάνετε ορατό στο δημόσιο διαδίκτυο δεν αποτελεί μέρος αυτού του οδηγού. Εάν ρυθμίσετε μια δημόσια IP για τη συσκευή σας, τότε θα πρέπει να χρησιμοποιήστε αυτήν την IP στην εντολή ανοιχτής υποδοχής στο JavaScript των σελίδων σας (π.χ. ~/node_rgb/public/index.html)

Σκοπεύω να χρησιμοποιήσω τη συσκευή μου Pi-Zero IOT ως δείκτη χρώματος σε πραγματικό χρόνο για την αλλαγή της ημέρας στον δείκτη Dow Jones. Δημιούργησα μια σελίδα που το κάνει αυτό, η οποία λαμβάνει δεδομένα json από το google.com/finance. Δημιούργησα επίσης μερικές ιστοσελίδες για να δείξω το ευρύ φάσμα χρήσεων για αυτήν τη μικρή συσκευή IOT. Αντί να τοποθετήσω το PiZero μου στο δημόσιο Διαδίκτυο, φιλοξένησε τις σελίδες του υπάρχοντος δημόσιου διακομιστή ιστού μου (επί του παρόντος @ 71.84.135.81 γνωστός και ως: https://raspi.ddns01.com/ όταν λειτουργεί ο δωρεάν διακομιστής δυναμικού ονόματος τομέα), ο οποίος εκτελείται σε μια αρχική έκδοση B Raspberry-Pi Το

Στον κώδικα των απομακρυσμένων σελίδων μου άνοιξα συνδέσεις πρίζας σε 192.168.1.41:8080 Είχα διορθώσει το ip του Pi-Zero στο 192.168.1.41. Για να κάνετε παρόμοια, ακολουθήστε τις οδηγίες κατά τη ρύθμιση-raspberry-pi-with-wifi-and-a-static-ip κάτω από την επικεφαλίδα: Στατική διεύθυνση IP. Έτσι, εάν ρυθμίσετε το PiZero σας να βρίσκεται στο 192.168.1.41 στο τοπικό σας δίκτυο, αυτές οι σελίδες, που ανοίχτηκαν από τον ιστότοπό μου, θα επικοινωνούν με τη συσκευή σας, καθώς η σύνδεση γίνεται από την πλευρά του πελάτη.

Εδώ είναι αυτές οι σελίδες που χρησιμοποίησα για να δοκιμάσω και να χειριστώ τη συσκευή φωτισμού Pi-Zero IOT. Εάν εμφανίσετε αυτές τις σελίδες (https://71.84.135.81/iot/rgbLamp/ aka https://raspi.ddns01.com/iot/rgbLamp/ ή οποιαδήποτε από τις σελίδες που πλαισιώνονται σε αυτήν τη σελίδα) το JavaScript από την πλευρά του πελάτη θα οδηγήστε το δημιουργημένο φως IOT (δεδομένου ότι λειτουργεί σε αυτήν τη διεύθυνση url "192.168.1.41:8080") Εάν θέλετε, μπορείτε να αντιγράψετε την πηγή οποιασδήποτε από αυτές τις σελίδες και να τροποποιήσετε ανάλογα με τις προτιμήσεις σας.

Με την πρώτη σελίδα μπορείτε να ρυθμίσετε τη συσκευή σας σε οποιοδήποτε χρώμα. Η λυχνία LED και το χρώμα που βλέπετε στην ιστοσελίδα θα παρακολουθούν αρκετά καλά. Οι τιμές αντίστασης που χρησιμοποιούνται μπορούν να τροποποιηθούν (όπως και η οθόνη) για να ταιριάζουν περισσότερο. Ξόδεψα ελάχιστο έως καθόλου χρόνο διασφαλίζοντας ότι ταιριάζουν. Αυτή η σελίδα θα ενημερώνει το χρώμα της κάθε φορά που κάποιος άλλος αλλάζει το χρώμα και ο διακομιστής στέλνει το ενημερωμένο μήνυμα πληροφοριών.

Η μία σελίδα είναι ένας απλός φωτεινός σηματοδότης με κουμπιά.

Υπάρχει μια σελίδα που έχει σχεδιαστεί για να παρακολουθεί έναν αθλητικό διαγωνισμό (π.χ. ποδόσφαιρο, μπάσκετ, μπέιζμπολ), εκλογές ή ακόμη και προσαρμοσμένη για ένδειξη επιπέδου ειδοποίησης κεφαλαίου ή DEFCON. Οι βαθμολογίες (ή οι δεσμευμένες εκλογικές ψήφοι) θα μπορούσαν να ληφθούν αυτόματα από μια υπηρεσία ιστού ή να καταργηθούν από κάποια άλλη ιστοσελίδα. Δεν έχω αυτόματη ροή που οδηγεί τη σελίδα Contest_demo. Κάποιος με τη σωστή τεχνογνωσία θα μπορούσε να προσθέσει ένα πρόγραμμα οδήγησης ισχύος για να ενεργοποιήσει προβολείς LED υψηλής ισχύος και να κάνει μπάνιο (ή σπορ μπαρ) με το χρώμα της ομάδας όταν είναι μπροστά. Δυστυχώς άργησα πολύ με αυτό το διδακτικό για τα φετινά πάρτι super-bowl, αλλά εγκαίρως για τις εκλογές του 2016.

Στη συνέχεια, υπάρχει η σελίδα παρόμοια με αυτήν που θα χρησιμοποιήσω για να μετατρέψω τη συσκευή μου σε δείκτη παρακολούθησης Dow Jones. Το ρυθμιστικό και τα κουμπιά βρίσκονται μόνο στη δοκιμαστική σελίδα DJI για λόγους επίδειξης. Στην πηγή αυτής της σελίδας υπάρχει κώδικας που ανέπτυξα για να ξαναχρωματίσω μια εικόνα εμπνευσμένη από πράσινη οθόνη. με αρκετά σχόλια που μπορεί επίσης να σας φανούν χρήσιμα.

Μόνο η πρώτη από αυτές τις 4 σελίδες (μαζί με τη σελίδα index.html με βάση το Pi-Zero) ακούει μηνύματα ενημέρωσης διακομιστή και ανανεώνεται ανάλογα. Όλα τα υπόλοιπα στέλνονται μόνο στον διακομιστή.

Συνιστάται: