Доброго дня УВАЖАЕМЫЕ Питоны.
Прошу вашей помощи по написанию небольшой программки для мониторинга физических величин энергоблока.
По железу что имеется: Передатчик - Ардуино Мега 2560, шильд винтовой, wifi module NRF24, это то что будет служить сбором информации с нужных точек.( ПО для передатчика уже написано)
Приемник: тот же модуль NRF24, Orange pi zero 2. ( вот для этого ни чего еще не готово корме как заготовок картинок для интерфейса)
Про orange pi: ОС-Orangepizero2 3.0.6 debian bullseye desktop xfce linux5.16.17. монитор с расширением экрана 1280*1024, клавиатура, мышь, распечатанная коробочка под плату апельсина, винт, переходник mini HDMI to VGA.
Собственно в апельсин уже закатал пакеты Python 2,7, 3.5, 3,8. На компе под ОС Windows 10 64-разрядная операционная система, установлен pythom 3.11, так же установлена программа VScode Версия: 1.77.0. Ну собственно и все.
Что пробовал: пользоваться библиотекой tkinter в программе VScode по созданию объектов куски кода подсмотрел с сайта https://habr.com/
вот часть кода:
Да, работает, но все же не то... Перечитал несколько статей по созданию интерфейса в Tkinter, сколько людей столько и вариантов написания кода, вообщем долго разбирался, разбирался да так и не разобрался.
Попробовал сделать окно программы, да получилось, но вот вставить в нее готовые PNG с изображением приборов так и не получилось (что то делаю не так)
Дальше уже отчаялся совсем, что ни чего не получается... ну примерно как из того мультика про котенка и кубики(с матом)
Подскажите пожалуйста, как можно реализовать интерфейс вот такого вида с двигающимися стрелочками и светящимися индикаторами. Примерный вид интерфейса на картиночке.
За ранее спасибо всем откликнувшимся.
Прошу вашей помощи по написанию небольшой программки для мониторинга физических величин энергоблока.
По железу что имеется: Передатчик - Ардуино Мега 2560, шильд винтовой, wifi module NRF24, это то что будет служить сбором информации с нужных точек.( ПО для передатчика уже написано)
Приемник: тот же модуль NRF24, Orange pi zero 2. ( вот для этого ни чего еще не готово корме как заготовок картинок для интерфейса)
Про orange pi: ОС-Orangepizero2 3.0.6 debian bullseye desktop xfce linux5.16.17. монитор с расширением экрана 1280*1024, клавиатура, мышь, распечатанная коробочка под плату апельсина, винт, переходник mini HDMI to VGA.
Собственно в апельсин уже закатал пакеты Python 2,7, 3.5, 3,8. На компе под ОС Windows 10 64-разрядная операционная система, установлен pythom 3.11, так же установлена программа VScode Версия: 1.77.0. Ну собственно и все.
Что пробовал: пользоваться библиотекой tkinter в программе VScode по созданию объектов куски кода подсмотрел с сайта https://habr.com/
вот часть кода:
from tkinter import *
import math
def aMeterC(nowValue,x,y,widgLen,widgHigh,maxValue,outerColor,nameValue):
c = Canvas(root,width=widgLen,height=widgHigh,bg="black",bd=0, highlightthickness=0, relief='ridge')
c.place(x=x, y=y)
return (c,'ameter',x,y,widgLen,widgHigh,maxValue,outerColor,nameValue)
def aMeter(c,nowValue,x,y,widgLen,widgHigh,maxValue,outerColor,nameValue):
if(nowValue > maxValue): nowValue=maxValue-1
devValue=float(180) / float(maxValue)
mesureValue = devValue * nowValue
x1 = widgLen/2
y1 = widgHigh/2 + 10
x2 = 10
y2 = widgHigh/2 + 10
angle = math.pi * int(mesureValue) / 180;
newx = ((x2-x1)*math.cos(angle)-(y2-y1)*math.sin(angle)) + x1
newy = ((x2-x1)*math.sin(angle)+(y2-y1)*math.cos(angle)) + y1
c.create_oval(1 , 1,widgLen-1 ,widgHigh-1,width=2,fill='black',outline=outerColor)
c.create_text(7,y1,font="Verdana 10",anchor="w",justify=CENTER,fill=outerColor,text='0')
c.create_text(widgLen-30,y1,font="Verdana 10",anchor="w",justify=CENTER,fill=outerColor,text=str(maxValue))
c.create_text(widgLen/2-10,10,font="Verdana 10",anchor="w",justify=CENTER,fill=outerColor,text=str(maxValue/2))
c.create_text(widgLen/8,widgHigh/4,font="Verdana 10",anchor="w",justify=CENTER,fill=outerColor,text=str(maxValue/4))
c.create_text(widgLen/2+widgLen/4,widgHigh/4,font="Verdana 10",anchor="w",justify=CENTER,fill=outerColor,text=str(maxValue-maxValue/4))
c.create_text(widgLen/2-20,widgHigh-40,font="Verdana 14",anchor="w",justify=CENTER,fill=outerColor,text=str(nowValue))
c.create_rectangle(0,widgHigh/2+18,widgLen ,widgHigh,fill='black',outline='black')
c.create_text(widgLen/2-20,widgHigh-40,font="Verdana 14",anchor="w",justify=CENTER,fill=outerColor,text=str(nowValue))
c.create_text(6,widgHigh-20,font="Verdana 10",anchor="w",justify=CENTER,fill=outerColor,text=str(nameValue))
c.create_oval(x1 - 10, y1 - 10, x1+ 10,y1 + 10,fill=outerColor,outline=outerColor)
c.create_line(x1,y1,newx,newy,width=5,fill=outerColor)
def jobMeter():
global mesureValue
analogString[0].delete("all")
lenVal = len(mesureValue)+1
mesureValue.append(lenVal)
if(len(mesureValue) == 80):
mesureValue=None
mesureValue=[]
root = Tk()
canv = Canvas(root,width=1900,height=950,bg="black")
canv.place(x=0, y=25)
analogString=aMeterC(250,200,150,150,150,1000,'green','analog Meter')
global mesureValue
mesureValue=[]
root.mainloop()
Да, работает, но все же не то... Перечитал несколько статей по созданию интерфейса в Tkinter, сколько людей столько и вариантов написания кода, вообщем долго разбирался, разбирался да так и не разобрался.
Попробовал сделать окно программы, да получилось, но вот вставить в нее готовые PNG с изображением приборов так и не получилось (что то делаю не так)
# CONTROL PARAMETRS SYSTEMS OMRON
from tkinter import *
from tkinter import messagebox
window = Tk() #Создаём окно приложения.
window.title("CONTROL PARAMETRS SYSTEMS OMRON")
window.mainloop()
window.geometry('1280x1024')
Дальше уже отчаялся совсем, что ни чего не получается... ну примерно как из того мультика про котенка и кубики(с матом)
Подскажите пожалуйста, как можно реализовать интерфейс вот такого вида с двигающимися стрелочками и светящимися индикаторами. Примерный вид интерфейса на картиночке.
За ранее спасибо всем откликнувшимся.