Compost Sensor

7 Schritt:Schritt 1: Der Sensorknoten Schritt 2: Erstellen der Reciever Schritt 3: Online-Datenbank Schritt 4: Cellular: Part 1 Schritt 5: Cellular: Schritt 2 Schritt 6: Letzte Schritte Schritt 7: Epilogue

Compost Sensor

Einführung


Dies ist eine Anleitung für den Bau eines Kompost Temperatur-Überwachungssystem. Es beschreibt, wie man eine Web-Verbindung drahtloses Sensornetzwerk aufbauen und zeigt eine mögliche Art, wie es gebaut werden konnte.

Ein mittleres Niveau der Kenntnisse und Fähigkeiten erforderlich sind. Grundkenntnisse der Löt- und Versuchsaufbau sehr nützlich sein wird. Ich gehe davon aus, dass Sie genügend Arduino Code kennen, um zu verstehen, was eine Funktion ist, wie eine Bibliothek ist nützlich, und warum die serielle Kommunikation ist wichtig. Und Sie brauchen, um genug Elektronik zu verstehen, was ich meine, mit Begriffen wie Spannung, Strom, Widerstand, etc. Ein (sehr) grundlegende Kenntnisse, wie Radioarbeiten wäre auch nützlich für das Verständnis der Konzepte, aber nicht notwendig für folgende zusammen sein wissen. Dies ist nicht mit allen Mitteln voran und ich werde versuchen, immer Referenzmaterialien, die diese Begriffe näher zu decken.

Dieses Tutorial ist nicht über den Aufbau einer endgültigen poliert Produkt. Ich gehe davon aus, dass Sie durch einige grundlegende Herstellungsfähigkeiten begleitet werden und sind in der Lage, wenn Sie einige der Problemlösung in diesem Bereich. Ich will ein Beispiel für mein Projekt am Ende zu zeigen, aber ich werde nicht ausführlich über Gehäuse-Design oder Fertigung sprechen. Dies wird lediglich über den Code und Elektronik sein, aufstehen und laufen mit den verschiedenen Kommunikationsarten, Sensoren und Datenspeicher. Davon abgesehen, bis zum Ende dieses Tutorials haben Sie einen Web-Sensornetzwerk verbunden ist die Arbeit an Ihrem Steckbrett. Um es in ein Gehäuse wird einfach nach, dass sein.

Warum messen Sie die Temperatur der Kompost?


"Die Kompostierung ist der biologische Abbau organischer Stoffe unter aeroben Bedingungen." Mikroorganismen verbrauchen organisches Material und Sauerstoff und erzeugen Wärme als Abfallprodukt. Durch Messung dieser Wärme können Sie Zersetzungsrate, Sauerstoffgehalt (lose) und die allgemeine Gesundheit und die Effizienz Ihrer Kompostierungsbetrieb vorherzusagen. Es hilft, um vorherzusagen, wenn der Stapel muss eingeschaltet, um mehr Sauerstoff einzuführen, wenn der Stapel mit seinen heißen Kochzyklus beendet ist, und wenn Sie effektiv keine Krankheitserreger oder Unkrautsamen, die in den Ausgangsmaterialien vorhanden sein könnten getötet. Monitoring ist ein wichtiger Aspekt, um die Rationalisierung und die Schaffung eines stabilen Prozess und Workflow, um eine vorhersagbare und konsistente Ergebnisse durch jeden Koch bekommen, die Verbesserung der Gesamteffizienz im Betrieb.

Technologies


Dieses Projekt verwendet Kurzstreckenfunk und Mobilkommunikation, um Sensordaten von einzelnen Sonden in den Kompost zu einer Online-Datenbank. Die Hardware wird auf der Arduino-Plattform mit Hilfe der drahtlosen Moteino Platten eingebaut werden. Wir werden mit Thermistoren für unsere Temperaturfühler, einem Adafruit FONA zelluläre Modul für unsere zellulären Kommunikation und der Sparkfun Data Service für unsere Online-Datenbank.

Liste der Einzelteile


Hinweis: Sie erhalten eine brauchen ftdi Bord , um Code auf die Moteino hochzuladen.

Sensorknoten (pro Knoten):

Moteino w / RFM69HW Sie sollten die Moteino w / der RFM69HW und die Seitenkopfzeilen erhalten 9V-Batterie w / Stecker Thermistor . Diese adafruit Produkt mit der richtigen 10k Widerstand Breadboard gepaart

Cellular-Gateway

