Christian Rotzoll
6 years ago
5 changed files with 228 additions and 21 deletions
@ -0,0 +1,142 @@ |
|||||
|
#!/usr/bin/env python3 |
||||
|
# -*- coding: utf-8 -*- |
||||
|
# 00infoLCDTK.py |
||||
|
# |
||||
|
# called by # |
||||
|
# /home/pi/autostart.sh |
||||
|
# dev/test/run with: |
||||
|
# sudo -i -u pi DISPLAY=:0.0 /usr/bin/python3 /home/admin/00infoLCDTK.py |
||||
|
|
||||
|
import os |
||||
|
import sys |
||||
|
import json |
||||
|
import logging |
||||
|
import logging.config |
||||
|
import tkinter as tk |
||||
|
|
||||
|
COLOR = "black" |
||||
|
WINFO = None |
||||
|
|
||||
|
log = logging.getLogger() |
||||
|
|
||||
|
|
||||
|
def setup_logging(default_path='00infoLCDw.json'): |
||||
|
"""Setup logging configuration""" |
||||
|
path = default_path |
||||
|
if os.path.exists(path): |
||||
|
with open(path, 'rt') as f: |
||||
|
config = json.load(f) |
||||
|
logging.config.dictConfig(config) |
||||
|
else: # if $default_path does not exist use the following default log setup |
||||
|
default_config_as_json = """ |
||||
|
{ |
||||
|
"version": 1, |
||||
|
"disable_existing_loggers": false, |
||||
|
"formatters": { |
||||
|
"simple": { |
||||
|
"format": "%(asctime)s - %(levelname)s - %(message)s" |
||||
|
}, |
||||
|
"extended": { |
||||
|
"format": "%(asctime)s - %(name)s - %(levelname)s - %(module)s:%(lineno)d - %(message)s" |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
"handlers": { |
||||
|
"console": { |
||||
|
"class": "logging.StreamHandler", |
||||
|
"level": "INFO", |
||||
|
"formatter": "simple", |
||||
|
"stream": "ext://sys.stdout" |
||||
|
}, |
||||
|
|
||||
|
"file_handler": { |
||||
|
"class": "logging.handlers.RotatingFileHandler", |
||||
|
"level": "DEBUG", |
||||
|
"formatter": "extended", |
||||
|
"filename": "00infoLCDTK.log", |
||||
|
"maxBytes": 10485760, |
||||
|
"backupCount": 0, |
||||
|
"encoding": "utf8" |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
"loggers": { |
||||
|
"infoblitz": { |
||||
|
"level": "INFO", |
||||
|
"handlers": ["console", "file_handler"], |
||||
|
"propagate": "no" |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
"root": { |
||||
|
"level": "INFO", |
||||
|
"handlers": ["console", "file_handler"] |
||||
|
} |
||||
|
} |
||||
|
""" |
||||
|
config = json.loads(default_config_as_json) |
||||
|
logging.config.dictConfig(config) |
||||
|
|
||||
|
|
||||
|
def callback_b1(): |
||||
|
global WINFO |
||||
|
log.info("clicked b1") |
||||
|
if sys.platform != "win32": |
||||
|
os.system("xterm -fn fixed -into %d +sb -hold /home/admin/00infoLCD.sh &" % WINFO) |
||||
|
|
||||
|
|
||||
|
def callback_b2(): |
||||
|
global WINFO |
||||
|
log.info("clicked b2") |
||||
|
if sys.platform != "win32": |
||||
|
os.system("xterm -fn fixed -into %d +sb -hold /home/admin/XXbutton2.sh &" % WINFO) |
||||
|
|
||||
|
|
||||
|
def callback_b4(): |
||||
|
global WINFO |
||||
|
log.info("clicked b4") |
||||
|
if sys.platform != "win32": |
||||
|
os.system("xterm -fn fixed -into %d +sb -hold /home/admin/XXshutdown.sh &" % WINFO) |
||||
|
|
||||
|
|
||||
|
def main(): |
||||
|
global WINFO |
||||
|
setup_logging() |
||||
|
log.info("Starting 00infoLCDTK.py") |
||||
|
|
||||
|
root = tk.Tk() |
||||
|
root.config(bg=COLOR) |
||||
|
root.overrideredirect(1) |
||||
|
root.geometry("480x320+0+0") |
||||
|
root.title("RaspiBlitz 1.x") |
||||
|
|
||||
|
entry = tk.Entry(root) |
||||
|
entry.config(bg=COLOR, highlightbackground=COLOR) |
||||
|
|
||||
|
frame1 = tk.Frame(entry, width=60, background="black") |
||||
|
frame2 = tk.Frame(entry, width=420, background="grey") |
||||
|
|
||||
|
button1 = tk.Button(frame1, text='\u0397', fg='black', command=callback_b1) |
||||
|
button2 = tk.Button(frame1, text='\u0399', fg='black', command=callback_b2) |
||||
|
label3 = tk.Label(frame1, text='1.x', bg=COLOR, fg='white') |
||||
|
button4 = tk.Button(frame1, text='\N{BLACK CIRCLE}', fg='red', command=callback_b4) |
||||
|
|
||||
|
button1.pack(pady=24) |
||||
|
button2.pack(pady=24) |
||||
|
label3.pack(pady=24) |
||||
|
button4.pack(pady=24) |
||||
|
|
||||
|
entry.pack(side="bottom", fill="x") |
||||
|
frame1.pack(side="left", fill="both", expand=True) |
||||
|
frame2.pack(side="right", fill="both", expand=True) |
||||
|
|
||||
|
WINFO = frame2.winfo_id() |
||||
|
if sys.platform != "win32": |
||||
|
os.system("xterm -fn fixed -into %d +sb -hold /home/admin/00infoLCD.sh &" % WINFO) |
||||
|
|
||||
|
root.mainloop() |
||||
|
|
||||
|
|
||||
|
if __name__ == '__main__': |
||||
|
main() |
@ -0,0 +1,11 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
echo "" |
||||
|
echo "Thanks" |
||||
|
echo "You pressed B2" |
||||
|
echo "-----------------------------------------------" |
||||
|
echo "Sleep for 10" |
||||
|
sleep 10 |
||||
|
echo "Goodbye" |
||||
|
echo "-----------------------------------------------" |
||||
|
exit 0 |
@ -0,0 +1,28 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
# CONFIGFILE - configuration of RaspiBlitz |
||||
|
configFile="/mnt/hdd/raspiblitz.conf" |
||||
|
|
||||
|
# INFOFILE - state data from bootstrap |
||||
|
infoFile="/home/admin/raspiblitz.info" |
||||
|
|
||||
|
# MAIN MENU AFTER SETUP |
||||
|
source ${infoFile} |
||||
|
source ${configFile} |
||||
|
|
||||
|
echo "" |
||||
|
echo "LCD turns white when shutdown complete." |
||||
|
echo "Then wait 5 seconds and disconnect power." |
||||
|
echo "-----------------------------------------------" |
||||
|
echo "stop lnd - please wait .." |
||||
|
sudo systemctl stop lnd |
||||
|
echo "stop ${network}d (1) - please wait .." |
||||
|
sudo -u bitcoin ${network}-cli stop |
||||
|
sleep 10 |
||||
|
echo "stop ${network}d (2) - please wait .." |
||||
|
sudo systemctl stop ${network}d |
||||
|
sleep 3 |
||||
|
sync |
||||
|
echo "starting shutdown ..." |
||||
|
sudo shutdown -r now |
||||
|
exit 0 |
@ -0,0 +1,30 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
# CONFIGFILE - configuration of RaspiBlitz |
||||
|
configFile="/mnt/hdd/raspiblitz.conf" |
||||
|
|
||||
|
# INFOFILE - state data from bootstrap |
||||
|
infoFile="/home/admin/raspiblitz.info" |
||||
|
|
||||
|
# MAIN MENU AFTER SETUP |
||||
|
source ${infoFile} |
||||
|
source ${configFile} |
||||
|
|
||||
|
network=bitcoin |
||||
|
|
||||
|
echo "" |
||||
|
echo "LCD turns white when shutdown complete." |
||||
|
echo "Then wait 5 seconds and disconnect power." |
||||
|
echo "-----------------------------------------------" |
||||
|
echo "stop lnd - please wait .." |
||||
|
sudo systemctl stop lnd |
||||
|
echo "stop ${network}d (1) - please wait .." |
||||
|
sudo -u bitcoin ${network}-cli stop |
||||
|
sleep 10 |
||||
|
echo "stop ${network}d (2) - please wait .." |
||||
|
sudo systemctl stop ${network}d |
||||
|
sleep 3 |
||||
|
sync |
||||
|
echo "starting shutdown ..." |
||||
|
sudo shutdown -h now |
||||
|
exit 0 |
Loading…
Reference in new issue