Jura-Python-BT
Code for control and payment system of Jura Coffee Machine
Loading...
Searching...
No Matches
Namespaces | Functions | Variables
blue.py File Reference

Main script to run for BlackBetty. More...

Namespaces

namespace  blue
 

Functions

def blue.setupBuzzer (pin)
 Setup buzzer.
 
def blue.beep (duration)
 Make a beep sound.
 
def blue.lockUnlockMachine (code, lock_status, unlock_code="77e1")
 Lock or unlock the machine.
 
def blue.scanCard ()
 Scan for RFID tag.
 
def blue.getAlerts (status)
 Get alerts from the decoded machine status and convert it to the corresponding alerts (if any) If the corresponding bit is not set, the alert is not active.
 
def blue.end_read (signal, frame)
 End the program Runs when Ctrl+C is pressed.
 
def blue.read_statistics ()
 Read the statistics from the machine.
 

Variables

json blue.CHARACTERISTICS = json.load(open("/home/pi/Jura-Python-BT/data/uuids_handles.json"))["characteristics"]
 Global Constants The dictionary of UUIDs and handles of the bluetooth characteristics.
 
json blue.ALERTS = json.load(open("/home/pi/Jura-Python-BT/data/alerts.json"))["alerts"]
 The dictionary of alerts from machine status.
 
json blue.PRODUCTS = json.load(open("/home/pi/Jura-Python-BT/data/products.json"))["products"]
 The dictionary of products the machine can make.
 
json blue.PRICECOFFEE = json.load(open("/home/pi/Jura-Python-BT/data/prices.json"))["pricecoffee"]
 The dictionary of prices of the products.
 
int blue.BUZZER_PIN = 7
 The pin for the buzzer.
 
os blue.DEVICE = os.getenv("DEVICE")
 Load the environment variables from .env file.
 
os blue.MASTERCARD1 = os.getenv("MASTER_CARD_1")
 The UID of master card 1 read from .env file.
 
os blue.MASTERCARD2 = os.getenv("MASTER_CARD_2")
 The UID of master card 2 read from .env file.
 
db_connect blue.DB = db_connect()
 The open database connection.
 
BtEncoder blue.BtEncoder = BtEncoder()
 The instance of the BtEncoder class.
 
JuraEncoder blue.JuraEncoder = JuraEncoder()
 The instance of the JuraEncoder class.
 
MFRC522 blue.RFIDREADER = MFRC522.MFRC522()
 The instance of the RFID reader class

 
 blue.filename
 
 blue.level
 
 blue.format
 
 blue.datefmt
 
lcddriver blue.lcd = lcddriver.lcd()
 Initialize LCD.
 
 blue.child = pexpect.spawn("gatttool -b " + DEVICE + " -I -t random")
 Get all necessary variables from setup.py -> check file for more information.
 
 blue.keep_alive_code
 
 blue.locking_code
 
 blue.unlock_code
 
 blue.KEY_DEC
 
 blue.all_statistics
 
 blue.initial_time
 
 blue.CURRENT_STATISTICS = decoded
 
db_connect blue.c = DB.cursor()
 
int blue.emergency_unlock = 0
 
 blue.else :
 
str blue.lock_status = "unlocked"
 
 blue.try :
 
serial blue.port = serial.Serial("/dev/serial0", baudrate = 9600, timeout = 1.0)
 
 blue.except :
 
bool blue.buttonPress = False
 The variables used in the main loop.
 
bool blue.continue_reading = True
 
str blue.lastSeen = ""
 
int blue.counter = 0
 
int blue.disp_init = 1
 
int blue.payment_to_date = 1
 
str blue.client_to_pay = ""
 
int blue.admin_locked = 0
 
int blue.admin_prod = 0
 
int blue.total_prod = 0
 
int blue.payed_prod = 0
 
int blue.current_time = int(time.time() - initial_time)
 
int blue.hour = int(time.strftime("%H"))
 
int blue.minute = int(time.strftime("%M"))
 
int blue.second = int(time.strftime("%S"))
 
child blue.data = child.readline()
 
BtEncoder blue.decoded = BtEncoder.encDecBytes(data, KEY_DEC)
 
 blue.timeout
 
def blue.uid_str = scanCard()
 
def blue.prod = read_statistics()
 
bool blue.product_made = False
 
get_value blue.value = get_value(DB, uid_str)
 
str blue.value_str = str("Balance: " + str('%.2f' % value) + " EUR")
 
get_name blue.lastName = get_name(DB, uid_str)
 
get_vorname blue.preName = get_vorname(DB, uid_str)
 
str blue.welStr = str("Hello " + preName)
 
str blue.msgStr3 = str("Hold for 2s please ")
 
str blue.msgStr4 = str("Chip below ")
 
time blue.intial_time_2 = time.time()
 
int blue.chosen = 0
 
int blue.started = 0
 
int blue.over = 0
 
int blue.time_total = int(time.time() - intial_time_2)
 
list blue.data2 = [int(x, 16) for x in data.split()]
 
list blue.as_hex = ["%02x" % d for d in decoded]
 
json blue.price_product = PRICECOFFEE[product_made]
 
int blue.value_new = 0
 
str blue.msgStr1 = str(product_made + " was made!")
 
str blue.msgStr2 = str(" Happy betty :) ")
 

Detailed Description

Main script to run for BlackBetty.

Author(s)