Moteino w / RFM69HW Dies sollte das gleiche Teil, wie die Sensorknoten sein. FONA GSM Vorstands Sie müssen auch eine Antenne, je nachdem, welche Art von FONA Bord erhalten, wird funktionieren. Ich mag die flache Antennen. So stellen Sie sicher, dass die Antenne erhalten Sie den Anschluss auf der FONA Sie einstimmt. Lithium-Ionen-Akku Dies kann eine große oder kleine Batterie, je nach Ihrem Design. Auch könnte eine Überlegung wert Solarladung. Photovoltaikanlagen macht nette Sachen. Ich eines ihrer Produkte verwendet in meinem System. SIM-Karte Die SIM-Karte ist an Ihnen, Adafruit hat eine nette Diskussion über dieses Thema . Ich habe mit H20 Wireless- Prepaid-Plan in den USA und es ist großartig gearbeitet. Jeder GSM-SIM-Karte sollte, solange es Daten über sie vorhanden hat zu arbeiten. Brotbrett

Ressourcen


Schauen Sie sich auf diese vor dem Start ab.
Adafruit Thermistor Moteino RFM69 Bibliothek jeelib Sleepy Bibliothek Adafruit FONA Dokumentation zu Basics Moteino Alles über FTDI

Schritt 1: Der Sensorknoten

  1. Compost Sensor

    Compost Sensor

    Compost Sensor

    Compost Sensor

    Compost Sensor

    Der Aufbau der Sensorknoten


    Wir werden dieses Projekt durch den Bau unserer Sensorknoten beginnen. Wir werden zusammen den Temperatursensor an erster Stelle, und dann, sobald wir das getestet und es funktioniert werden wir die drahtlose Kommunikation zu integrieren. Der erste Schritt ist, um sicherzustellen, dass Sie die alle Bibliotheken installiert haben.
    Die beiden müssen Sie sind hier:
    RFM69 Bibliothek jeelib Sleepy Bibliothek
    Installieren Sie diese und stellen Sie sicher, Sie haben ein FTDI-Adapter und die Treiber korrekt installiert sind.
    Lesen Sie dies über FTDI
    Sobald dies geschehen ist, sollten Sie diese Kurzanleitung zu dem Moteino lesen, gibt es einige hilfreiche Informationen gibt.
    Go lesen Sie aufstehen und laufen mit dem Moteino
    Die Header-Stifte Sobald dies geschehen ist, löten auf die Moteino Bord, denn wir werden ihn direkt Einstecken in eine Steckbrett und schneiden Sie ein Stück Draht in 6,83 (743mm) lang, um als unsere Antenne. Löten Sie es an die Antenne Loch auf der Moteino. Sehen Sie die Bilder auf dieser Seite und der Moteino Website als Referenz. Sobald diese gelötet und Sie erfolgreich mit dem Moteino Schnittstelle (versuchen Sie das Hochladen der Blink-Skizze mit dem LED-Pin auf 9), stecken Sie es in dem Steckbrett, schließen Sie den Strom und Masse mit dem Steckbrett Busse und wir Erkundung beginnen.

    Sensing

    Beziehen Sie bitte Absender-temp.ino-Datei, die für diesen Teil der Code


    Für den Temperatursensor, verwenden wir ein Thermistor ist. Es ist eine einfache, kostengünstige und relativ genau Stück Festkörperhardware. Wir werden sein Festhalten dieses Sensors in einer heißen, feuchten, und ziemlich ätzenden Umwelt so ist es wichtig, dass es in der Lage, diese Umweltfaktoren zu widerstehen.
    Der Sensor verwenden wir ein 10kOhm Epoxy versiegelt Thermistor von Adafruit, die sie haben ausgezeichnete Dokumentation . Der Code Ich verwende eine leicht modifizierte Version des ihrigen. Es gibt keinen Punkt in neu zu erfinden das Rad, so wenden Sie sich bitte über ihre Dokumentation zu lesen neben dieser Anleitung für weitere Informationen zu diesem Sensor.
    Die Hookup ist super einfach, finden Sie in der schematischen und Bilder zu dieser Seite aufgeführten. Wir werden mit Analogeingang 0.
    Der Code selbst besteht hauptsächlich aus Mathematik, die Sie brauchen nicht zu befürchten. Die Mathematik Teil wird in seine eigene Funktion abgesperrt, denn es ist besser, nicht um es zu betrachten. Der Code nimmt 5 Messwerte aus der Analogeingang über eine kurze Zeitdauer und mittelt sie, um eine stabilere Lesung (diese Sensoren können laut sein) zu bekommen. Er tut dann etwas Magie, dass Widerstand in Temperatur, die wir drucken Sie die Serial Monitor umzuwandeln.

    Radio Communication

    Beziehen Sie bitte Absender-node.ino die den Code für diesen Teil besitzt.


    Sobald Ihre Temperaturen richtig lesen, müssen wir einen Weg, der er sie an den Empfänger. Um dies zu erreichen, sind wir mit der RFM69 Funkmodul, das grün, was zu der Rückseite des Moteino verlötet. Das erste, was, stellen Sie sicher, eine Antenne mit dem Antennenanschluss des Moteino Platte gelötet haben. Ohne die Antenne, wobei der Bereich dieser Funk ist einige Zoll anstelle von wenigen hundert Metern. Informationen zu der Antenne und den Bereich zu finden sind auf der Website Moteino . Alle Verbindungen sind bereits für uns, so können wir nur initialisieren Sie die Bibliothek und starten Sie es. Um zu beginnen, würde ich vorschlagen, Blick auf hervorragende Code Andy Sigler ist für einige super einfach Sende- / Empfangs Beispiele.

    Anfangen


    In dem Code so weit, Erfassen wir die Temperatur. Was wir tun müssen, ist, den Sensorwert nehmen und senden Sie es an einen anderen über Moteino die für Funknachrichten zu hören wird. Wir tun das durch die Bündelung von bis dieses Stück von Daten in einem kleinen Paket und Überleiten über die Luft. Dieses Paket wird als "Nutzlast". Sobald die "Nutzlast" erreicht den Empfänger, wird der Empfänger eine kurze Nachricht schicken zurück und sagte "Haben Sie Ihre Paket, sieht alles OK". Dies wird als eine Bestätigung (besetzt im Code ACK). Wenn eine Bestätigung wird nicht vom Sender empfangen wird, wird es eine Weile warten und erneut versuchen zu senden. Wenn er versucht 5 Mal und scheitert, wird es aufzugeben. Dies ist ein wirklich wichtiger Weg zur Schaffung von Stabilität und Rechenschaftspflicht in unserer drahtlose Kommunikation, weil wir wissen müssen, wenn unsere Nachrichten empfangen werden.

    Betreiben Sie ihn


    Um die Moteino Macht ohne den Computer werden wir mit einer 9-Volt-Batterie an die VIN Pin des Moteino angebracht. Dieser Stift sendet Energie zu dem Spannungsregler, die es die Schritte bis 3,3 V für den Einsatz auf dem Brett.

    Energieverbrauch


    Da diese Sensorknoten sind batteriebetrieben, ist der Stromverbrauch ein wirklich wichtiger Faktor zu berücksichtigen. Dies ist aa wenig über den Rahmen dieses Tutorials, aber ich werde hier breit zu diskutieren. Die bestehende Schaltung, wie es wie Sie sehen werden sollte okay sein, aber es gibt Raum für Optimierungen. Jede andere Komponente verbraucht eine gewisse Menge an Energie. Ich habe einige Strommessungen sehr schnell mit einer 9V-Batterie die Stromversorgung des Moteino.
    eine leere Skizze: 24mA * 9V = 0.216 Watt mit dem Mikrocontroller schlafen (und das Radio on): 16mA * 9V = 0.144 Watt mit dem Radio schlafen (und der & mgr; C auf): 7,5 mA * 9V = 0,0675 Watt mit Radio und uC sleeping: 4μA * 9V = 0,036 Milliwatt sowohl mit Schlaf- und dem Thermistor angeschlossen: 0.16mA * 9V = 1,44 Milliwatt
    Hier können Sie sehen, dass die größten Schweine der Macht der Microcontroller und das Radio (offensichtlich). Beide von denen wir schlafen gelegt und den Stromverbrauch drastisch zu reduzieren. Wir sind leider mit dem Thermistor Verbrauch ohne etwas fortgeschritteneren Schaltung stecken. Wir nutzen die Bibliothek durch gemacht jeelabs die eine große Funktion namens Sleepy hat. Ich benutze es, so sehr ich es extrahiert und machte meine eigene Bibliothek, so dass ich nur, dass eine Funktion, ohne dass einer den anderen Sachen zu verwenden. Es ist hier in meinem GitHub . Sleepy im Grunde nur ersetzt die Verzögerung () Funktion.
    Am Ende sind wir mit einer Schaltung, die einen Nominal ~ 1,5 mW bei 9V verbraucht verlassen. Eine typische 9-Volt-Batterie Alkali-Batterie hat eine Kapazität von 565mAh, die 5-Watt-Stunden. Sensoren verbraucht bei einer Rate von 0,0015 Watt-Stunden. Eine gute Faustregel mit Batterien ist, dass nur 50% ihrer Nennkapazität tatsächlich nutzbar. Das lässt uns mit 2,5 Wattstunden der verfügbaren Kapazitäten. Von den Schätzungen, sollten wir eine Lebensdauer von etwa 1600 Stunden oder ca. 2 Monate, das völlig in Ordnung für den Rahmen dieses Projekts ist zu erwarten. Dies ist natürlich nicht unter Berücksichtigung der Selbstentladung der Batterie.
    Jetzt haben wir einen Sensor, der auf eigene für eine Dauer leben können, ist es Zeit, etwas, das seine Nachrichten empfängt bauen.

