Vending Machine

From Nottinghack Wiki
Revision as of 16:50, 7 January 2019 by Danspencer101 (talk | contribs) (Updated project template to allow Complete project that still has live status)
Jump to navigation Jump to search
Vending Machine
[[{{{image}}}|border|frameless|220px|center]]
Primary Contact {{{primary}}}
Created {{{created}}}
Completed {{{completeddate}}}
Dormant {{{dormantdate}}}
Version {{{version}}}
Members {{{members}}}
Manufacturer {{{manufacturer}}}
Model {{{model}}}
Location [[{{{location}}}]]
GitHub / Repo {{{repo}}}
Status Complete
Type Hackspace Infrastructure
Live Status Live
Vending_Machine&.png
QR code

We currently have two vending machines:

  • A Westomatic snacks vending machine, purchased June 2011
  • A BevMax45 can/bottle drinks vending machine, purchased mid 2018

Both machines support MDB cashless devices, and have been fitted with custom RFID cashless devices that use the same cards as Gatekeeper.

MDB/ICP protocol

The Multi-Drop Bus/Internal Communications Protocol is a voluntary standard for vending machine communication. This is a serial bus interface working at 9600baud in a master-slave arrangement, where the vending machine controller is the master. Each peripheral is assigned a unique address and command set.

MDB has support for the following devices:-

  • Coin Changer
  • Bill Validator
  • Cashless devices
  • Communications Gateway
  • Universal Satellite Device
  • Coin Hopper or Tube Dispenser

In order to operate the serial line as a bus with multiple devices attached MDB uses a 9bit serial over the traditional 8bit, 9n1 vs 8n1 The master polls each device for activity, all communication sessions are initiated by the master addressing a slave, slaves are only allowed to respond when addressed, this prevents bus collisions.

The master indicates an address byte/start of session by setting the 9th bit, the correct slave responds as needed and on sending it's last byte it also sets the 9th bit to indicated end of it's session (although the master will ACK this)