|
Sensor Cooper V3.2 - medialab_ lpwan: Lora Ultraschallsensor zur Messung von San Miguels Creek -Wasserspiegel
Angetrieben von
Zu Ehren von Martin Cooper, Princesa de Asturias Award 2009 und Arlene Harris und ihrer Vision von IOP, dem Internet der Menschen, in medialab_ lpwan wollten wir ein IoT -Gerät entwickeln, das die Qualität der Polytechnic School of Engineering von Gijón verbessern könnte. Infolgedessen kam die Idee des Cooper -Sensors als Lora -Gerät, das mit dem Dings -Netzwerk synchronisierbar war und das den Wasserspiegel von San Miguels Creek messen konnte, ohne dass Mantainance erforderlich war.

Mit diesen Sensoren ist es das Ziel, die Möglichkeit einer Überschwemmung im Hauptgebäude während der Saison mit schwerem Regen zu überwachen. Insbesondere im Jahr 2018 fand eine große Flut statt, die viele teure Geräte aus den unteren Etagen verwendete, die von den Schülern während der Laborpraktiken vieler Subjetcs verwendet wurden:



In diesem Repo finden Sie alle Dateien und Lehrführer, die erforderlich sind, um die kreative Freiheit vollständig zu verstehen und sogar zu nehmen, um dieses Projekt zu verbessern. Ordner und Dateien haben einen selbsterklärenden Namen erhalten, um die Navigation zu stärker zu gestalten.
Hauptmerkmale ↩️
Entwickelt mit Lilygo Lora32 OLED V2.1_1.6 (ESP32-Basis mit integrierten LORA-Funktionen, die Solaraufladung und Batterieverwaltung unterstützen)

Änderungen für JSN-SR04T (Ultraschallabstandssensor)

Warnung
Dieser Sensor ist äußerst empfindlich gegenüber physikalischen Störungen. Stellen Sie sicher
Implementierung der dynamischen Datenübertragungsrate: Senden Sie das Intervall dynamisch ihren Wert zwischen 20 und 40 Minuten, abhängig von der typischen Abweichung von den neuesten 5 Entfernungen, die an das Things Network gesendet wurden (von OTAA; Datei payload_formatter.json ist ein Vorschlag, wie die gesendeten Bytes dekodiert werden können)

Benutzerdefinierte PCB

Tipp
Erwägen Sie, weibliche Stiftanschlüsse zu lötet, damit die elektronischen Komponenten einfach angeschlossen und ausgeschlossen werden können, wenn eine Reparatur durchgeführt werden muss
Benutzerdefiniertes Gehäuse für alle Elemente auf effizienteste Weise (Container + Solar -Panel -Halter + USB -Beschützer)



Assembly -Beispiel:

Warnung
Es wird empfohlen, die Sonnenstrahlung und plastische Deformationen zu überleben. Ein O-Ring ist auch eine gute Wahl, um den Sensor in der Glocke zu reparieren und zu stabilisieren. Zum Befestigen der Baugruppe werden vier M3 -Schrauben benötigt
Die folgende Liste zählt alle Aufgaben auf, die am Forschungsprozess dieses Projekts beteiligt sind und ob sie streng abgeschlossen sind:
- Some pins are conflictive due to poor manufacturer documentation, so testing is still being
- carried out Vollständiges Verständnis des Sensorarbeitsmodus und alternativen Modi
Implementierung des Sensorcode
Implementierung von Lora -Code
Implementierung mit geringer Leistung Code
Hardware -Komponenten mit geringer Leistung
- A transistor is being tried to be implemented so the sensor can be powered-on from the
- board's 5V pin and powered-off when going to deep slee, but it is getting tricky 
Elektrischer Schema mit dem Transistor
- As low power hardware has not been fully implemented, PCB has to wait Gehäuse 3D -Modellierung
Datenvisualisierungs -App
Komponentenliste ↩️
| Komponente | Modell |
|---|---|
| Dev -Modul | Lilygo Lora32 OLED v2.1_1.6 |
| Entfernungssensor | JSN-SR04T |
| N-Kanal-Mosfet | IRF540N |
| Widerstand | 2K2 |
| Batterie | 18650 |
| Solarpanel | SYP-S0606 |
| PCB | Benutzerdefinierte (Datei enthalten) |
| Gehäuse | Benutzerdefinierte (Datei enthalten) |
Verbindungsliste ↩️
| JSN-SR04T | Transistor | Widerstand | 18650 Schild | SYP-S0606 | Lilygo |
|---|---|---|---|---|---|
trigger | - - | - - | - - | - - | 13 |
echo | - - | - - | - - | - - | 12 |
5v | S | - - | - - | - - | - - |
GND | - - | indifferent | - - | - - | GND |
| - - | G | indifferent | - - | - - | 15 |
| - - | D | - - | - - | - - | 5V |
| - - | - - | - - | USB-In | USB-Out | - - |
| - - | - - | - - | USB-Out | - - | USB-In |
Skizziert es sieht auf den folgenden Weg aus:

