IOT koffie automaat: verschil tussen versies

Uit Makerspace Haagse Hout
Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
 
(2 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 1: Regel 1:
De Architectuur
<u>1. De Gebruikersinterface (De Android Tablet)</u>


* De Klant kiest een koffie op een (web)interface of via een knop op de Raspberry Pi.
* '''Functie:''' Dient als de kiosk/bestelzuil voor de klant.
* De Raspberry Pi stuurt een signaal naar de Android Tablet.
* '''Inrichting:''' Draait een applicatie of automatiseringsapp ('''Tasker''') die continu op het scherm staat met één grote knop: ''"Koffie Kopen"''.
* 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
<u>2. De Betalingsafhandeling (De Cloud & Bluetooth)</u>


Stap 1: De Tablet en SumUp voorbereidenDe Solo Lite moet continu gekoppeld blijven aan de tablet.
* '''Koppeling:''' Zodra de klant op de knop drukt, stuurt de tablet een opdracht via een lokaal app-verzoek (''App Intent'') naar de '''SumUp App'''.
* '''Transactie:''' De SumUp app activeert via '''Bluetooth''' de '''SumUp Solo Lite''' kaartlezer.
* '''Verificatie:''' De klant pint contactloos. De SumUp app controleert via wifi de betaling in de SumUp Cloud en keurt deze goed.


# Koppel de SumUp Solo Lite via Bluetooth aan de Android tablet.
<u>3. De Lokale Communicatie (Tablet naar Raspberry Pi)</u>
# 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.
# 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.'''
* '''Seintje:''' Na een succesvolle betaling springt de tablet terug naar de hoofdapp, die direct een digitaal netwerksignaal ('''HTTP POST-verzoek''') stuurt naar het lokale IP-adres van de '''Raspberry Pi'''.


# 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).
<u>4. De Hardware-aansturing (De Raspberry Pi & Koffiemachine)</u>
# Laat deze server luisteren naar een specifiek verzoek van de Pi, bijvoorbeeld: <code><nowiki>http://192.168.1</nowiki></code>.


Stap 3: SumUp activeren vanaf de Tablet (De App-koppeling)
* '''Ontvangst:''' Een lichte webserver ('''Python/Flask''') op de Raspberry Pi vangt het HTTP-verzoek op.
* '''Activering:''' De Pi stuurt direct een stroompje via zijn '''GPIO-pinnen''' naar een elektronische schakelaar (een '''5V Relais''').
* '''Uitvoering:''' Het relais sluit gedurende 1 seconde de stroomkring van de startknop op de '''koffiemachine''', waardoor de machine begint te lopen.


# '''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. <code>sumupmerchant://pay?amount=1.50&currency=EUR</code>).
''Let op!''  
# '''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
''Er moeten speciale stappen gezet worden om het systeem stroomstoring-proof te maken.''
 
De Raspberry Pi regelt de logica van de machine. Je schrijft hiervoor een Python-script.
 
# Het script stuurt een HTTP POST- of GET-verzoek naar de tablet (Stap 2) zodra er koffie wordt aangevraagd.
# Het script "wacht" (blijft luisteren) tot de tablet een antwoord terugstuurt dat de betaling is goedgekeurd (<code>status: success</code>).Stap 5: De Koffiemachine hardwarematig aansturen
 
Zodra de Pi de bevestiging van de tablet heeft, stuurt hij de machine aan.
 
# Sluit een '''5V Relais-module''' aan op de GPIO-pinnen van de Raspberry Pi (bijvoorbeeld GPIO 18 en Ground).
# Sluit de schakelcontacten van het relais aan op de draden van de startknop van de koffiemachine.
# Voeg aan het einde van je Python-script de code toe om de GPIO-pin voor exact 1 seconde hoog (<code>HIGH</code>) te maken en daarna weer laag (<code>LOW</code>). Dit simuleert een fysieke druk op de knop.
 
'''Gebruik van tasker'''

Huidige versie van 25 sep 2026 om 10:30

1. De Gebruikersinterface (De Android Tablet)

  • Functie: Dient als de kiosk/bestelzuil voor de klant.
  • Inrichting: Draait een applicatie of automatiseringsapp (Tasker) die continu op het scherm staat met één grote knop: "Koffie Kopen".

2. De Betalingsafhandeling (De Cloud & Bluetooth)

  • Koppeling: Zodra de klant op de knop drukt, stuurt de tablet een opdracht via een lokaal app-verzoek (App Intent) naar de SumUp App.
  • Transactie: De SumUp app activeert via Bluetooth de SumUp Solo Lite kaartlezer.
  • Verificatie: De klant pint contactloos. De SumUp app controleert via wifi de betaling in de SumUp Cloud en keurt deze goed.

3. De Lokale Communicatie (Tablet naar Raspberry Pi)

  • Seintje: Na een succesvolle betaling springt de tablet terug naar de hoofdapp, die direct een digitaal netwerksignaal (HTTP POST-verzoek) stuurt naar het lokale IP-adres van de Raspberry Pi.

4. De Hardware-aansturing (De Raspberry Pi & Koffiemachine)

  • Ontvangst: Een lichte webserver (Python/Flask) op de Raspberry Pi vangt het HTTP-verzoek op.
  • Activering: De Pi stuurt direct een stroompje via zijn GPIO-pinnen naar een elektronische schakelaar (een 5V Relais).
  • Uitvoering: Het relais sluit gedurende 1 seconde de stroomkring van de startknop op de koffiemachine, waardoor de machine begint te lopen.

Let op! Er moeten speciale stappen gezet worden om het systeem stroomstoring-proof te maken.