Schritt 3: Die Anwendung auf höchstem Niveau
Dieser Schritt gibt eine Erklärung der Anwendung. Das erste Bild zeigt das Diagramm vom Aussehen des vollständigen Antrags auf der obersten Ebene. Es besteht aus 7 Bausteine; 5 standard-Bausteine aus den Bibliotheken und 2 benutzerdefinierte gemacht-Blöcke, die für diese Anwendung vorgenommen wurden.
Standard-Bausteine aus der IoT-Bibliothek sind:
- Grabber, schnappt sich Bilder von der USB-Kamera
- Bewegungserkennung, führt die eigentliche Bilderkennung
- Periodischer Timerstartet um genaue Zeitstempel und sendet ein Signal auf dem Tick-Pin jeder Periode.
- Eifrig Puffer, schiebt das erste Element in der Warteschlange automatisch. Die Bufferensures ist, dass nur eine Nachricht zum Senden von SMS-Block geschickt, da es nur eine Nachricht gleichzeitig verarbeiten kann.
- SMS senden gepuffert, sendet SMS über den Twilio-Service. Die Elemente gesendet werden sind gepuffert, um sicherzustellen, dass nur eine Nachricht zu einem Zeitpunkt gesendet wird.
- Limiter, zu viele SMS zu vermeiden, wenn ein Eindringling erkannt wird.
- Lesen Sie Java Properties-Datei Config Daten von Eingabedatei gelesen
- Blick, Blick auf ein Bild auf dem Bildschirm.
Die Periodischen Timer -Baustein arbeitet als ein System-Motor. Es wird in regelmäßigen Abständen eine Zecke ausstellen, die ein an den Grabber Block über den Stift zu greifen Signal . Der Grabber -Block verwendet offene intelligente Multimedia-Analyse für Java, OpenIMAJ. Wenn der Block initialisiert wird, wird ein separater Thread gestartet, Daten von der Kamera zu lesen. Der Thread wartet auf eine Befehlswarteschlange. Wenn der Block einen Befehl über die greifen Pin empfängt es dauert ein Bild und auf die Imag-e-Pin zu liefern.
Das Bild wird dann an die Bewegungserkennung -Block übergeben, die die eigentliche Bilderkennung ausführt. Die Bewegungserkennung Block verwendet auch OpenIMAJ. Eine Methode innerhalb dieses Blocks vergleicht zwei Bilder und Änderungen im Bild zu kennzeichnen, wenn eine Bewegung erkannt wird. Die Methode ist sehr CPU-intensiv und muss in einem separaten Thread ausgeführt werden. Wenn ein Bild erkannt wird, dass es auf den MotionDetected -Pin signalisiert wird, die die Erzeugung einer SMS-Nachricht auslösen wird.
Die hellen blauen Kästen sind alle Java-Methoden, die speziell für diese Anwendung. Ein Klick auf ein Methodenblock öffnet den Java-Editor.
Wenn Sie auf einen Baustein klicken sehen Sie die Details der Logik innerhalb des Blocks. Betrachtet man zum Beispiel innerhalb des Blocks ReadConfig sehen Sie, dass es gemacht wird, durch die Kombination eines bestehenden Gebäudes Blöcke und 4 Java-Methoden.
Der Limiter setzt eine Grenze über die Höhe der erzeugten Nachrichten. Beachten Sie das P in der rechten Ecke des Bausteins. Es zeigt, dass Sie, die Miniterval festlegen können von wie lange die Anwendung warten muss, bevor sie eine neue SMS sendet. Die Standardeinstellung ist 300000ms, d.h. 5 Minuten. Um den Wert zu ändern. Rechts klicken Sie auf den Block und wählen Sie Parameter und Generika.