Payment Terminal with 4 seven segment displays: verschil tussen versies

Uit MakerSpace Leiden
Ga naar: navigatie, zoeken
(Display messages)
Regel 25: Regel 25:
  
 
Op de server wordt bijgehouden wat er fout ging. Als gebruiker kun je in dit geval niet veel meer doen dan via het CRM betalen, cash betalen, het bij de mailing lijst melden, of het later weer proberen.
 
Op de server wordt bijgehouden wat er fout ging. Als gebruiker kun je in dit geval niet veel meer doen dan via het CRM betalen, cash betalen, het bij de mailing lijst melden, of het later weer proberen.
 
= 3D printed prototype =
 
 
[[Bestand:Betaalterminal-prototype-7segp-wring.png|300px|wiring]]
 
[[Bestand:Betaalterminal-prototype-7seg-enc.png|300px|wiring]]
 
[[Bestand:Betaalterminal-prototype-7seg-enc2.jpg|200px|box]]
 
 
Code is at https://github.com/MakerspaceLeiden/makerspaceleiden-payment-node-7segments.
 
 
Het 3D printje ([[https://github.com/MakerSpaceLeiden/makerspaceleiden-payment-node-7segments/blob/main/enclosure.scad OpenSCAD en STL file]]) in het code repository) is voor een stel afstandhouders & montage plaat die passen in een G21 doosje met transparant deksel. Zodat de RFID reader flush genoeg is om makkelijk pasjes te kunnen lezen.
 
 
Er zit een kleine AC/5V DC schakelende voeding onder de montage plaat. Hiermee is alle 220 volt weggebouwd onder de montage plaat - die je 'extra' moet losschroeven na loshalen deksel.
 
 
[[Bestand:Betaalterminal-prototype-7seg-img1-v100.jpg|200px|v1.03 prototype]]
 
[[Bestand:Betaalterminal-prototype-7seg-img2-v100.jpg|200px|v1.03 prototype]]
 
[[Bestand:Betaalterminal-prototype-7seg-img3-v100.jpg|200px|v1.03 prototype]]
 
 
Caveat prototype - de standoffs zijn 2mm korter gemaakt om net wat meer ruimte te krijgen bij het display. Dit is gecorrigeerd in version 1.03 in van de STL/openScad file in git.
 
  
 
= Display messages =
 
= Display messages =
Regel 69: Regel 51:
 
## <code>DONE</code> - successful end of OTA. Unit will reboot.
 
## <code>DONE</code> - successful end of OTA. Unit will reboot.
 
## <code>any error message</code> - scrolling error message & after which the device will switch back to the old/current firmware
 
## <code>any error message</code> - scrolling error message & after which the device will switch back to the old/current firmware
 +
= 3D printed prototype =
 +
 +
[[Bestand:Betaalterminal-prototype-7segp-wring.png|300px|wiring]]
 +
[[Bestand:Betaalterminal-prototype-7seg-enc.png|300px|wiring]]
 +
[[Bestand:Betaalterminal-prototype-7seg-enc2.jpg|200px|box]]
 +
 +
Code is at https://github.com/MakerspaceLeiden/makerspaceleiden-payment-node-7segments.
 +
 +
Het 3D printje ([[https://github.com/MakerSpaceLeiden/makerspaceleiden-payment-node-7segments/blob/main/enclosure.scad OpenSCAD en STL file]]) in het code repository) is voor een stel afstandhouders & montage plaat die passen in een G21 doosje met transparant deksel. Zodat de RFID reader flush genoeg is om makkelijk pasjes te kunnen lezen.
 +
 +
Er zit een kleine AC/5V DC schakelende voeding onder de montage plaat. Hiermee is alle 220 volt weggebouwd onder de montage plaat - die je 'extra' moet losschroeven na loshalen deksel.
 +
 +
[[Bestand:Betaalterminal-prototype-7seg-img1-v100.jpg|200px|v1.03 prototype]]
 +
[[Bestand:Betaalterminal-prototype-7seg-img2-v100.jpg|200px|v1.03 prototype]]
 +
[[Bestand:Betaalterminal-prototype-7seg-img3-v100.jpg|200px|v1.03 prototype]]
 +
 +
Caveat prototype - de standoffs zijn 2mm korter gemaakt om net wat meer ruimte te krijgen bij het display. Dit is gecorrigeerd in version 1.03 in van de STL/openScad file in git.
  
 
=Bill of materials =
 
=Bill of materials =

Versie van 19 okt 2021 om 21:13


Payment-7seg-samples.jpg

Prototype voor bier/koffie afrekenen. Zie SpaceTegoed voor een overzicht/plan.

Prototype simpele/een functie terminal; betaling van 1.75 euro

Wat doet het

Bij dit type betaal terminal kan je maar voor één ding, met een vaste prijs, betalen.

Prototype simpele/een functie terminal; betaling van 1 euro

Gebruikt instructie

  1. Het 7 segment display toont het bedrag een euro's. (Dat blijft altijd hetzelfde (het komt elke nacht uit het CRM systeem - zie de prijslijst op https://makerspaceleiden.nl/crm/pettycash/).
  2. Swipe je tag langs de terminal.
  3. Het display toont '[--]' en vervolgens 'PAID'. Je hebt nu betaald. Je krijgt een emailtje met de details van je betaling. Hier staat het bedrag in; de naam/locatie van de terminal en eventueel een beschrijving. En je zit dit in het overzicht op de website.
  4. Daarna gaat het weer terug naar stap 1.

Een filmpje van een prototype: https://vimeo.com/manage/videos/625531264

Indien de betaling fout gaat zie je de text 'FAIL' en een cryptische 3 cijferige foutcode.

Op de server wordt bijgehouden wat er fout ging. Als gebruiker kun je in dit geval niet veel meer doen dan via het CRM betalen, cash betalen, het bij de mailing lijst melden, of het later weer proberen.

Display messages

  1. During startup
    1. F X-YY - version number firmware during booting.
    2. CONN - connecting to WiFi
    3. FAIL - failed to connect to WiFi; will reboot.
    4. any error message - scrolling error message & after which either reboot or hang if it unrecoverable.
  2. At the end of startup (from this point onwards OTA is possible).
    1. ---- - fully started up; but have not yet gotten the pricelist
    2. no prices - price list could not be fetched. Will retry for a few minutes every 15 seconds; then reboot.
  3. In normal payment mode
    1. X.YY - price to pay when you swipe
    2. [--] - in the process of paying
    3. paid - you have paid
    4. FAIL - payment failed
    5. any error message - scrolling error message.
      1. FAIL -1 - netwerk/wifi error. Powercyle de unit.
      2. FAIL -4 - netwerk/wifi error. Powercyle de unit.
      3. FAIL 40X Gebruik je een geldige tag ?
      4. FAIL 500 Error op de server; mail noc@.
  4. During Over the Air reprogramming.
    1. PROG - start of OTA update
    2. F XX - OTA; uploading new firmware; XX is the percentage fetched
    3. DONE - successful end of OTA. Unit will reboot.
    4. any error message - scrolling error message & after which the device will switch back to the old/current firmware

3D printed prototype

wiring wiring box

Code is at https://github.com/MakerspaceLeiden/makerspaceleiden-payment-node-7segments.

Het 3D printje ([OpenSCAD en STL file]) in het code repository) is voor een stel afstandhouders & montage plaat die passen in een G21 doosje met transparant deksel. Zodat de RFID reader flush genoeg is om makkelijk pasjes te kunnen lezen.

Er zit een kleine AC/5V DC schakelende voeding onder de montage plaat. Hiermee is alle 220 volt weggebouwd onder de montage plaat - die je 'extra' moet losschroeven na loshalen deksel.

v1.03 prototype v1.03 prototype v1.03 prototype

Caveat prototype - de standoffs zijn 2mm korter gemaakt om net wat meer ruimte te krijgen bij het display. Dit is gecorrigeerd in version 1.03 in van de STL/openScad file in git.

Bill of materials

Materialen; duurste onderdelen eerst:

  1. ESP32: 7 euro - https://www.amazon.nl/AZDelivery-Development-opvolger-compatibel-Inclusief/dp/B074RG86SR/ref=sr_1_9
  2. PVC Doosje: 4 euro - https://www.aliexpress.com/item/32742510956.html
  3. 7 segment display: 2.50 euro - https://www.amazon.nl/Youmile-Display-Gemeenschappelijke-Digitale-Man-vrouw/dp/B082193P1V/ref=sr_1_33
  4. AC/5V transformer: 1.00 euro - https://www.aliexpress.com/item/33012749903.html
  5. 1 doorvoerwartel; 12mm: 0.35 euro (voorraad space, https://www.aliexpress.com/item/32866592761.html)
  6. netsnoer - weggooikast space
  7. draadjes - electronica hoek
  8. PLA (hoeft beslist geen PLA te zijn) - ~ 14 gram / krap 2 meter (voorraad space) om [[1]] uit te printen.
  9. 4 spijkertjes & willekeurige (super)glue voor PVC/PLA -- om de standoffs onder de montage plaat wat extra steun te geven middels de gaatjes in het kastje (voorraad space)
  10. drie tie-wraps (voorraad space)

Totaal: rond de 15 euro; 4 uur printen; 30 minuten solderen/assemblage.

Compileren software

  1. Installeer een recente versie van [[2]].
  2. Installeer een stable versie van de SDK voor de ESP32 volgens https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html
  3. Selecteer in tools het platform ESP32 en dan het board dat je gebruikt (WRover, Devkit)
  4. Installeer via de 'Library' optie de bibliotheken MFRC522-spi-i2c-uart-async, TM1637TinyDisplay en Arduino_JSON
  5. Haal een git/zip versie op van https://github.com/MakerSpaceLeiden/makerspaceleiden-payment-node-7segments/
  6. Zet de #defines met de netwerk namen goed. Kies een unique terminal naam.
  7. Overleg met noc@ voor een 'bearer token' voor toegang als je de productie versie maakt.
  8. Idem voor het OTA wachtwoord.
  9. Compiler & flash via serial (daarna kan het via OTA).
    1. Nota bene: with the cheaper boards; it may be needed to press 'BOOT' during the start of the programming.

Bouw instructie

Payment-7seg-bouw-4.jpg Payment-7seg-bouw-8.jpg Payment-7seg-bouw-9.jpg Payment-7seg-bouw-1.jpg Payment-7seg-bouw-2.jpg Payment-7seg-bouw-3.jpg Payment-7seg-bouw-5.jpg Payment-7seg-bouw-7.jpg

Versions build

Beer node

Payment-7seg-bouw-11.jpg

  • Wifi-Mac address ends with 430FE4
  • Has Uses pin 15 rather than 15 and RST/IRQ is swapped
  • Versie 1.02 van de mount plate.
  • Standoffs niet platgespoten

Current software: https://github.com/dirkx/makerspaceleiden-payment-node-7segments/releases/tag/v1.03

Coffee node

Payment-7seg-bouw-10.jpg

  • Wifi-Mac address ends with 972b75
  • Correct wiring.
  • Hole for the gland slightly too high.
  • Versie 1.04 van de mount plate.
  • Rode ledje is gedecodeerd (want zwart maken lukte niet erg)

Current software: https://github.com/dirkx/makerspaceleiden-payment-node-7segments/releases/tag/v1.03