Schritt 2: Erstellen der Reciever

  1. Building Der Receiver

    Beziehen Sie sich auf Empfänger-node.ino, die den Code für diesen Teil besitzt.


    Der Empfänger-Code wird sehr ähnlich wie die Sender-Code suchen. Viele der gleichen Variablen verwendet. Der eine Hauptunterschied zwischen dem Empfänger und dem Sender, daß der Empfänger verbringt seine Zeit zu hören. Aus diesem Grund wird es mehr Strom verbrauchen. Es ist auch mit einem GSM-Modul, das ist ziemlich machthungrige, aber dazu später mehr verbunden. Zuerst werden wir bekommen die beiden Funkgeräte sprechen.

    Radio Empfangen


    Das Funkgerät initialisiert wird, und dann beginnt es hört. Wenn irgendwelche Nachrichten empfangen werden, wird es sie zu erhalten und zu überprüfen, um sicherzustellen, das Paket ist genau das, was erwartet wird. Wenn das Paket gut ist, speichert sie die Werte aus, um globale Variablen und Serial.println () 's ihnen.

    Laden Sie diesen Code und öffnen Sie die Serial Monitor und schalten Sie den Sender-Knoten, die Sie bereits erstellt haben. Sie sollten die Nachrichten zu sehen, wie sie kommen in.

