Ideenfindungsprozess

In diesem Projekt geht es um den Entwurf eines smarten Briefkastens für Pakete.

Angenommen man hat ein Paket bestellt und ist zur Lieferungszeit nicht anwesend. Der Postbote kann nun über einen RFID-Chip oder -Karte den Briefkasten öffnen und das Paket dort hineinlegen. Anschließend drückt der Bote auf einen Taster zum Schließen des Briefkastens. Sobald nun das Paket in dem Kasten liegt, wird der Empfänger über das Smartphone benachrichtigt. Sobald der Empfänger wieder Zuhause ist, kann er anschließend den Briefkasten öffnen und das Paket aus dem Briefkasten entnehmen. Dadurch wird der Weg zur nächsten Postfiliale vermieden.

Für dieses Projekt können kleine bis mittel große Pakete in den Briefkasten hineingelegt werden.

Blynk

Blynk wird genutzt, um eine Benachrichtigung an das Handy des Nutzers zu senden, sobald der Abstandssensor ein Signal sendet.

Zunächst musste ein neues Projekt in der Blynk App erstellt werden. Hier wurde, wie in Abb.1 zu sehen, das Notification Element hinzugefügt. Die Abb.2 zeigt die vorgenommenen Einstellungen des Elements, die von den Standardeinstellungen nicht abweichen.

Abb.1: Projekt Briefkasten in der Blynk App
Abb.2: Einstellungen des Notification Elementes

Die Verbindung von dem Mikrocontroller zu dem Smartphone des Nutzers wird über den Server von Blynk hergestellt. Um dies umzusetzen, wird zunächst die Blynk Bibliothek als auch die ESP 2866 WiFi Bibliothek eingebunden.
Daraufhin werden Variablen zur Erleichterung der Verbindung zu Blynk festgelegt. Diese beinhalten die WLAN-Verbindungsdaten und der, von Blynk zufällig generierte, Authentifizierungscode. So kann mit „Blynk.begin()” die Verbindung mit den festgelegten Variablen als Parameter aufgestellt werden.
Ein Delay wird eingebaut, um die Verbindungsaufnahme zu erleichtern.

Mit „Blynk.run()” wird Blynk in der loop-Methode gestartet. Ebenfalls wurde eine while-Schleife eingeführt. Diese untersucht mit „Blynk.connected()”, ob die Verbindung abgebrochen wurde und verbindet sie in diesem Fall mit „Blynk.connect()” erneut.

Durch „Blynk.notify(“Du hast ein Paket erhalten!”)” wird eine Benachrichtigung an die Blynk App gesendet. Somit wird der Nutzer benachrichtigt.

Der gesamte Code ist im Folgenden aufgeführt:

//Blynk Libraries
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define BLYNK_PRINT Serial
//Variablen zur Verbindung mit Blynk
char auth[] = "";
char ssid[] = "";
char pass[] = "";



void setup() {
    Serial.begin(115200);
    //mit Blynk verbinden
    Blynk.begin(auth, ssid, pass);
    delay(500);
}

void loop() {
  while(Blynk.connected() == false){
    Blynk.connect();
    Serial.print(".");
  }
  Blynk.run();
  if(packageDetected()){
    delay(2000);
    Blynk.notify("Du hast ein Paket erhalten!");
    Serial.println("Paket");
  }
}

Abb. 3 zeigt die Blynk App, nachdem eine neue Benachrichtigung eingegangen ist.

Abb. 3: Eingehende Benachrichtung

Entwicklungsblog 1

Seit grob zwei Wochen haben wir mit der Arbeit an unserem Projekt begonnen und uns bereits mehrmals getroffen, um den groben Plan festzulegen. Den Makerspace konnten wir uns auch schon anschauen und einen Überblick der vorhandenen Materialien bekommen, sodass wir eine Liste unserer benötigten Komponenten schreiben konnten.

Wir haben uns dazu entschlossen einen smarten Briefkasten für Pakete zu bauen, der sich mit einem Smartphone von überall aus öffnen lässt. Liefert der Postbote ein Paket, wird der Nutzer durch die Blynk App benachrichtigt und kann die Tür an der Vorderseite des Briefkastens öffnen.

Die Einteilung der Aufgaben haben wir durch die Gebiete Modellierung, Programmierung und Zusammensetzung festgelegt. Hierbei kümmern sich Artur und Andreas vor allem um die Modellierung und Pascal und Anna programmieren hauptsächlich den Code. Unsere Ziele haben wir in Muss- und Kann-Zielen eingeteilt, um uns zunächst auf die wichtigen Funktionen zu konzentrieren und weitere schöne, aber nicht zwingend nötige, Funktionen zu implementieren, wenn wir mit den wichtigen fertig sind.
Als Deadline für unser Projekt haben wir den 08.09.2021 gesetzt. So haben wir, falls unerwartete Probleme auftreten, immer noch Zeit diese zu lösen.