Day 13: Smart Switch for Soundboard

Today we will find again a 1 kOhm resistor hidden behind the door of the Advent calendar. But we are not going to use it today. Instead I would like to show you how you can build a smart touch switch. We will use a simple setup that is made up of four loose hanging wires as touch buttons and a wire jumper to pin 23.

Vier gelbe Drähte als Touch-Buttons

Four yellow wires serving as touch buttons

Our experiment today is special for its program, which you should activate now on the configuration page. Once enabled, you will notice that the status LED flashes briefly and then turns off, because the board is again running in the power-saving deep-sleep mode. It will not wake up after certain time however. It will wake up only, when you touch one of the touch buttons. The board then sends information via the touch button to the broker who triggered the wakeup. It will look something like this:

{"cmd":"get_touch_state","pin_name":"Touch4″,"pin_id":6,"pin_nr":14,"pin_state":true}

While the connection is being established, you can see that the status LED is flashing green. Once the data is sent, the LED is lit green, which indicates that sending was successful. If the LED is red, sending did not work. The board goes back into deep-sleep mode immediately after that. The system is very energy efficient so that you could power the board by batteries and place the smart switch anywhere in your flat.

Note: Simply pull out the wire jumper from pin 23 and reset the board to leave deep-sleep mode and switch to normal mode.

The smart switch itself is something special. We are going to connect the switch with Node-RED and an application. We will use the audio-out node once more in today’s Node-RED flow, but this time we need it to play audio files, too. First of all, import today’s flow; and, do not forget, disable previous flows and enter your personal ID instead of the [PID] placeholder.

Der Flow des heutigen Tages

Today’s flow

Check out and discover the functionalities of the individual buttons. But before that, turn down the volume of your speakers.

16 Comments

  1. Wolf-Christian Breithor

    Hi,
    was ist damit gemeint 'Das Besondere des heutigen Versuchs besteht vor allem im Programm selbst, das Sie an dieser Stelle über die Konfigurationsseite aktivieren können.', wie? Zum Versuch, 192.168.178.64 ist nicht mehr ansprechbar, d.h. NodeESP scheint zu schlafen, obwohl die LED dauerhaft grün leuchtet. Im Command Window sehe ich, dass die Verbindung zum broker steht und HiveMQ ist connected, ich sehe eine Message. Das Berühren der losen Leitungen führt zu nichts, bei einer Leitung höre ich nach einiger Zeit Hundegebell, wenn ich sie kurzzeitig auf GND gezogen habe. Irgendwie habe ich die anderen Versuche auch unter Zuhilfenahme der durchaus hilfreichen Kommentare zum Laufen gebracht, aber diesmal komme ich nicht weiter.
    Grüße
    Christian

    Reply
  2. Patrick

    Hi,

    ich brauche unbedingt hilfe.

    Ich habe alles wie in der Anleitung gemacht. Leider kommt im Broker keine Meldung an. Auch in Node-Red nicht.
    Wenn ich einen der Pins anfasse dann geht die LED einmal aus und wieder an. (Trotz "sleep" ist die LED immer an)
    Da das Board auf die berührungen reagiert gehe ich davon aus das er das Programm korrekt geladen hat. Jetzt wollte ich auf das Board um das mal zurückzusezen und jetzt komm ich da nicht mehr drauf.
    Die Seite läd einfach nicht. Liegt das vielleicht daran, dass das Board im Sleep ist?
    Kann ich das board irgendwie zurücksetzen?

    So wie es jetzt ist kann ich das fast in den Müll werfen weil ich nichtmal das Programm wechseln kann :(

    Viele Grüße
    Patrick

    Reply
    1. Stefan Bräuer

      Wie so vieles, muss man zwischen den Zeilen lesen: Im Sleep geht nach meiner Erfahrung zum Board verloren.
      Wie ein Reset in den Normalmodus geht, steht dann aber wieder im Text:
      Um vom Deep-Sleep-Modus wieder in den normalen Modus zu wechseln, müssen Sie einfach nur die Drahtbrücke an Pin 23 herausziehen und das Board resetten

      Reply
      1. Martin

        I have the same problem.
        Pulling out the jumper and reset doesn’t work.
        Half a calender, and now it’s broke :/

        Reply
  3. Karl-Heinz

    Hallo,
    ich hab da ein Problem, da fehlt der Node "http//lot.flainka.de/feed.
    Habe ich da was vergessen oder falsch gemacht ?
    Bitte um Hilfe, wieder einmal, sorry

    Reply
    1. Wolfgang

      Hi,
      hatte grad den selben Fehler, dir fehlt lediglich das Packet "node-red-feed-parser". Das kannst du einfach per CMD mit "npm install node-red-node-feedparser" (https://flows.nodered.org/node/node-red-node-feeadparser) nachinstallieren.

      Reply
      1. Karl-Heinz

        Danke Wolfgang

        Reply
  4. Bernd

    Es hat alles so funktioniert wie beschrieben. Die Sounddateien waren auch alle auf Anhieb (wieder?) da. Zum Unterbrechen der Sounddateien war der Tipp von Paulaner (Reload Dashboard) wertvoll :-) Mit angefeuchteten Fingern war die Empfindlichkeit dann auch hinreichend gut.

    Mir ist es übrigens nicht gelungen, auch mit nachinstallierten Nodes, ein lokales Audio-File (WAV, MP3) abzuspielen. Hat jemand eine Anleitung oder Beispiel dafür?

    Reply
  5. Marco81

    Eine Audiodatei ist nicht mehr verfügbar. Alternativ habe ich diesen Link gefunden (wer Wert drauf legt). ;-)
    http://www.rosswalker.co.uk/movie_sounds/sounds_files_20150201_1096714/2001_and_2010/cantdo.wav bei sorry dave.

    Reply
  6. Ulrich

    Bis jetzt hat alles bestens funktioniert. Schade nur, dass "HiveMQ" die "try-out"-Seite seit gestern gesperrt hat und man jetzt eine kostenpflichtige Version kaufen muss. Die haben wohl gemerkt, dass alle Conrad-Adventskalender-Nutzer auf der Seite unterwegs sind und sofort Dollar-Zeichen in die Augen bekommen.

    Reply
    1. Mirko

      Man kann die Websocket Demo noch unter
      http://www.hivemq.com/demos/websocket-client/
      finden.

      Reply
  7. Maik

    Bei mir funktioniert das "touchpad" auch nur zufällig. Über das UI im Browser funktioniert es einwandfrei.
    Kann man die audiowiedergabe auch abbrechen? Grad bei article sehr nervig weil das einfach ewig geht. Kann ich selbst auch andere audios importieren?

    Reply
    1. paulaner

      Hallo,

      abbrechen meines Wissen nur mit Seite neu laden, F5 oder Kreissymbol.

      Eigene Wave, schau mein Bild, in 'Dog' und 'Eastwood' verbergen sich die Links zu den Wave’s.

      Reply
  8. paulaner

    Hallo,
    ich habe etliches versucht und hier mein Fazit.

    Der Link zu 'Dave', 'Sorry Dave' funktionierte nicht, 2001 Odyssee, darum hab
    ich gleich mal Clint genommen.

    Da ich annahm, ich verschiebe das Potential beim Berühren der Sensoren nach GND,
    habe ich die Emfindlichkeit in den 'General Settings' des NodeESP auf 5 runter
    gezogen. Das Berühren der Drahtenden an GND war dann auch nicht der Bringer.
    Es startete zufällig irgend eine Datei, meist 'Last Article'.

    Also versuchte ich es gegen Plus. Damit der Eingang nicht volles Pluspotential
    erhält (3.3V) habe ich den 1K Widerstand dazwischen.
    Aber das ging schon besser, es uß ja nicht immer einn Sensor sein, ein 'Taster'
    tut es auch, gerade wenn der Sensor so nicht 100% funktioniert.

    Der Hautwiderstand beträgt normalerweise so um die 2-2.5 kOhm. Der
    Übergangswiderstand (Berührungs-) ist ~10MOhm und bei jeden in in jeder
    Situation verschieden.

    Also ein bischen versuchen ist angesagt.
    Schade auch das sich die Empfindlichkeit der Sensoren nur global, also für alle einstellen läßt und nicht für jeden Eingang/Sensor getrennt.

    Reply
  9. Martin Klein

    Bis Tag 12 hat alles perfekt funktioniert.
    Aber im Tag 13 Pojekt kommen keine Audios. Touch Empfindlichkeit habe ich auf 49 gestellt (weiter rauf trau ich mich nicht weil sich dann ev. das Board aufhängt – siehe Kommentare Tag 6).
    Wenn ich einen der Drähte berühre blinkt die Grüne Lampe 2 mal, dann geht sie für 10 Sekunden aus dann leuchtet sie konstant grün. Aber kein Sound…
    Viele Grüße
    Martin Klein

    Reply
    1. paulaner

      Berühren, ist ein Thema für sich, zeigt sich bei einer kurzen Berührung, das Verhalten des Aufwachens des NodeESP (grüne LED blinkt hell) aber es wird nichts übertragen.

      Man sollte den Kontakt etwas länger betätigen.

      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.