IOT koffie automaat

Uit Makerspace Haagse Hout

De Architectuur

  • De Klant kiest een koffie op een (web)interface of via een knop op de Raspberry Pi.
  • De Raspberry Pi stuurt een signaal naar de Android Tablet.
  • De Android Tablet opent de SumUp-interface via de officiële SumUp Android SDK of via een Android Intent (App-to-App koppeling), waardoor de Solo Lite geactiveerd wordt.
  • De Klant pint.
  • De Android Tablet ontvangt de succesvolle status en koppelt dit terug naar de Raspberry Pi.De Raspberry Pi schakelt het relais om de koffiemachine te activeren.

Het Stappenplan

Stap 1: De Tablet en SumUp voorbereidenDe Solo Lite moet continu gekoppeld blijven aan de tablet.

  1. Koppel de SumUp Solo Lite via Bluetooth aan de Android tablet.
  2. Zorg dat de tablet een vast IP-adres krijgt binnen je wifi-netwerk (bijvoorbeeld 192.168.1.150). Dit is belangrijk zodat de Raspberry Pi de tablet altijd kan vinden.
  3. Schakel energiebesparende modi op de tablet uit, zodat de Bluetooth- en netwerkverbinding nooit in slaap vallen.

Stap 2: De Communicatie tussen Pi en Tablet opzetten

Je moet een eenvoudige manier hebben waarop de Pi en de tablet met elkaar praten. De meest toegankelijke methode is het opzetten van een mini-webserver op de Android tablet.

  1. Installeer een app op de tablet waarmee je een simpele HTTP-server kunt draaien (zoals Tasker in combinatie met een netwerk-plugin, of ontwikkel een simpele eigen Android-app).
  2. Laat deze server luisteren naar een specifiek verzoek van de Pi, bijvoorbeeld: http://192.168.1.

Stap 3: SumUp activeren vanaf de Tablet (De App-koppeling)

  1. Optie A (Eenvoudig - SumUp URL/Intent): Je kunt vanuit de browser of een script op de tablet een speciale URL aanroepen die de SumUp-app dwingt te openen met een specifiek bedrag. De structuur hiervan is gebaseerd op het SumUp URL-schema (bijv. sumupmerchant://pay?amount=1.50&currency=EUR).
  2. Optie B (Professioneel - SumUp Android SDK): Als je zelf een simpele Android-app bouwt, integreer je de officiële SumUp Android SDK. Dit zorgt voor een naadloze afhandeling binnen je eigen interface zonder dat de standaard SumUp-app visueel naar de voorgrond springt.Stap 4: De Raspberry Pi programmeren

De Raspberry Pi regelt de logica van de machine. Je schrijft hiervoor een Python-script.

  1. Het script stuurt een HTTP POST- of GET-verzoek naar de tablet (Stap 2) zodra er koffie wordt aangevraagd.
  2. Het script "wacht" (blijft luisteren) tot de tablet een antwoord terugstuurt dat de betaling is goedgekeurd (status: success).Stap 5: De Koffiemachine hardwarematig aansturen

Zodra de Pi de bevestiging van de tablet heeft, stuurt hij de machine aan.

  1. Sluit een 5V Relais-module aan op de GPIO-pinnen van de Raspberry Pi (bijvoorbeeld GPIO 18 en Ground).
  2. Sluit de schakelcontacten van het relais aan op de draden van de startknop van de koffiemachine.
  3. Voeg aan het einde van je Python-script de code toe om de GPIO-pin voor exact 1 seconde hoog (HIGH) te maken en daarna weer laag (LOW). Dit simuleert een fysieke druk op de knop.

Gebruik van tasker