Schritt 3: Online-Datenbank

  1. Compost Sensor

    Compost Sensor

    Compost Sensor

    Compost Sensor

    Compost Sensor

    Compost Sensor

    Alle 7 Artikel anzeigen

    Einrichten der Datenbank


    Für die Datenspeicherung, werden wir werden eine Online-Datenbank mit dem Erstellen von Sparkfun Data Service . Das ist ein ziemlich einfacher Prozess, der in den Bildern dokumentiert ist. Am Ende werden wir einen Platz haben, um unsere Online-Daten, die wir von verschiedenen Orten im Internet kann Referenz (für den Bau Visualisierungen), oder einfach nur zum Download zu speichern. Werfen Sie einen Blick auf die notierten Bilder in diesem Schritt, um loszulegen.

    Wir bauen eine Datenbank mit drei Werten, Temp, Herzschlag, und ID, Spiegelung der drei Werte die wir von unseren Sensoren. Zur Eingabe dieser Daten in die Datenbank, wir schicken Sie einfach eine URL in folgendem Format:

    http://data.sparkfun.com/input/[publicKey]?private_key=[privateKey]&heartbeat=[value]&id=[value]&temp=[value]

    Die Werte in der URL-Eingang und in den entsprechenden Spalten gespeichert sind. Wir können diesen URL von jedem Gerät, das Internet angeschlossen ist, wie ein Computer oder eine drahtlose Cellular Module irgendwo in der Welt zu senden. Es spielt keine Rolle, wo es ist, nur, dass es zuverlässig Zelle Service. Das ist recht ordentlich, nicht wahr?

    So erhalten Sie Ihre Daten Dienst einrichten und testen Sie es, indem Sie diese URL mit den in Ihren Webbrowser gefüllt Werte und versucht, zu ihm zu gehen. "1 Erfolg": Sie sollten eine Antwort, die besagt erhalten. Nun ein Blick auf die https://data.sparkfun.com/streams/[publicKey] Seite und Sie werden die Zahlen, die Sie dort sehen, eingegeben.

    Wir haben jetzt einen Ort, um unsere Daten setzen. Als nächstes werden wir Set-up das GSM-Modul und starten Sie das Senden von Daten drahtlos.

