Inhaltsverzeichnis:
- Lieferungen
- Schritt 1:
- Schritt 2: Kennenlernen von SEMTECH SX1272
- Schritt 3: 3D-Druck eines Gehäuses
Video: Kanalisationsweg: 3 Schritte
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Der derzeitige Prozess der Kanalreinigung ist eher reaktiv als proaktiv. Bei verstopften Abwasserleitungen in einem Gebiet werden Telefonanrufe registriert. Darüber hinaus ist es für manuelle Scavenger schwierig, den Fehlerpunkt auf Null zu setzen. Sie führen den Reinigungsprozess in mehreren Schächten im betroffenen Bereich nach dem Hit-and-Trial-Verfahren durch, was viel Zeit verschwendet. Außerdem führt die hohe Konzentration der giftigen Gase zu Reizbarkeit, Kopfschmerzen, Müdigkeit, Nasennebenhöhlenentzündungen, Bronchitis, Lungenentzündung, Appetitlosigkeit, Gedächtnisschwäche und Schwindel.
Die Lösung besteht darin, einen Prototyp zu entwerfen, bei dem es sich um ein kleines Gerät mit dem Formfaktor eines Stifts handelt, das in den Deckel eines Mannlochs eingebettet wird. Der untere Teil des Geräts, der bei geschlossenem Deckel dem Inneren des Schachtes ausgesetzt ist, besteht aus Sensoren, die den Wasserstand im Kanal und die Konzentration von Gasen wie Methan, Kohlenmonoxid, Kohlendioxid und Stickoxiden erfassen. Die Daten werden an eine Masterstation gesammelt, die mit diesen an jedem Schacht installierten Geräten über LoRaWAN kommuniziert und die Daten an einen Cloud-Server sendet, der ein Dashboard zu Überwachungszwecken hostet. Außerdem wird damit die Lücke zwischen den für die Kanalunterhaltung und die Müllabfuhr zuständigen kommunalen Behörden geschlossen. Die Installation dieser Geräte in der ganzen Stadt ermöglicht eine präventive Lösung, um den Standort verstopfter Abwasserleitungen zu identifizieren und zu lokalisieren, bevor das Abwasser die Oberfläche erreicht.
Lieferungen
1. Ultraschallsensor - HC-SR04
2. Gassensor - MQ-4
3. LoRa-Gateway - Raspberry Pi 3
4. LoRa-Modul - Semtech SX1272
5. NodeMCU
6. Summermodul
7. 500mAh, 3,7V Li-Ion-Akku
Schritt 1:
Für den ersten Prototyp habe ich einen Tic-Tac (Schachtel mit frischen Minzen) als Gehäuse verwendet. Die Anbringung von Ultraschallsensoren erfolgte so, dass Tx und Rx auf die Kanalisation ausgerichtet sind. Der Anschluss an den Ultraschallsensor und den Gassensor ist denkbar einfach. Sie müssen nur die einzelnen Sensoren mit Strom versorgen und einen der 8 digitalen Pins verwenden, die in der NodeMCU zum Lesen von Daten verfügbar sind. Ich habe die Verbindungen zum besseren Verständnis gezogen.
Schritt 2: Kennenlernen von SEMTECH SX1272
Unser nächster Schritt wäre die Installation der Bibliotheken auf unserer NodeMCU.
Die Bibliotheken zum Semtech LoRa-Modul finden Sie unter diesem Link:
So installieren Sie diese Bibliothek:
- Installieren Sie es mit dem Arduino Library Manager ("Sketch" -> "Include Library" -> "Manage Libraries…"), oder
- Laden Sie eine ZIP-Datei von github mit der Schaltfläche "ZIP herunterladen" herunter und installieren Sie sie mit der IDE ("Skizze" -> "Bibliothek einschließen" -> "ZIP-Bibliothek hinzufügen …"
- Klonen Sie dieses Git-Repository in Ihren Sketchbook/Libraries-Ordner.
Damit diese Bibliothek funktioniert, sollte Ihr Arduino (oder ein beliebiges Arduino-kompatibles Board, das Sie verwenden) mit dem Transceiver verbunden sein. Die genauen Verbindungen hängen ein wenig von der verwendeten Transceiver-Platine und dem verwendeten Arduino ab, daher versucht dieser Abschnitt zu erklären, wozu jede Verbindung dient und in welchen Fällen sie (nicht) erforderlich ist.
Beachten Sie, dass das SX1272-Modul mit 3,3 V läuft und wahrscheinlich keine 5 V an seinen Pins mag (obwohl das Datenblatt nichts darüber sagt und mein Transceiver offensichtlich nicht kaputt ging, nachdem er einige Stunden versehentlich 5 V I / O verwendet hatte). Um sicher zu gehen, verwenden Sie unbedingt einen Pegelumsetzer oder einen Arduino mit 3,3 V. Das Evaluierungsboard von Semtech hat 100 Ohm Widerstände in Reihe mit allen Datenleitungen, die Schäden verhindern könnten, aber damit würde ich nicht rechnen.
Die Transceiver SX127x benötigen eine Versorgungsspannung zwischen 1,8V und 3,9V. Die Verwendung einer 3,3-V-Versorgung ist typisch. Einige Module haben einen einzelnen Power-Pin (wie die HopeRF-Module mit der Bezeichnung 3.3V), aber andere bieten mehrere Power-Pins für verschiedene Teile (wie das Semtech Evaluation Board mit VDD_RF, VDD_ANA und VDD_FEM), die alle miteinander verbunden werden können. Alle GND-Pins müssen mit den Arduino-GND-Pins verbunden werden.
Die Kommunikation mit dem Transceiver erfolgt hauptsächlich über SPI (Serial Peripheral Interface). Dies verwendet vier Pins: MOSI, MISO, SCK und SS. Die ersten drei müssen direkt verbunden werden: also MOSI an MOSI, MISO an MISO, SCK an SCK. Wo sich diese Pins auf Ihrem Arduino befinden, ist unterschiedlich, siehe zum Beispiel den Abschnitt "Verbindungen" der Arduino SPI-Dokumentation. Die SS-Verbindung (Slave-Select) ist etwas flexibler. Auf der SPI-Slave-Seite (dem Transceiver) muss dieser mit dem Pin (typischerweise) mit der Bezeichnung NSS verbunden werden. Auf der Seite des SPI-Masters (Arduino) kann dieser Pin mit jedem I/O-Pin verbunden werden. Die meisten Arduinos haben auch einen Pin mit der Bezeichnung "SS", dies ist jedoch nur relevant, wenn der Arduino als SPI-Slave arbeitet, was hier nicht der Fall ist. Welchen Pin Sie auch immer auswählen, Sie müssen der Bibliothek über die Pinzuordnung (siehe unten) mitteilen, welchen Pin Sie verwendet haben.
Die DIO-Pins (Digital I/O) auf der Transceiver-Platine können für verschiedene Funktionen konfiguriert werden. Die LMIC-Bibliothek verwendet sie, um sofortige Statusinformationen vom Transceiver zu erhalten. Wenn beispielsweise eine LoRa-Übertragung beginnt, wird der DIO0-Pin als TxDone-Ausgang konfiguriert. Wenn die Übertragung abgeschlossen ist, wird der DIO0-Pin vom Transceiver auf High gesetzt, was von der LMIC-Bibliothek erkannt werden kann. Die LMIC-Bibliothek benötigt nur Zugriff auf DIO0, DIO1 und DIO2, die anderen DIOx-Pins können getrennt bleiben. Auf der Arduino-Seite können sie mit jedem I/O-Pin verbunden werden, da die aktuelle Implementierung keine Interrupts oder andere spezielle Hardware-Features verwendet (obwohl dies in der Funktion hinzugefügt werden könnte, siehe auch den Abschnitt "Timing").
Im LoRa-Modus werden die DIO-Pins wie folgt verwendet:
- DIO0: TxDone und RxDone
- DIO1: RxTimeoutIn
FSK-Modus werden sie wie folgt verwendet::
- DIO0: PayloadReady und PacketSent
- DIO2: TimeOut
Beide Modi benötigen nur 2 Pins, aber der Transceiver erlaubt es nicht, sie so zuzuordnen, dass alle benötigten Interrupts auf dieselben 2 Pins abgebildet werden. Wenn also sowohl der LoRa- als auch der FSK-Modus verwendet werden, müssen alle drei Pins verbunden werden. Die auf der Arduino-Seite verwendeten Pins sollten im Pin-Mapping in Ihrer Skizze konfiguriert werden (siehe unten). Reset Der Transceiver verfügt über einen Reset-Pin, mit dem er explizit zurückgesetzt werden kann. Die LMIC-Bibliothek verwendet dies, um sicherzustellen, dass sich der Chip beim Start in einem konsistenten Zustand befindet. In der Praxis kann dieser Pin getrennt bleiben, da sich der Transceiver beim Einschalten bereits in einem gesunden Zustand befindet, aber das Anschließen kann in einigen Fällen Probleme vermeiden. Auf der Arduino-Seite kann jeder I/O-Pin verwendet werden. Die verwendete Pin-Nummer muss im Pin-Mapping konfiguriert werden (siehe unten).
Der Transceiver enthält zwei separate Antennenanschlüsse: einen für RX und einen für TX. Eine typische Transceiver-Platine enthält einen Antennenschaltchip, der das Umschalten einer einzelnen Antenne zwischen diesen RX- und TX-Anschlüssen ermöglicht. Einem solchen Antennenumschalter kann normalerweise über einen Eingangspin, der oft mit RXTX beschriftet ist, mitgeteilt werden, welche Position er einnehmen soll. Die einfachste Möglichkeit, den Antennenschalter zu steuern, besteht darin, den RXTX-Pin am SX127x-Transceiver zu verwenden. Dieser Pin wird während des TX automatisch auf High und während des RX auf Low gesetzt. Zum Beispiel scheinen die HopeRF-Boards diese Verbindung zu haben, so dass sie keine RXTX-Pins freilegen und der Pin im Pin-Mapping als unbenutzt markiert werden kann. Einige Boards legen den Antennenumschalter-Pin frei und manchmal auch den SX127x RXTX-Pin. Das Evaluationsboard SX1272 ruft beispielsweise das erstere FEM_CTX und das letztere RXTX auf. Auch hier ist es die einfachste Lösung, diese einfach mit einem Überbrückungsdraht zu verbinden. Alternativ oder wenn der SX127x RXTX-Pin nicht verfügbar ist, kann LMIC so konfiguriert werden, dass er den Antennenschalter steuert. Verbinden Sie den Steuerpin des Antennenschalters (z. B. FEM_CTX auf der Semtech-Evaluierungsplatine) mit einem beliebigen I/O-Pin auf der Arduino-Seite und konfigurieren Sie den in der Pinbelegung verwendeten Pin (siehe unten). Es ist jedoch nicht ganz klar, warum der Transceiver die Antenne nicht direkt steuern möchte.
Schritt 3: 3D-Druck eines Gehäuses
Als ich alles betriebsbereit hatte, beschloss ich, ein Gehäuse für das Modul in 3D zu drucken, um ein besser aussehendes Design zu erzielen.
Mit dem fertigen Produkt in der Hand war die Installation im Schacht und das Erhalten von Echtzeitergebnissen auf einem Armaturenbrett einfach. Die Echtzeit-Gaskonzentrationswerte mit der Wasserstandsanzeige ermöglichten den Behörden einen proaktiven Ansatz und eine sicherere Lösung des Problems.
Empfohlen:
Erste Schritte mit Amara: 7 Schritte
Erste Schritte mit Amara: Amara ist ein kostenloser Untertitel-Editor, mit dem Sie ganz einfach Untertitel zu Videos hinzufügen können – vom Unterricht bis zum persönlichen Gebrauch. Diese Anweisungen helfen Ihnen, ein Amara-Konto einzurichten, damit Sie schnell und einfach Untertitel hinzufügen können
Erste Schritte mit der Heimautomatisierung: Home Assistant installieren: 3 Schritte
Erste Schritte mit der Hausautomation: Home Assistant installieren: Wir starten jetzt die Hausautomationsserie, in der wir ein Smart Home erstellen, das es uns ermöglicht, Dinge wie Licht, Lautsprecher, Sensoren usw. über einen zentralen Hub zusammen mit einem Sprachassistent. In diesem Beitrag erfahren Sie, wie Sie in
Erste Schritte mit dem SkiiiD-Editor: 11 Schritte
Erste Schritte mit dem SkiiiD-Editor: skiiiD-Editor, Entwicklungsboard-Firmware IDEskiiiD-Editor basiert auf skiiiD (Firmware Development Engine). Jetzt ist es mit Arduino UNO, MEGA und NANO mit 70+ Komponenten kompatibel.BetriebssystemmacOS / WindowsInstallierenBesuchen Sie die Website https:
Erste Schritte mit Python: 7 Schritte (mit Bildern)
Erste Schritte mit Python: Programmieren ist großartig! Es ist kreativ, macht Spaß und gibt Ihrem Gehirn ein mentales Training. Viele von uns wollen etwas über Programmieren lernen, aber überzeugen sich selbst davon, dass wir es nicht können. Vielleicht hat es zu viel Mathematik, vielleicht der Jargon, der erschreckend herumgeworfen wird
Raspbian in Raspberry Pi 3 B ohne HDMI installieren - Erste Schritte mit Raspberry Pi 3B - Einrichten Ihres Raspberry Pi 3: 6 Schritte
Raspbian in Raspberry Pi 3 B ohne HDMI installieren | Erste Schritte mit Raspberry Pi 3B | Einrichten Ihres Raspberry Pi 3: Wie einige von Ihnen wissen, sind Raspberry Pi-Computer ziemlich großartig und Sie können den gesamten Computer nur auf einer einzigen winzigen Platine bekommen. Das Raspberry Pi 3 Model B verfügt über einen Quad-Core 64-Bit ARM Cortex A53 mit 1,2 GHz getaktet. Damit ist der Pi 3 ungefähr 50