Day 13: Alarm system with push messages

Today’s project deals with a simple silent alarm system with password input for resetting the alarm. So that you get anything at all from the alarm, the board sends a push message to your smartphone. We’ll set the tilt sensor that’s behind today’s door as a motion detector. It can give information about vibrations and thus inform you if someone tips the NanoESP board.

Aufbau mit Tiltsensor

Layout with tilt sensor


blynk_tag1313

The Blynk interface for today’s project is kept quite simple. There is a terminal through which the important information is delivered. At the same time, the terminal is used to input the password. Set the password in the programme. If you haven’t entered anything, the password is "password". There’s also another element, namely the push widget. Push messages are sent through it to your mobile. Push means that the message appears directly as a message on your smartphone. In the widget, you can choose between "Normal" and "High Priority." With High Priority, the message is displayed immediately, but it needs significantly more battery. Now if someone tries to steal your NanoESP, you’ll get a message directly on your mobile.

Jemand hat am Board gewackelt

Someone moved the NanoESP

31 Comments

  1. Yogi

    Sorry, etwas spät dran. Ich bekomme die Fehlermeldung 'blinkAlarm' was not declared in this scope. Was kann hier die Ursache sein?

    Reply
    1. Yogi

      Hab das Problem selber gefunden. Die letzten Zeilen unten auskommentieren oder löschen und vor
      void setup()
      einfügen:

      //timer function for blinking led on alarm
      void blinkAlarm()
      {
      digitalWrite(13, !digitalRead(13));
      }

      Reply
  2. Mathias

    Hi Leute,

    hinke hier ein wenig hinter her. Programm funktioniert, nur mit der Push-Nachricht hapert es (iOS System). Wenn die App geöffnet ist klappt alles wunderbar, sobald ich die App schließe bekomme ich keine Nachrichten mehr obwohl ich in der App "high priority" und in den Mitteilungs-Einstellungen alles auf ON gesetzt hab! Jemand das gleiche Problem o. nen Lösungsvorschlag?
    DANKE schonmal im Voraus.

    Reply
  3. basti

    Hallo,

    es funktioniert irgendwie nicht immer korrekt. Wenn ich das Programm geladen habe, dann blinkt die dritte LED um zu zeigen, das Alarm ausgelöst wurde – ich habe aber das Board nicht berührt. Geben ich nun das Passwort ein, kommt die Alarmmeldung und das Handy vibriert. Gleichzeitig hat die Eingabe den Alarm nicht entschärft…

    Reply
  4. Conrad

    Moin.

    Funktioniert tadellos bei mir.
    Was mir noch fehlt ist ein Zeitstempel vor den Nachrichten, falls ich eine verpasse. So kann ich später nachvollziehen, wann eine Nachricht gesendet wurde.
    Mir ist trotz Google-Recherche kein Weg aufgefallen, wie es einfach gehen könnte.
    Hat jemand von Euch eine schlaue Idee?

    Gruß, Conrad

    Reply
    1. Marco

      Hi,
      ich denke der einfachste Weg ist das RTC Widget von Blynk, das die Zeit vom Server erhält (mit dem man ja ohnehin schon kommuniziert).

      http://docs.blynk.cc/#widgets-other-rtc

      Mit dem in der Dokumentation verlinkten Beispiel Sketch sollte das auch einfach in ein eigenes Projekt einzubinden sein.

      Reply
      1. Conrad

        Danke,

        werde ich beizeiten ausprobieren. Ich komme ja kaum nach mit dem Basteln aus dem Kalender.

        Gruß, Conrad

        Reply
    2. Erik

      was muss ich bei "YourToken" einsetzen

      Reply
  5. µC-Junkie

    Ich hatte zu Beginn die Situation, mal kamen Pushnachrichten, mal kamen keine. NanoESP resetet und Blynk-App neu gestartet, dann ging es meist wieder. Dann habe ich ein bisschen in der Blynk-Docu (http://docs.blynk.cc) gestöbert und folgendes gefunden:
    Limitations :
    Maximum allowed body length is 120 symbols.
    Only 1 notification per 15 seconds is allowed
    hält man sich an die 15s-Regel, funktioniert es bei mir immer.

    Reply
  6. taz

    Mein Handy zeigt keine Pushnachrichten an. Weder wenn die Blynk-App geöffnet ist und das Programm läuft. Noch wenn ich das Handy gesperrt habe.

    Das Programm selbst meldet den Alarm, ich kann das Password dann eingeben.
    Die App darf Benachrichtigungen sende, sogar wenn es auf Nicht stören steht.
    Enstellungen > Apps > Blynk > Benachrichtigungen: steht auf Wichtig (Alle blockieren: aus/ Priorität: an/ Einblenden zulasse: an/ Vertrauliche Inhalte ausblenden: aus)

    Sony Xperia Z3 Compact D5803, ohne Branding, ungerootet, alle Software aktuell, alle Updates installiert, Android 6.0.1 23.5.A.1.291.

    PS: Hab grad den Resetbutton auf der Platine gedrückt. Nach ein paar Sekunden kam eine "New Notification".

    Reply
  7. Michael2016

    Schade das ich, seit gestern, nicht mehr mitspielen kann. Da auf meinem Board die blaue OnBoard LED D3 blinkt und ich nichts hochladen oder sonst was machen kann und hier leider noch kein Hilfreicher Tipp gegeben wurde. :´-(
    50€ für die Tonne… zum kotzen. Mal sehn ob Conrad da was machen kann.

    Reply
    1. Hansi

      Hast Du in der IDE schon den Port überprüft (Menü:Tools->Port->COMxx✔)? Unter Windows kommt es schon einmal vor, dass wenn man einen anderen USB Port (einen anderen Stecker) verwendet als "üblich", die Serielle eine "neue" COMxx Nummer bekommt. Die wird von der IDE aber nicht automatisch verwendet. Man muss die händisch anwählen (Häckchen setzen). Tut man das nicht, kann der Treiber das Board "verwirren" und es binkt nur hektisch. Die IDE meldet bei upload-Versuch entsprechend "avrdude: ser_open(): can’t open device "\\.\COMxy":…"

      Reply
      1. Michel2016

        ja habe ich, wenn ich das Board NICHT angesteckt haben kommt folgende Auswahl

        Reply
      2. Michel2016

        und wenn ich das Board anstecke kommt das hier, aber das Blinken ist immer noch da…

        Reply
        1. sumero

          Hast du den Tipp von Kusmi probiert?
          Board ausschalten, also USB Kabel ausstecken
          Reset-Knopf auf Board drücken und gedrückt halten
          USB Kabel einstecken und immer noch Reset-Knopf gedrückt halten
          In Arduino-Umgebung einen (leeren) Sketch öffnen und auf „Upload“ drücken, wie gewohnt
          Warten bis in der Arduino-Umgebung die Statusmeldung „Uploading…“ erscheint
          Dann Reset-Knopf loslassen

          Kusmi musste das 2-3 mal probieren, aber dann hat es funktioniert

          Setz außerdem mal bei den Voreinstellungen den Haken bei „Ausführliche Ausgabe während:“ „Hochladen“ und poste deine auführliche Fehlermeldung nochmal.
          Am besten im Forum, dann findet man dein Problem auch wieder, sonst geht das in den Kommentaren wie du schon gemerkt hast ziemlich schnell unter.

          Reply
          1. Michael2016

            Oh… ne habe ich nicht gesehen, Wo stand das??. Habe es jetzt wie beschrieben gemacht……. JUHU es hat funktioniert. Danke Jungs Ihr seit die besten :-D. Habe mal die BLINK vom Tag 2 hochgeladen jetzt blinkt es wieder im Sekundentakt.

  8. h4nc

    Wenn ich das richtige Passwort eingebe kommt folgendes:

    cmd error (sehe ich nur beim Seriellen Monitor in der Arduino Umgebung, nicht in der app)
    Login timeout

    Dann startet der nano neu und bestätigt mit:
    Device Started.(Sehe ich in der App)

    Hat noch jemand das Problem?
    Ein falsches Passwort wird übrigens erkannt und abgelehnt.

    Reply
    1. Mich

      gleiches Problem – gibt es eine Lösung?

      Reply
      1. Mich

        <Blynk v0.3.4: Device started

        [41312] Cmd error
        [41337] <msg 20,7,18
        [41338] Cmd skipped
        [41338] Login timeout

        Reply
  9. Joshua

    I really like the course and due to my webdevelopment background I get most of the code. But it’s a shame that the code that we’re using in the projects isn’t explained line-by-line.

    All we have to do now is build a build and load pre-build code. Then we’re pretty much on our own to find out what exactly happens to the code and how it works.

    Besides that I learn a lot but it could’ve been a little bit more detailed!

    Reply
    1. Athanasie

      I found in the toutorial from last year a good overview, but it´s only german and without the Blynk-Code:

      http://fkainka.de/schnellstart-mit-dem-nanoesp-fuer-arduino-neulinge/

      Reply
      1. Joshua

        That indeed looks better to understand for starters! Too bad this year isn’t commented the same way.

        Reply
    2. Mich

      Hallo,
      heute funktioniert es bei mir nicht. Ständig Fehlermeldungen:
      <vw

      Reply
  10. Bernd

    Funktionierte auf Anhieb, cool.
    aber nach dem dritten Alarm war schluss, tat sich nichts mehr, musste statt "password" mein Blynk initierungs password eingeben und dann ging es wieder.
    Irgendwie braucht das Ding 2 passwords: zuerst "password" (nachdem Alarm) und dann kommt "Alarm deactivated" was aber genau das gegenteil bedeutet (denn erst jetzt kann man wieder 'ne Meldung kriegen.
    Naja man kann sicher auch damit 'ne Sirene anschalten und dann machts mehr Sinn.

    Reply
    1. Hansi

      Den Text kannst Du in Zeile 82 ändern (zB in "Alarm quittiert").

      Reply
  11. kub0185

    Bekommt man die alten leeren Pläne dervortage auch weg?
    Wie findet man raus wieviel Energie man noch hat?

    Reply
    1. SilentGuy

      Projekt anklicken, dann oben Einstellungen (das sechseckige Zeichen) und dann ist ganz unten delete.

      Wenn man in nem Projekt ist und dann auf das Plus um ein neues Element hinzuzufügen sieht man in dem Menü wie viel Energie noch übrig ist.

      Blynk ist irgendwie cool aber auch ganz schön verworren…

      Reply
    2. rsoldie

      Ja, den alten plan aufrufen, das sechskantsymbol anklicken und ganz unten auf das rote delete klicken. Weg isses. Bei neu erstellen brauchst du dann aber wahrscheinlich auch neue token.

      Reply
  12. Möne

    Ich habe die Smartphone App aktualisiert. Wie kann ich den token finden?

    Reply
    1. Inga

      Probiere es einmal über Projekt Settings –> Devices und dann zweimal den hinterlegten Device auslegen (bei mir war es default "New device").

      Reply
      1. Inga

        *auswählen natürlich ;)

        Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.