Schritt 4: Cellular: Part 1

  1. Compost Sensor

    Compost Sensor

    Compost Sensor

    Compost Sensor

    Compost Sensor

    Einrichten der GSM:


    In diesem Abschnitt werden wir die Informationen, die wir von unserer Sensoren sammeln zu nehmen, bewahren Sie sie vorübergehend in der Moteino Verwendung eines Arrays, und dann das Hochladen dieses Array von Daten in die Datenbank über unsere zellulären GSM-Verbindung.
    Disclaimer: Diese GSM Sachen ein wenig komplex und manchmal überwältigend, vor allem, wenn die Dinge zu stoppen genau arbeiten, wie sie sollten. Ich habe mein Bestes getan, um es so einfach, ein Prozess, wie möglich, aber bitte machen Sie eine Pause und kommen zurück, um es, wenn Sachen nicht mehr funktioniert richtig.
    Das GSM-Modul verwenden wir die Adafruit FONA Bord , die einige ziemlich gute Dokumentation auf der Website sowie Adafruit hat. Ich schrieb eine andere Instructable, die eine Menge von den gleichen Technologien darum, einen Ort Logger mit der FONA und Sparkfun Data Service, die nützlich sein, um als gut aussehen könnten verwendet. Ich versuche zu viel Information nicht zu wiederholen, so viel von diesem Verfahren ist sehr ähnlich.
    Ich benutze eine Serial Monitor genannt Coole Zeit , die einen besseren Weg, im Gespräch mit dem FONA ist. Verwenden der Arduino IDE kann Geheimnis Ärger manchmal bei der Kommunikation mit GSM-Module führen. Sparkfun schrieb eine große Anleitung, wie man es benutzt , so dass ich die Informationen nicht wiederholen. Bitte nur sicherstellen, dass Online-Modus aktiviert ist, es wird Ihr Leben besser zu machen.

    Einrichten des FONA


    Der erste Schritt ist, um das Setup der FONA auf dem Steckbrett und an der Moteino. Die Anschlüsse sind hier etwas anders als Adafruit ist, so halten, dass, während Sie auf Dokumentation und Code.
    Die Verbindungen sind wie folgt. Auch Referenz die mitgelieferte Bild und die schematische.
    Vio Verbindung zu 3,3 V GND Verbindung zu GND RX verbindet sich mit digitalen 3 TX verbindet sich mit digitalen 4 RST verbindet sich mit digitalen 5 Key verbindet sich mit digitalen 6 PS verbindet sich mit digitalen 7

    Powering it up


    Sobald alle Steckbrett Anschlüsse vorgenommen werden, legen Sie Ihre SIM-Karte, stecken Sie den Akku, stecken Sie das FONA in das Steckbrett und halten Sie die kleine Taste, bis das blaue Licht geht an. Nachdem es eingeschaltet ist, sollte es ein rotes Licht, die etwa einmal pro Sekunde blinkt sein. Das bedeutet, es gibt eine gute Zellverbindung und das Modul ist eingeschaltet und bereit ist, Befehle zu empfangen.

    Testen Sie die Verbindungen

    Beziehen Sie sich auf Empfänger-FONASerialTest.ino, die den Code für diesen Teil besitzt.


    Das FONA kommuniziert über eine serielle Verbindung. Denn wir brauchen die Hardware Serielle Schnittstelle zwischen dem Moteino und dem Computer kommunizieren, müssen wir, um die Software Serielle-Bibliothek verwenden, um eine neue Software serielle Schnittstelle auf der Moteino erstellen.
    Die im Lieferumfang enthaltene Code ermöglicht es Ihnen, die serielle Verbindung mit dem FONA testen. Denn es macht nicht übersetzen alle Zeichen zwischen den Hardware-Serielle Schnittstellen (Computer <-> Moteino) und die Software Serial Ports (Fona <-> Moteino). Dies erlaubt uns, Nachrichten vom Computer auf dem FONA durch die Moteino senden.
    Laden Sie den Code und dann eine Verbindung zu der Coolterm Moteino.
    Versuchen Sie Folgendes eingeben:
      BEIM
    

    Coolterm in die Befehlszeile ein und drücken Sie Enter. Es ist zu reagieren wieder mit einer Meldung, die besagt:
      OK
    

    Sobald Sie ein OK, wissen Sie, dass das gesamte Verdrahtung korrekt ist und wir sind bereit, den nächsten Schritt zu gehen. Wenn Sie ein OK empfangen, stellen Sie sicher, alle Verbindungen korrekt sind und das FONA ist.

    Was ist ein AT-Befehl?


    Das GSM-Modul (FONA) reagiert auf sogenannte AT-Befehle, die Textbefehle, die bestimmte Funktionen innerhalb des GSM-Modul zu initialisieren sind bekannt. Das Modul ist ein kleiner Computer in sich selbst, die eine Menge von sich aus tun können.
    Die Befehlssyntax lautet wie folgt:
    Test Befehl: AT + =? Gibt eine Liste von Parametern oder Wertebereiche, die bei einem Lesebefehl Befehlssatz kann: AT +? Gibt den aktuellen Sollwert der Parameter dieser Schreibbefehl Befehl: AT + = <....> Dieser Befehl setzt benutzerdefinierbare Parameterwerte Execution Befehl: AT + Führt einen Befehl ohne benutzerdefinierbare Parameterwerte für eine kurze Liste nützlicher Befehle möglich verweisen die Adafruit Seite auf der FONA. Probieren Sie alle diese Befehle. Es ist ziemlich cool! Versuchen Sie einen Anruf tätigen oder einen Text sendet! Für ein Kompendium aller Befehle das Datenblatt ist hier . erhalten Sie Ihre IMEI-Nummer: AT + CCID erhalten Sie Ihre Signalstärke: AT + CSQ erhalten Sie Ihre Teilnehmer-Info: AT + COPS?

    Um einen GET-Request machen ...


    Um eine GET-Anfrage zu machen, müssen Sie diese folgenden Befehle in der angegebenen Reihenfolge auszuführen.
    Zuerst haben wir das Setup GPRS: Hinweis: Sie müssen Ihre APN für Sie Zellenplan an dieser Stelle bitte verweisen Sie die SIM Sie für dieses Projekt erhielt. AT + CMGF = 1 AT + CGATT = 1 AT + SAPBR = 3,1 "Contype", "GPRS" AT + SAPBR = 3,1, "APN", "Ihre apn hier" AT + SAPBR = 1,1 The wir Setup HTTP und machen die Anfrage: Hinweis: Sie nutzen die Fest Sparkfun URL ( http://data.sparkfun.com/input/[publicKey]?private_key=[privateKey]&heartbeat=[value]&id=[value]&temp=[value] ), Sie können nur Eingangs irgendwelche Zufallswerten für die Daten für den Moment. Der Befehl HTTPREAD sollte wieder kommen mit einer Botschaft von 1 Erfolg, wenn sie richtig formatiert und geht durch, und Sie sollten in der Lage, die Website zu überprüfen und zu sehen, dass sie aktualisiert worden sein. AT + HTTPINIT AT + HTTPPARA = "CID", 1 AT + HTTPPARA = "URL", "Hier URL" AT + HTTPACTION = 0 AT + HTTPREAD Dann schließen wir die HTTP und die GPRS AT + HTTPTERM AT + SAPBR = 0, 1
    Versuchen Sie dies ein paar Mal. Stellen Sie sicher, es funktioniert immer. Erhalten Sie diesen Vorgang so narrensicher möglich ist, machen die nächsten Schritte viel einfacher und geradlinig. Debuggen des GSM-Befehle in Code ist ein ewig frustrierender Prozess.

Schritt 5: Cellular: Schritt 2

  1. Compost Sensor

    Schritt 2: Die Automatisierung der Prozess

    Umsetzung in Code

    Beziehen Sie sich auf Empfänger-gateway.ino, die den Code für diesen Teil besitzt.


    Wir haben die FONA auf die Moteino verbunden ist, untersuchten die Zusammenhänge zwischen diesen beiden, und auch getestet, die GSM-Verbindung durch manuelle Herstellung einer GET-Anforderung von der Serial Monitor. Der nächste Schritt ist, um den Prozess von dem Einschalten des FONA, um so die Anforderungen, um das Ausschalten des FONA automatisieren. Der automatisierte Energie-auf / Power-Off ist wirklich wichtig, weil der FONA verbraucht viel Strom im Standby, und wie bei unserem Sensorknoten, wenn sie nicht brauchen, um auf sein, es sollte nicht sein. Zum Ein- / Ausschalten des FONA können wir die Kernstift zu verwenden. Wenn wir ziehen niedrig für 2 Sekunden, wird es aktivieren / deaktivieren Sie das Modul.

    Wie funktioniert es


    Die Moteino immer auf eingehende Pakete von den Sensoren. Wenn der Empfänger ein Paket von einem Sender speichert der Receiver die Werte in ein Array. Jeder Sender hat seine eigene Anordnung, die bei jeder Sensordaten werden vom Sender empfangen überschrieben wird. Während diese Empfangs geschieht, der Empfänger wird im Takt. Nachdem eine vorbestimmte Zeit (15 Minuten) verstrichen ist, stoppt der Receiver hören für Funknachrichten und startet den Prozess der Upload der seine gesammelten Daten.
    Die Moteino dreht das FONA auf, wartet, bis es eingeschaltet wird, sendet alle der AT-Befehle, um eine GET-Anfrage zu initialisieren, montiert und sendet eine GET-Anforderung für jeden Sender, der Daten an den Empfänger gesendet wurde. Sobald dies geschehen ist, schaltet sich der Hörer auf die FONA, schaltet ihn aus, und geht dann zurück zum Hören von Radio-Nachrichten. Während der Empfänger Daten in die Datenbank sendet, wird es Funkmeldungen oder Bestätigungen nicht zu empfangen. Deshalb ist der Sender ACK Zeit, um etwa wie lange es dauert den Receiver, um die volle Folge von Ereignissen mit der FONA tun gesetzt.

    Den Code und Test-Upload


    Jetzt kommt der große Moment. Stellen Sie die Zeitvariablen zu sein, was Sie in der mit diesem Abschnitt Code ein und laden Sie sie auf die Moteino. Stecken Sie in einem Ihrer Sender-Knoten, so dass es das Senden von Daten und schließen Sie das Serial Monitor, um den Prozess zu überwachen. Für jede erfolgreiche erhielt Nachricht des Absenders sollten die Werte ausgedruckt werden. Wenn der FONA schaltet nach 15 Minuten (oder was auch immer es ist gesetzt) ​​sollte es seinen Status zu drucken, wie es geht. Es sollten keine Fehler auftreten. Wenn es fertig ist, überprüfen Sie die Sparkfun Datenstrom und sicherzustellen, dass es durch ok ging.
    Wenn ja, ist es Zeit zum Feiern, weil alle harten Teile sind fertig.

    Betreiben Sie ihn


    So weit, wir haben die Stromversorgung des Receivers mit einem USB-Kabel und einer Batterie direkt in den FONA Platine aufgesteckt. Das wird nicht funktionieren, wenn wir dies im Feld einzusetzen waren, aber es gibt auch andere Möglichkeiten. Sie werden bemerken, dass es auf der FONA, die eine direkte Wasserhahn mit dem Batterieanschluss ist ein BAT-Pin. Das bedeutet, dass, wenn es eine Batterie in das FONA gesteckt, werden Sie in der Lage, eine direkte Verbindung zu der Batterie zu erhalten, um andere Dinge, wie beispielsweise die Moteino mit Energie versorgen. Darüber hinaus könnten Sie eine Batterie in das Stift statt der Verwendung der Anschluss auf der Platine FONA stecken.
    In meinem Build dieses Projekt habe ich eine (leicht modifiziert (verbessert)) Voltaic Akku und Solar-Panel an die Macht der Empfängereinheit. Da der Empfänger tut verbrauchen mehr Energie als die Sender / Sensorknoten wird es sowohl eine größere Batterie und Weise Aufladen es für lange Laufzeit benötigen. Ich zeige einige Bilder und reden mehr über diese Änderung im nächsten Abschnitt.

Schritt 6: Letzte Schritte

  1. Letzte Schritte

    Gehäuse


    Die letzten Schritte für dieses Projekt ist, ein Gehäuse für sie, das werde ich nicht zu kommentieren zu viel zu machen. Das Gehäuse ist vollständig bis zu dem Erbauer mit ein paar Einschränkungen. Funksignale nicht gut Reise durch Metall, so die Gehäuse nicht aus Metall sein. Der Thermistor ist in Epoxidharz eingetaucht, so dass es gut geschützt. Sie könnten leicht erweitern die Drähte, und heften Sie den Thermistor auf dem Ende eines Stockes und es wäre wahrscheinlich in Ordnung sein. Die Batterie und Moteino sollte vor dem Wetter in einer Art von Kunststoffgehäuse eingebaut werden. A Tupperware funktionieren würde, so würde Sanitär-Teile PVC, als würde ein kleines Trockenschrank. Wie für den Empfänger, habe ich eine kleine Pelikan Fall und es war perfekt. Es sehr darauf an, was Klima, es wird zu leben und wie geschützte es sein wird.
    Schauen Sie sich den nächsten Schritt in dem ich meine dokumentieren build, Sie Inspiration für die Gehäuse zu geben.

    Web App


    Ich bin kein Web-Entwickler, aber ich war in der Lage, eine rudimentäre Satz von Graphen aufzubauen, um diese Daten anzuzeigen. I folgt dieses Tutorial . Zu erklären, wie das alles funktioniert, ist weit über meine Spielstärke. Meine Visualisierung ist auf dieser Internetseite und den gesamten Code ist auf meinem GitHub .

Schritt 7: Epilogue

  1. Compost Sensor

    Compost Sensor

    Compost Sensor

    Compost Sensor

    Compost Sensor

    Compost Sensor

    Alle 20 Artikel anzeigen

    Epilog

    Meine build


    Diese Instructable kam von meiner Diplomarbeit an ITP. Ich Prototypen schnell mit genau dieses System aber fuhr fort zu entwerfen und fabrizieren meine eigene Schaltungen und Leiterplatten und einige andere kundenspezifische Herstellung, die aus dem Rahmen dieses Tutorials ist. Ich habe auch einige zusätzliche Features an das Gateway, wie ein Bildschirm, eine Tasterschnittstelle, und eine Möglichkeit der Überwachung der Batteriespannung. Die meisten dieser hinzugefügt unnötige Komplikation und nie wirklich richtig gearbeitet, mit Ausnahme des Batteriespannungsüberwachung, die eigentlich war sehr hilfreich.

    Meine Sensoren


    Für die Sensorsonden, habe ich eine einfache Arduino Klon mit einem at328 Mikrocontroller. Es ist sehr ähnlich wie die Moteino, nur mit einem Onboard-Boost-Regler und ein paar individuelle Note. Es wurde von zwei AA-Batterien und einem Boost-Regler I entworfen angetrieben. Der Sensor Ich landete mit war kein Thermistor, aber ein Sensirion SHT21 die eine Temperatur- und Feuchtigkeitssensor ist. Ich war daran interessiert, Feuchtigkeitsmesswerte zusätzlich zur Temperatur. Die Gehäuse I aus pvc Sanitär-Leitung gemacht mit ein paar maßgeschneiderte Teile.

    Die Cellular Gateway-


    Für das Gateway, fügte ich einen Bildschirm, so dass die Sensordaten können bei der Kompostierung Website und eine Schaltfläche, um mit dem Bildschirm interagieren sehen. Um die Macht, habe ich eine Voltaic Solarpanel und Batterie. Ich änderte die Batterie leicht, es zu öffnen und das Anbringen eines Drahtes direkt an die Batterie, um die FONA Bordnetz (da braucht es eine direkte Li-Ionen-Zelle an die Macht), und dann mit Hilfe der 5V-Ausgang, um den Rest der Schaltung anzutreiben . Dadurch funktionierte großartig und ich kann es nur empfehlen.

    Herausforderungen


    Es gab ein paar wichtigsten Herausforderungen zu diesem Entwurf. Die große Gefahr, war der Feuchtigkeitssensor. Es ist ein Sensor für relative Luftfeuchtigkeit, so dass er mißt die Feuchtigkeit in der Luft und können nicht nur in den Schmutz geschoben, wie ein Thermistor, kann betrachtet werden. Entwerfen einer Art und Weise von Verunreinigungen schützt es erwies sich als schwierig zu sein, und ich landete Platzierung des Sensors im Inneren der PVC-Rohr, ein Loch in das Rohr und Abdecken mit einem Tyvek-Membran. Tyvek ist dampfdurchlässig, aber robust und nahezu wasserdicht. Wenn ich dies wieder, würde ich nur mit einem Thermistor und nicht versuchen, kunstvoll zu sein. Das ganze System würde ebenso gut mit einem Thermistor auf einem Stock zu arbeiten und Sie würden sich nicht um den Schutz eines empfindlichen Sensor sorgen. Eine weitere Herausforderung war die Berechnung der Stromverbrauch des Gateway-Schaltung und bekommen eine Batterie und Solarpanel groß genug, um sie anzutreiben. Ich bin mit einem 4000mAh Akku und eine 3 Watt-Panel, und das System kann für 4-5 Tage ohne direkte Sonneneinstrahlung laufen und wird mit nur 2 Stunden direkter Sonneneinstrahlung laden 25% seiner Kapazität. Das ist großartig für die intermittierende Wetter von NYC. Wenn dieses System in einer konsequenter bedecktem Gebiet gebaut werden sollte, würde der Erbauer, um sich eine größere Solarmodul benötigen.
    Meine Github hat alle meine Schaltungsdesigns und den Code hier .
    Eine vollständige Erklärung und Projekt Beschreibung ist auf meiner Website .
    Bitte kontaktieren Sie mich entweder per E-Mail oder über den Kommentaren unten, wenn Sie Fragen oder Bedenken zu diesem Entwurf oder ein Projekt haben, oder wenn Sie möchten, Trost oder Beratung für den Aufbau Ihrer eigenen System.