Giter VIP home page Giter VIP logo

oil-measurement's Introduction

Projekt für Ölstand-Messung

Verkabelung

Ultraschall Sensor D1 mini SD Modul
Vcc 5V VCC
Gnd G GND
D8 CS
D7 MOSI
D6 MISO
D5 SCK
Trig D4
D3 D3

Setup

SD-Karte

  • Formatieren auf FAT32
  • data.csv erstellen (leere Datei)
  • unixtime.txt erstellen
  • Unix-Zeit in SEKUNDEN in unixtime.txt eintragen (UND NICHTS ANDERES!)
  • SD-Karte in SD-Modul einstecken

App-Server

Wenn Daten an einen eigenen Server gesendet werden sollen, muss dieser aufgesetzt und gestartet werden.
Ein fertiger Node.js-Server mitsamt UI5-App befindet sich im Repository https://github.com/Dooobi/oil-measurement-server. Die URL, wohin die Daten gesendet werden wird über ein #define im Programmcode eingetragen.
Die Variablen {timestamp}, {distance} und {volume} können an den Stellen verwendet werden, wo die Daten eingefügt werden sollen.
Beispiel (für den fertigen Node.js-Server):
#define ADD_DATA_URL "http://192.168.0.11:3000/addData?timestamp={timestamp}&distance={distance}&volume={volume}"

IFTTT Event (z.B. für Email-Versand)

Es kann ein IFTTT-Event ausgelöst werden.
Hierfür müssen IFTTT ID und Eventname über #define im Programmcode eingetragen werden.
Das Event wird mit einem GET ausgelöst und die Werte werden wie folgt befüllt:

IFTTT Variable Wert
value1 Zeitstempel im Format DD.MM.YYYY%20HH:mm:ss
value2 Gemessene Distanz des Ultraschall-Sensors in cm
value3 Berechnetes Volumen in Liter

Nötige Einstellungen im Programmcode

Einstellungen über #define

Nötige Einstellungen:

  • WIFI_SSID: für WLAN-Verbindung (Zeitsynchronisierung, Daten an Server und IFTTT senden)
  • WIFI_PW: für WLAN-Verbindung (Zeitsynchronisierung, Daten an Server und IFTTT senden)
  • GATEWAY: für WLAN-Verbindung (Zeitsynchronisierung, Daten an Server und IFTTT senden)
  • SUBNET: für WLAN-Verbindung (Zeitsynchronisierung, Daten an Server und IFTTT senden)
  • IFTTT_ID: ID vom IFTTT Service für Events
  • IFTTT_EVENT: Eventname vom IFTTT Service
  • ADD_DATA_URL: URL um Daten an Server zu senden (siehe App-Server)
  • MIN_DISTANCE: Kleinste Distanz von Öloberfläche zu Ultraschallsensor (wenn Tank voll ist)
  • MAX_DISTANCE: Größte Distanz von Öloberfläche zu Ultraschallsensor (wenn Tank leer ist)
  • VOLUME_AT_MIN_DISTANCE: Volumen des Öls im Tank (in Liter) wenn Tank voll ist (also bei MIN_DISTANCE)
  • VOLUME_AT_MAX_DISTANCE: Volumen des Öls im Tank (in Liter) wenn Tank leer ist (also bei MAX_DISTANCE)

Einstellungen direkt im Programmcode

Der Auslösezeitpunkt für die Messungen und Aktionen muss manuell programmiert werden.
Die relevante Stelle ist in der loop()-Funktion in Zeile ~83.
Ausschnitt:

  int currTime = now();
  if (prevTime != 0) {
    int prevMin = day(prevTime);
    int currMin = day(currTime);

    if (prevMin != currMin) {
      // Stuff happens here...
    }

oil-measurement's People

Contributors

dooobi avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.