Vorsicht
Das in der obige Skizze verwendete Board -Modell ist ein TTGO T3 V1.3, aber die PIN -Nummern entsprechen denen auf der v2.1_1.6
Flowdiagramm (vereinfacht!) ↩️
Graph TD;
A [Einschalten] -> | 1 | B (wach in tiefen Schlaf auf)
B -> | 2 | C (Messung von Abstand und Batterie)
C -> | 3 | D (Bytes an TTN senden)
D -> | 4 | E (Zeitdatenübertragungsrate)
E -> | 5 | F (Gehen Sie in den tiefen Schlaf)
F -> | 6 | B
In diesem Abschnitt wird eine kurze Beschreibung darüber, wie der Code zwischen Dateien in medialablpwan/lorawaterlevelmonitoring/main/ verteilt wird, wo der Code verfügbar und bereit ist, um zu blinken oder zu bearbeiten, angegeben:
main.ino /*
Definition of global functions
Variables to be stored in the RTC memory
'setup()' and 'loop()' functions
*/sensor.ino /*
Functions and variables needed to make a sensor work
*/ddc.ino /*
Functions and variables for the implementation of the dynamic data transfer rate
*/sleep.ino /*
Functions to activate ESP32's deep sleep mode
*/ttn.ino /*
Functions from LMIC library
*/configuration.h /*
Sensor macros and boolean toggles
*/credentials.h /*
OTAA keys for TTN synchronization
*/lmic_project_config.h /*
LoRa frequency band and radio chip selector
*/Eine eingehendere Analyse wird im Code selbst angegeben, wenn die Kommentare erläutern, was jede Funktion tut.
Tipp
Die wichtigsten Dateien, die zu bearbeiten sind, sind sensor.ino , wo ein Sensor implementiert werden kann, und configuration.h , wo die Makros der Peripheriegeräte deklariert werden
Vorsicht
Bei der Implementierung von I2C -E/A ist möglicherweise ein zusätzlicher Code erforderlich. Die Funktionen TTGO-PAXCOUNTER-LoRa32-V2.1-TTN/main/main.ino die sie zum Laufen bringen
Lilygo Board Library (Fügen Sie den Link auf der Registerkarte Preferences ein und wählen Sie TTGO LoRa32 OLED als Board in Arduino IDE): https://github.com/xinyuan-lilygo/lilygo-lora-series/blob/master/boards/t3_s3_v1_x.json
LMIC (Kopieren Sie den Inhalt der Projektdatei main/lmic_project_config.h in die Bibliotheksdatei arduino-lmic/project_config/lmic_project_config.h und die richtige Frequenz für Ihre Region. Die Skizze schaut sich immer in der Bibliotheksordnerin für die konfigurierte Region!): Https:/Githuub.com/mci-cata./Arthau./MCICICISHAUS: HTTPS.
QuickMedianLib (um mehr Festkörperentfernungswerte zu erhalten): https://github.com/luisllamasbinaburo/arduino-quickmedian
ESP Sleep (um den Batterieverbrauch zu verringern): https://github.com/pycom/pycom-spesp-idf/blob/master/components/esp32/include/esp_sleep.h
Notiz
Andere Bibliotheken wie die SPI -Bibliothek können leicht von Arduino IDE heruntergeladen werden
Bereitstellungsexperiment ↩️
Die erste Einheit wurde in der Nähe der Polytechnic School of Engineering von Gijón eingesetzt:



http://4f566df1fed52c6e7fd5f661f64ae3eb.balena-devices.com:8080/d/vjhqnczgz/sensores-jsn-sr04t-arroyo-de-miguel?rrom=now-24h-24H-24H-24H-24H-24H-24H-24H
Lizenz ↩️
Dieses Projekt ist unter der GPL-3.0-Lizenz lizenziert. Enthält Code von rwanrooy/ttgo-paxcounter-lora32-v2.1-ttn
Kontakt ↩️
Wichtig
Wir werden freundlicherweise Zweifel beantworten und Vorschläge lesen:
Weitere Informationen zu unseren Aktivitäten:
Autoren: Daniel Rodríguez Moya, Óscar Gijón, Ramón Rubio und Medialab_ Lpwan Arbeitsgruppe
Anweisungen zum Bereitstellen von Grafana -Panels finden Sie im Repo medialablpwan/documentacion . ↩