Giter Club home page Giter Club logo

mdb-arduino-cashless's Introduction

mdb-arduino-cashless

Arduino "Cashless Device" project for MDB protocol

Target configuration:

  1. Arduino Uno (ATmega 328P)
  2. MFRC522 13.56MHz RFID Reader
  3. Ethernet Shield W5100
  4. Vending Machine Controller, MultiDropBus Protocol (https://www.ccv.eu/wp-content/uploads/2018/05/mdb_interface_specification.pdf)

Main features:

  1. Target is a device of "Cashless Device" class.
  2. Hardware USART of Arduino Uno configured for 9-bit word communication (9600 baud, 9 data bits, no parity, 1 stop-bit).
  3. Payment is based on 13.56MHz RFID cards.
  4. Balance of the card is stored on the HTTP Server.
  5. Device makes HTTP request to Server to make a payment and then vend item in case of success.

mdb-arduino-cashless's People

Contributors

languidsmartass avatar mkrasselt1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mdb-arduino-cashless's Issues

Use on Arduino Mega

Dear Languid,
I am Trying to use your software on an Arduino Mega.
Where do i have to change the Pin Numbers for Serial1?
Thanks a Lot, your Software is very usefull

How to charge money on card?

Hi i just try on same priject - vending with rfid. I suppouse (IMHO) that using socket server have more advantages for this project. How users put money on cards?

hello, i have a question

hi, i am very surprised by your work, congratulations... i have a doubt, when you connect the arduino to the vmc using the interface, you connect using the serial port (arduino usb), rx0/tx0, or the debug pins that you define using the softwareserial library? I see that you overwrote the UART port for 9bits but since there is no picture of how you did it, I am not sure where you send the signal to the vmc from. Thanks!

Arduino pin RX TX to MDB

I'm so sorry for my newbie experience in C++ AVR syntax, i want to ask which pin do you use to connect from arduino to MDB RX TX vending machine? Is it pin 0 and 1 (serial that using for programming)?
Ps i'm using Arduino MEGA2560.

File Location

Dear Languid,
Where do I have to paste/replace all the ".c" and ".h" files.
I am using Arduino IDE 1.8.6 and the only location where I am able to locate USART.c and USART.h is at the folder location

C:\Program Files (x86)\Arduino\hardware\arduino\avr\firmwares\wifishield\wifi_dnld\src\SOFTWARE_FRAMEWORK\DRIVERS\USART

Please help me with the folder locations for the files.

Also I am trying to port this code to Arduino Mega. Please let me know which file I have to edit for 9 bit serial mode.

Cannot compile

Hey, i am really excited about your project here, but i simply cant get it to compile. I am trying to compile it in Arduino IDE, but it simply wont work.
image

Webserver code

Hi
Thanks for our great job
But can you please share the code of webserver project?
Seems like it's simple one, but it's hard to rebuild it from arduino code..

Credit show on display

Hello. Really really thank you.
İs it possible to show credit on vendig display.
Credi 9.99
Because item price expensive then 0.
I couldnt vend any more.

Command disorder

Hello,
I am using an arduino as a cashless device but i have a problem of command disorder, when arduino do reply of poll by a session begin response then suddenly vmc issues reset command and when reader comes to enable state then a proper vend occurs.. pls help

vmc never asks for min max price setup, keeps repeating setup step

The VMC never is stuck in a loop of poll and setup, I've tried a few different settings in setup already, but as the vmc ACKs it I'm not sure whats going on.
Screenshot of logic analyzer attached, I'm unable to get a proper export unfortunately

Screenshot from 2024-05-17 21-29-25
I hope someone can help me with this, I'm stuck

Vmc_commands

Hello awesome code written for cashless device.
I have some problems in my case. My device gets reader enable command and according to program device goes to enabled state so vmc should not issue reader enable command until reader gets disabled. But my device getting reader enable multiple times. Second is, when reader issues a beginsession command and vmc should ack, nack, ret in the response of beginsession. But in my case my device is getting 0x12 byte which is poll. And sometimes session begun and sometimes session does not begin. Do we need to set poll status to beginsession until device does not receive ack. Same with vendapproved and endsession command. Pls help
Thankyou

Schematic

Do you have any sample schematics or pictures of how you connected it up?

(I know there is an example schematic in the MDB spec. I was hoping to see how you specifically did it with component model numbers. If you're willing to share and provide an answer it would be very helpful. Thank you in advance.)

undeclared vars

when compiling, I am getting undefined vars:
PORTC, in MDB.c
switch (csh_state) { case CSH_S_INACTIVE : /*PORTC = 0; PORTC |= (1 << 0);*/ break; case CSH_S_DISABLED : /*PORTC = 0; PORTC |= (1 << 1);*/ break; case CSH_S_ENABLED : PORTC = 0; PORTC |= (1 << 2); break; case CSH_S_SESSION_IDLE : PORTC = 0; PORTC |= (1 << 3); break; case CSH_S_VEND : PORTC = 0; PORTC |= (1 << 4); break; default : break; }

UCSR0A, in USUART.c

is there any setting that I am missing?

Thanks

Please Help Me

What kind of card did you run these codes on? Can you share schematic or circuit design related to the card.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.