Πίνακας περιεχομένων:
- Βήμα 1: Υλικό
- Βήμα 2: Υλικό - PCB
- Βήμα 3: Το πρωτόκολλο LPWAN: Επικοινωνία Sigfox
- Βήμα 4: Διαμόρφωση λογισμικού
- Βήμα 5: Προγραμματίστε το STM32 σας
- Βήμα 6: ThingSpeak - 1
- Βήμα 7: Επικοινωνία μεταξύ της μονάδας Sigfox και της πλατφόρμας ThingSpeak
- Βήμα 8: ThingSpeak - 2
- Βήμα 9: Μπόνους - ThingTweet και React
- Βήμα 10: Είναι η σειρά σας τώρα
- Βήμα 11: Αναφορά & Βιβλιογραφία
Βίντεο: AirCitizen - Παρακολούθηση της ποιότητας του αέρα: 11 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Γεια σε όλους
Σήμερα, θα σας διδάξουμε πώς να αναπαράγετε το έργο μας: AirCitizen bythe AirCitizenPolytech Team!
--
Έρχεται από το 'OpenAir / What's your air;' Έργα, το έργο AirCitizen στοχεύει να επιτρέψει στους πολίτες να αξιολογήσουν ενεργά την ποιότητα του άμεσου περιβάλλοντός τους και ιδίως τον αέρα που αναπνέουν, προσφέροντάς τους από:
Χτίζω
Πραγματοποιήστε σε "Fablabs" (ψηφιακά εργαστήρια κατασκευής) φορητούς σταθμούς περιβαλλοντικών μετρήσεων που ενσωματώνουν διάφορους αισθητήρες χαμηλού κόστους (π.χ. θερμοκρασία, υγρασία, πίεση, αέριο NOx, όζον ή σωματίδια PM10 και PM2.5).
Μετρήσει
Εκτελέστε μετρήσεις επί τόπου για να τονίσετε τη χωροχρονική μεταβλητότητα των περιβαλλοντικών μεταβλητών: αφενός, κατά τη διάρκεια περιστασιακών εκστρατειών με την υποστήριξη γεωγράφων-κλιματολόγων και, αφετέρου, σε διάφορα μέρη που παρουσιάζουν ποικιλομορφία περιβαλλοντικών πλαισίων.
Μερίδιο
Συμβάλλετε στη βελτίωση της γνώσης μοιράζοντας αυτές τις μετρήσεις σε μια περιβαλλοντική βάση δεδομένων και, συνεπώς, ενεργοποιήστε την online χαρτογράφηση της ατμοσφαιρικής ρύπανσης.
--
Η ιδέα είναι να δημιουργηθεί ένας αυτόνομος σταθμός που μπορεί να συλλέγει δεδομένα περιβάλλοντος και να τα στέλνει με το δίκτυο SigFox σε έναν πίνακα ελέγχου.
Έτσι, από τη μία πλευρά, θα σας δείξουμε πώς να σχεδιάσετε το υλικό και από την άλλη πώς να κάνετε το κομμάτι του λογισμικού.
Βήμα 1: Υλικό
Εδώ είναι τα στοιχεία που αποφασίσαμε να χρησιμοποιήσουμε για το σχεδιασμό του σταθμού:
-STM32 NUCLEO -F303K8 -> Για περισσότερες πληροφορίες
-HPMA115S0 -XXX (Αισθητήρας σωματιδίων PM2.5 & PM10) -> Για περισσότερες πληροφορίες
- SHT11 ή SHT10 ή STH15 ή DHT11 (Θερμοκρασία & σχετική υγρασία) -> Για περισσότερες πληροφορίες
- MICS2714 (αισθητήρας NO2, αισθητήρας διοξειδίου του αζώτου) -> Για περισσότερες πληροφορίες
- Ηλιακός πίνακας x2 (2W) -> Για περισσότερες πληροφορίες
- Μπαταρία LiPo 3, 7 V 1050 mAh -> Για περισσότερες πληροφορίες
- Regulator LiPo Rider Pro (106990008) -> Για περισσότερες πληροφορίες
- Άδεια BreakOut SigFox BRKWS01 + 1 -> Για περισσότερες πληροφορίες
- 7 αντιστάσεις (86, 6; 820; 1Κ; 1Κ; 4, 7Κ; 10Κ; 20Κ)
- 1 πυκνωτής (100nF)
- 1 τρανζίστορ (2N222).
! ! ! Πρέπει να αφαιρέσετε τα SB16 και SB18 στον πίνακα πυρήνα stm32 για να αποφύγετε παρεμβολές μεταξύ HPMA και SHT11!
Βασικά, με αυτόν τον τρόπο πρέπει να συνδέσετε στοιχεία:
- Συγκολλήστε, παράλληλα, τους ηλιακούς συλλέκτες.
- Συνδέστε τα με το LiPo Rider Pro και συνδέστε επίσης την μπαταρία με το LiPo Rider Pro.
- Όπως και η παραπάνω φωτογραφία, συνδέστε όλα τα στοιχεία στο STM32. Συνδέστε μόνο έναν αισθητήρα θερμοκρασίας και υγρασίας όχι 2! Μην ξεχνάτε τις αντιστάσεις, τον πυκνωτή και το τρανζίστορ.
- Τέλος, συνδέστε το STM32 στο LiPo Rider Pro με ένα καλώδιο usb.
Το επόμενο βήμα είναι μια εναλλακτική λύση σε αυτό το καλώδιο.
Βήμα 2: Υλικό - PCB
Αποφασίσαμε να χρησιμοποιήσουμε το Autodesk Eagle για να σχεδιάσουμε την πλακέτα τυπωμένου κυκλώματος (PCB).
Μπορείτε να επιλέξετε να συνδέσετε είτε DHT είτε SHT, επιλέξαμε να σχεδιάσουμε δύο δακτυλικά αποτυπώματα για αυτούς τους 2 αισθητήρες για να αλλάξουμε τον αισθητήρα αν χρειαστεί.
Στο συνημμένο, μπορείτε να κατεβάσετε τα αρχεία σύλληψης του Eagle, ώστε να μπορείτε εύκολα να τα φτιάξετε μόνοι σας.
Χρησιμοποιούμε τον πείρο 5V του stm32 για να τροφοδοτήσουμε τη συσκευή. Σε αυτήν τη διαμόρφωση, τροφοδοτείται μόνο ο πυρήνας stm32.
Έτσι μπορούμε να χρησιμοποιήσουμε τη λειτουργία βαθύ ύπνου του MCU παρέχοντας χαμηλό ρεύμα ύπνου. Σε κατάσταση αναμονής, ολόκληρο το ρεύμα ύπνου πέφτει κάτω από τα XXμA.
Βήμα 3: Το πρωτόκολλο LPWAN: Επικοινωνία Sigfox
Το Sigfox είναι ένα πρωτόκολλο LPWAN που δημιουργήθηκε από μια γαλλική εταιρεία τηλεπικοινωνιών - SIGFOX
Επιτρέπει τη σύνδεση απομακρυσμένων συσκευών χρησιμοποιώντας τεχνολογία εξαιρετικά στενής ζώνης (UNB). Τα περισσότερα από αυτά θα απαιτούν μόνο χαμηλό εύρος ζώνης για τη μεταφορά μικρών ποσοτήτων δεδομένων. Τα δίκτυα μπορούν να χειρίζονται μόνο περίπου 12 byte ανά μήνυμα και ταυτόχρονα όχι περισσότερα από 140 μηνύματα ανά συσκευή ανά ημέρα.
Για πολλές εφαρμογές IOT, τα παραδοσιακά συστήματα κινητής τηλεφωνίας είναι πολύ περίπλοκα για να επιτρέπουν τη λειτουργία πολύ χαμηλής ισχύος και πολύ δαπανηρά για να είναι εφικτά για πολλούς μικρούς κόμβους χαμηλού κόστους … Το δίκτυο και η τεχνολογία SIGFOX απευθύνονται σε μηχανήματα χαμηλού κόστους περιοχές εφαρμογής όπου απαιτείται κάλυψη ευρείας περιοχής.
Για το AirCitizen, η μορφή των δεδομένων που ανιχνεύονται είναι απλή και η ποσότητα των δεδομένων σωστή για χρήση του Sigfox για τη μετάφραση των δεδομένων που ανιχνεύονται από τους αισθητήρες στην πλατφόρμα IOT - ThingSpeak.
Θα εισαγάγουμε τη χρήση του Sigfox στα ακόλουθα βήματα.
Βήμα 4: Διαμόρφωση λογισμικού
Μετά την πραγματοποίηση του κυκλώματός μας, ας προχωρήσουμε στην ανάπτυξη του μικροελεγκτή μας STM32 F303K8.
Για μεγαλύτερη απλότητα, μπορείτε να επιλέξετε να προγραμματίσετε στο Arduino.
Βήμα 1: Εάν δεν έχετε εγκαταστήσει ακόμα το Arduino IDE, κάντε λήψη και εγκαταστήστε το από αυτόν τον σύνδεσμο. Βεβαιωθείτε ότι έχετε επιλέξει το σωστό λειτουργικό σύστημα.
Ο σύνδεσμος: Κατεβάστε το Arduino
Βήμα 2: Μετά την εγκατάσταση του Arduino IDE ανοίξτε και κατεβάστε τα απαιτούμενα πακέτα για τον πίνακα STM32. Αυτό μπορεί να γίνει επιλέγοντας Αρχείο -> Προτιμήσεις.
Βήμα 3: Κάνοντας κλικ στις Προτιμήσεις θα ανοίξει το παρακάτω παράθυρο διαλόγου που εμφανίζεται. Στο πλαίσιο κειμένου πρόσθετης διεύθυνσης διεύθυνσης πίνακα, επικολλήστε τον παρακάτω σύνδεσμο:
github.com/stm32duino/BoardManagerFiles/ra…
και πατήστε OK.
Βήμα 4: Τώρα μεταβείτε στο Εργαλείο -> Πίνακες -> Διαχειριστής πίνακα. Αυτό θα ανοίξει το παράθυρο διαλόγου Διαχειριστής πινάκων, θα αναζητήσει "Πυρήνες STM32" και θα εγκαταστήσει το πακέτο που εμφανίζεται (πακέτο STMicrolectronics).
Βήμα 5: Μετά το πακέτο, ολοκληρώνεται η εγκατάσταση. Μεταβείτε στα Εργαλεία και μετακινηθείτε προς τα κάτω για να βρείτε τη "σειρά Nucleo-32". Στη συνέχεια, βεβαιωθείτε ότι η παραλλαγή είναι "Nucleo F303K8" και αλλάξτε τη μέθοδο μεταφόρτωσης σε "STLink".
Βήμα 6: Τώρα, συνδέστε την πλακέτα σας με τον υπολογιστή και ελέγξτε σε ποια θύρα COM είναι συνδεδεμένη η πλακέτα χρησιμοποιώντας τη διαχείριση συσκευών. Στη συνέχεια, επιλέξτε τον ίδιο αριθμό θύρας στο Εργαλεία-> Θύρα.
Είστε τώρα έτοιμοι να προγραμματίσετε το STM32 F303K8 σας με Arduino!
Βήμα 5: Προγραμματίστε το STM32 σας
Μόλις ολοκληρωθεί η διαμόρφωση, πρέπει να προγραμματίσετε τον μικροελεγκτή σας για τη συλλογή και αποστολή δεδομένων.
Βήμα 1: Ελέγξτε την επίδραση της εισόδου/εξόδου και μετρά τη χρονική σήμανση στο τμήμα "Ορισμός" του κώδικα.
Βήμα 2: Ανεβάστε τον παραπάνω κώδικα στο stm32, ανοίξτε τη σειριακή οθόνη και επαναφέρετε τη συσκευή. Η εντολή "AT" θα εμφανιστεί στην οθόνη, αν όχι, ελέγξτε τη δήλωση εισόδου/εξόδου.
Μπορείτε να έχετε μια ιδέα για την ακρίβεια των δεδομένων σας συμβουλευόμενοι τα συνημμένα πρότυπα της γαλλικής νομοθεσίας.
Ας περάσουμε στη διαμόρφωση του ταμπλό.
Βήμα 6: ThingSpeak - 1
Πριν ρυθμίσετε τον τρόπο ανακατεύθυνσης δεδομένων από το σταθμό μας στην πλατφόρμα ThingSpeak, πρέπει να δημιουργήσετε έναν λογαριασμό ThingSpeak.
Εγγραφή: Ιστότοπος ThingSpeak
Βήμα 1: Τώρα κάντε κλικ στο "Νέο κανάλι". Αυτό θα ανοίξει μια φόρμα. Εισαγάγετε ένα όνομα και μια περιγραφή (εάν χρειάζεται).
Δημιουργία 5 πεδίων:
- Πεδίο 1: pm2, 5
- Πεδίο 2: pm10
- Πεδίο 3: θερμοκρασία
- Πεδίο 4: υγρασία
- Πεδίο 5: NO2
Αυτοί οι τίτλοι δεν θα είναι οι τίτλοι των γραφημάτων μας.
Εάν χρειάζεστε ένα παράδειγμα, δείτε την παραπάνω φωτογραφία.
Δεν χρειάζεται να συμπληρώσετε περισσότερα πεδία, αλλά θα μπορούσε να είναι ενδιαφέρον αν εισαγάγετε μια τοποθεσία.
Κάντε κύλιση προς τα κάτω και "Αποθήκευση καναλιού".
Βήμα 2: Κανάλι σταθμού AirCitizen.
Τώρα, μπορείτε να δείτε μια σελίδα με 5 γραφήματα. Κάνοντας κλικ στο σύμβολο μολυβιού μπορείτε να αλλάξετε τις ιδιότητες ενός γραφήματος.
Το αποτέλεσμα είναι η δεύτερη εικόνα παραπάνω.
Σε αυτό το βήμα, αυτά τα γραφήματα είναι ιδιωτικά. Θα μπορείτε να τα δημοσιοποιήσετε μόλις λάβετε τα δεδομένα.
Βήμα 3: Μετά τη διαμόρφωση των γραφημάτων σας. Μεταβείτε στην καρτέλα "Κλειδιά API". Δείτε το τμήμα αιτήματος API και πιο συγκεκριμένα το πρώτο πεδίο, "Ενημέρωση ροής καναλιού". Σημειώστε το κλειδί API.
Θα έχετε κάτι σαν αυτό:
ΛΗETΗ
Τώρα μπορείτε να μεταβείτε στο επόμενο κεφάλαιο.
Βήμα 7: Επικοινωνία μεταξύ της μονάδας Sigfox και της πλατφόρμας ThingSpeak
Για ενημέρωσή σας, σημειώστε ότι κάθε κάρτα μονάδας Sigfox έχει έναν μοναδικό αριθμό γραμμένο στην κάρτα και έναν αριθμό PAC.
Για να λάβετε τα δεδομένα στο ThingSpeak, θα πρέπει να τα ανακατευθύνετε.
Τα δεδομένα πηγαίνουν από το σταθμό στο backend του Sigfox και θα ανακατευθυνθούν στον διακομιστή ThingSpeak.
Δείτε την πρώτη εικόνα παραπάνω για εξηγήσεις.
Βήμα 1: Δεν θα εξηγήσουμε πώς να εγγραφείτε στο Sigfox λόγω πολλών σεμιναρίων στο διαδίκτυο.
Πηγαίνετε στο Sigfox Backend.
Κάντε κλικ στο "Τύπος συσκευής", στη συνέχεια κάντε κλικ στη γραμμή του κιτ σας και επιλέξτε "Επεξεργασία".
Τώρα, μεταβείτε στην ενότητα "Επιστροφές κλήσεων" και κάντε κλικ στο "Νέο", "Προσαρμοσμένη επανάκληση".
Βήμα 2:
Θα πρέπει να βρίσκεστε στη σελίδα διαμόρφωσης:
Τύπος: DATA και UPLINK
Κανάλι: URL
Αποστολή διπλότυπου: κανένα
Προσαρμοσμένη διαμόρφωση ωφέλιμου φορτίου: Ορίστε την προέλευση δεδομένων και αποφασίστε τη φόρμα δεδομένων. Θα πρέπει να γράψετε όπως:
VarName:: Τύπος: NumberOfBits
Σε αυτήν την περίπτωση, έχουμε 5 τιμές με το όνομα pm25, pm10, θερμοκρασία, υγρασία και NO2.
pm25:: int: 16 pm10:: int: 16 θερμοκρασία:: int: 8 υγρασία:: uint: 8 NO2:: uint: 8
Μοτίβο url: Αυτή είναι η σύνταξη. Χρησιμοποιήστε το κλειδί API που βρέθηκε προηγουμένως και τοποθετήστε το μετά το "api_key ="
api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXX&field1={customData#pm25}&field2={customData#pm10}&field3={customData#temperature}&field4={customData#hum}#
Χρησιμοποιήστε τη μέθοδο HTTP: GET
Αποστολή SNI: ON
Κεφαλίδες: Καμία
Κάντε κλικ τώρα στο "Ok".
Η κλήση σας στο ThingSpeak API έχει πλέον διαμορφωθεί! (Αναπαράσταση στη δεύτερη παραπάνω εικόνα).
Βήμα 8: ThingSpeak - 2
Τώρα, μπορείτε να είστε πιο επιλεκτικοί στην τροποποίηση των ελάχιστων και μέγιστων τιμών των αξόνων.
Εάν είναι απαραίτητο, κάντε κλικ στο λογότυπο μολυβιού επάνω δεξιά σε ένα γράφημα.
Τυπικές τιμές:
PM 2, 5 & PM 10 = ug/m^3
Θερμοκρασία = ° C
Υγρασία = %
Διοξείδιο του αζώτου = ppm
Θα πρέπει να έχετε κάτι σαν τις δύο παραπάνω εικόνες.
Μπορείτε επίσης να προσθέσετε κάποια άλλα γραφικά στοιχεία όπως "Αριθμητική οθόνη" ή "Gauge".
Τέλος, για να κάνετε το κανάλι σας δημόσιο, μεταβείτε στην καρτέλα "Κοινή χρήση" και επιλέξτε "Κοινή χρήση προβολής καναλιού με όλους".
Βήμα 9: Μπόνους - ThingTweet και React
Προαιρετικά: Tweet αν πληρούται μια προϋπόθεση!
Βήμα 1: Δημιουργήστε έναν λογαριασμό στο twitter ή χρησιμοποιήστε τον προσωπικό σας λογαριασμό στο twitter.
Εγγραφή - Twitter
Βήμα 2: Στο Thingspeak, μεταβείτε στις "Εφαρμογές" και, στη συνέχεια, κάντε κλικ στο "ThingTweet".
Συνδέστε τον λογαριασμό σας στο twitter κάνοντας κλικ στο "Σύνδεση λογαριασμού Twitter".
Βήμα 3: Τώρα, επιστρέψτε στις "Εφαρμογές" και κάντε κλικ στο "Αντιδρά".
Δημιουργήστε ένα νέο React κάνοντας κλικ στο "New React".
Με παράδειγμα:
Όνομα Αντίδρασης: Θερμοκρασία πάνω από 15 ° C
Τύπος συνθήκης: Αριθμητική
Συχνότητα δοκιμής: Εισαγωγή δεδομένων
Κατάσταση, εάν το κανάλι:
Πεδίο: 3 (θερμοκρασία)
Σημάδι: είναι μεγαλύτερο από
Αξία: 15
Δράση: ThingTweet
Τότε tweet: Ω! Η θερμοκρασία είναι μεγαλύτερη από 15 ° C
χρησιμοποιώντας λογαριασμό Twitter:
Επιλογές: Εκτέλεση ενέργειας κάθε φορά που πληρούται η προϋπόθεση
Στη συνέχεια, κάντε κλικ στο "Save React".
Τώρα θα κάνετε tweet εάν πληρείται η προϋπόθεση και μπορούν να διαμορφωθούν πολλές άλλες προϋποθέσεις, ανάλογα με το επίπεδο PM10.
Βήμα 10: Είναι η σειρά σας τώρα
Τέλος, έχετε πλέον όλα τα στοιχεία για να αναπαράγετε τον δικό σας Σταθμό AirCitizen!
Βίντεο: Μπορείτε να παρακολουθήσετε ένα βίντεο όπου παρουσιάζουμε τη δουλειά μας.
Η πλατφόρμα μας ThingSpeak: AirCitizenPolytech Station
--
Σας ευχαριστώ για την προσοχή σας !
Η ομάδα AirCitizen Polytech
Βήμα 11: Αναφορά & Βιβλιογραφία
https://www.sigfox.com/el
Συνιστάται:
Μετρητής ποιότητας εσωτερικού αέρα: 5 βήματα (με εικόνες)
Μετρητής ποιότητας εσωτερικού αέρα: Απλό έργο για τον έλεγχο της ποιότητας του αέρα στο σπίτι σας. Δεδομένου ότι μένουμε/δουλεύουμε πολύ από το σπίτι τελευταία, ίσως είναι καλή ιδέα να παρακολουθούμε την ποιότητα του αέρα και να υπενθυμίζουμε στον εαυτό μας πότε είναι ώρα να ανοίξουμε το παράθυρο και πάρε λίγο καθαρό αέρα
PurpleAir Ένδειξη ποιότητας ποιότητας αέρα αέρα: 4 βήματα
PurpleAir Air Quality Status LED Display: Με τις πρόσφατες πυρκαγιές στην Καλιφόρνια η ποιότητα του αέρα στο Σαν Φρανσίσκο έχει επηρεαστεί πολύ. Βρεθήκαμε να ελέγχουμε τον χάρτη PurpleAir ξανά και ξανά στα τηλέφωνα ή τους φορητούς υπολογιστές μας προσπαθώντας να δούμε πότε ο αέρας ήταν αρκετά ασφαλής για να ανοίξει τη νίκη
AEROBOT Αισθητήρας ποιότητας αέρα V1.0: 6 βήματα (με εικόνες)
AEROBOT Αισθητήρας Ποιότητας Αέρα V1.0: Αυτό το διδακτικό είναι να φτιάξετε έναν φθηνό και υψηλής ακρίβειας αισθητήρα ποιότητας αέρα που ονομάζεται AEROBOT. Αυτό το έργο δείχνει θερμοκρασία, σχετική υγρασία, πυκνότητα σκόνης PM 2.5 και ειδοποιήσεις σχετικά με την ποιότητα του αέρα του περιβάλλοντος χώρου. Χρησιμοποιεί μια αίσθηση DHT11
Σύστημα παρακολούθησης της ποιότητας του αέρα για ρύπανση σωματιδίων: 4 βήματα
Σύστημα παρακολούθησης της ποιότητας του αέρα για ρύπανση σωματιδίων: ΕΙΣΑΓΩΓΗ: 1 Σε αυτό το έργο παρουσιάζω τον τρόπο κατασκευής ενός ανιχνευτή σωματιδίων με οθόνη δεδομένων, δημιουργία αντιγράφων ασφαλείας δεδομένων σε κάρτα SD και IOT. Οπτικά μια οθόνη δακτυλίου neopixels δείχνει την ποιότητα του αέρα. 2 Η ποιότητα του αέρα είναι όλο και πιο σημαντική ανησυχία
Μετατροπή USB του Joystick της δεκαετίας του 1980: 7 βήματα (με εικόνες)
Μετατροπή USB του Joystick της δεκαετίας του 1980: Αυτό το πρωτότυπο Cheetah 125 Joystick από τη δεκαετία του 1980 είχε μια αγαπημένη μετατροπή με λαμπρούς νέους μικροδιακόπτες, κουμπιά arcade και έναν πίνακα χειριστηρίου Pimoroni Player X. Τώρα διαθέτει τέσσερις ανεξάρτητες " φωτιά " κουμπιά και συνδέεται μέσω USB, έτοιμο για