CONTROL PARAMETRS SYSTEMS OMRON

Статус
Закрыто для дальнейших ответов.

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
Доброго дня УВАЖАЕМЫЕ Питоны:D.
Прошу вашей помощи по написанию небольшой программки для мониторинга физических величин энергоблока.
По железу что имеется: Передатчик - Ардуино Мега 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')
Дальше уже отчаялся совсем, что ни чего не получается... ну примерно как из того мультика про котенка и кубики(с матом)
Подскажите пожалуйста, как можно реализовать интерфейс вот такого вида с двигающимися стрелочками и светящимися индикаторами. Примерный вид интерфейса на картиночке.
За ранее спасибо всем откликнувшимся.
 

Вложения

  • scale.png
    scale.png
    230,2 КБ · Просмотры: 1

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
Немного не понятно, какой помощи вы ожидаете, у вас вообще ничего нет, кроме картинок...

Погуглите визуализации спидометра на ткинтере, где то видел

Так же посмотрите в сторону qt, возможно, там больше примеров...
 

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
Немного не понятно, какой помощи вы ожидаете, у вас вообще ничего нет, кроме картинок...

Погуглите визуализации спидометра на ткинтере, где то видел

Так же посмотрите в сторону qt, возможно, там больше примеров...
Ожидаю подсказки по коду.
а QT это что такое?
А все это тоже библиотека, сейчас почитаю. просто мне все примеры на tkinter попадались.:)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
Ожидаю подсказки по коду.
По вашему коду подсказывать нечего, там ничего не реализовано...
 

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
По вашему коду подсказывать нечего, там ничего не реализовано...
это то да. подскажите почему у меня не получилось отрисовать png изображения? Вот по этому коду
import tkinter root = tkinter.Tk() frame = tkinter.Frame(root) frame.grid() label = tkinter.Label(frame, text="CONTROL PARAMETRS SYSTEMS OMRON").grid(row=1,column=1) canvas = tkinter.Canvas(root, height=400, width=700) img = tkinter.PhotoImage(file = 'd:/xxx.png') image = canvas.create_image(0, 0, anchor='nw',image=img) canvas.grid(row=2,column=1) root.mainloop()
в процессе отладки ни чего не происходило.
А если пробовать по такому методу:
from tkinter import * from tkinter import messagebox window = Tk() window.title('CONTROL PARAMETRS SYSTEMS OMRON') window.mainloop() window.geometry('400x300')
то все работает, ну то есть окно с название создается, и дальше у меня ступор, что писать.
при использовании такой команды
import tkinter from PIL import Image, ImageTk
ругается на библиотеку PIL, видимо она отсутствует в VScode.
и в примерах описано что картинки формата JPG загружаются только с библиотекой PIL, а png и gif могут работать без библиотеки PIL.
в этом пока у меня и тормоз.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
ругается на библиотеку PIL, видимо она отсутствует в VScode.
в консоли pip install Pillow

это то да. подскажите почему у меня не получилось отрисовать png изображения? Вот по этому коду
путь до картинки верный? все должно работать...
 

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
в консоли pip install Pillow


путь до картинки верный? все должно работать...
Где эта консоль находится подскажите.
И если не сложно объясните алгоритм расстановки блоков картинок по окну программы.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
Где эта консоль находится подскажите.
Консоль операционной системы, cmd
В юниксе терминал


И если не сложно объясните алгоритм расстановки блоков картинок по окну программы
Погуглите, статей куча
 

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
Консоль операционной системы, cmd
В юниксе терминал



Погуглите, статей куча
Это вы сейчас говорите про debian. Создать код пытаюсь на vscode под win. То есть все эксперементы на vscode, а в апельсин уже готовый код залить.
И вот ещё что интересно.
Пробовал в апельсине запускать код, там так же ругается на отсутствие библиотек. При попытке их установки происходит ошибка типа они не найдены. Но когда начинаешь шарится по папкам в ОС и добираешься до папок python трёх разных версий некоторые библиотеки там есть но через окно терминала он их не находит.
 
Последнее редактирование:

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
Может конечно не правильно ввожу команды для установки пакетов.
И по поводу посмотреть примеры, там все поверхностно. И есть ошибки в тексте кода. В некоторых строках вместо строчных букв стоят заглавные и начинает ругаться на ошибки в коде.
 

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
Вот такие же форумы и созданы для помощи новичкам. Ну конечно %80 комрадов просто потешаются над новичками, издеваются, что не есть хорошо, подобные форумы и созданы для того чтоб объяснить и помочь человеку докопаться до того места где собака зарыта.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
Вот такие же форумы и созданы для помощи новичкам. Ну конечно %80 комрадов просто потешаются над новичками, издеваются, что не есть хорошо, подобные форумы и созданы для того чтоб объяснить и помочь человеку докопаться до того места где собака зарыта.
форумы созданы для помощи, а не для обучения с нуля, для обучения есть книги и статьи (для особых извратов видеоуроки)

Это вы сейчас говорите про debian
cmd это винда...

И по поводу посмотреть примеры, там все поверхностно
а вам какие нужны?
вы с нулевыми знаниями пытаетесь сделать не самый просто интерфейс, вы думали вам сразу код выложат?

По железу что имеется: Передатчик - Ардуино Мега 2560, шильд винтовой, wifi module NRF24, это то что будет служить сбором информации с нужных точек.( ПО для передатчика уже написано)
вы сами его писали?

предлагаю вам книжку почитать любую питон для новичков, все ваши вопросы отпадут автоматом
 
  • Мне нравится
Реакции: robisho

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
в консоли pip install Pillow
"Pip не является внутренней или внешней командой, исполняемой программы или пакетным файлом
 

robisho

Активный пользователь
Пользователь
Окт 19, 2020
151
26
28
Вам нужно установить путь к pip в переменные окружения, это можно сделать при установке python выбрав пункт Add Python to PATH или вручную.

первая же ссылка в гугле. это просто ужас кокойты...
 

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
Вам нужно установить путь к pip в переменные окружения, это можно сделать при установке python выбрав пункт Add Python to PATH или вручную.

первая же ссылка в гугле. это просто ужас кокойты...
ааа вон оно чего, то есть не полностью установил питончика.
это вот для вас "это ужас какой то" а для меня это ППЦ катастрофа.
 

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
Вам нужно установить путь к pip в переменные окружения, это можно сделать при установке python выбрав пункт Add Python to PATH или вручную.

первая же ссылка в гугле. это просто ужас кокойты...

вот скажите мне, сколько лет вы уже юзайте программирование?
 

robisho

Активный пользователь
Пользователь
Окт 19, 2020
151
26
28
вот скажите мне, сколько лет вы уже юзайте программирование?
несколько. но я шел по старой доброй традиции - начинать с азбуки и таблицы умножения, а не с сочинений по Толстому и квадратных уравнений. другой подход к обучению в принципе не работает. так что, если хотите научиться - разбирайтесь с азов. а если нужно только сдать какое-то задание - то легче всего на фрилансе заплатить немного. вы же даже в поисковик не залезли, чтобы попытаться понять проблему...
 

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
несколько. но я шел по старой доброй традиции - начинать с азбуки и таблицы умножения, а не с сочинений по Толстому и квадратных уравнений. другой подход к обучению в принципе не работает. так что, если хотите научиться - разбирайтесь с азов. а если нужно только сдать какое-то задание - то легче всего на фрилансе заплатить немного. вы же даже в поисковик не залезли, чтобы попытаться понять проблему...
Вот тут вы ошибаетесь. Перед тем как сюда написать я очень много статей перечитал, и так же примеров. Просто видимо уже возраст не тот и полезную информацию не впитываю.
А вот на счёт заплатить кому нибудь и сделают это конечно мысль хорошая. Только в течении какого времени это будет сделано, и сколько это будет стоить, и кто ещё за это возьмётся.
Есть у вас конкретные кондидаты для этого проекта?
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
Вот тут вы ошибаетесь. Перед тем как сюда написать я очень много статей перечитал, и так же примеров. Просто видимо уже возраст не тот и полезную информацию не впитываю.
А вот на счёт заплатить кому нибудь и сделают это конечно мысль хорошая. Только в течении какого времени это будет сделано, и сколько это будет стоить, и кто ещё за это возьмётся.
Есть у вас конкретные кондидаты для этого проекта?
можете написать в ветку предлагаю работу - https://itfy.org/forums/python-jobs/, с указанием контактов, точного тз и цены, может кто то откликнется
так же есть сайты биржы фрилансеров, можете погуглить, там исполнители найдутся быстрее
 

Livek

Новичок
Пользователь
Апр 5, 2023
22
1
3
можете написать в ветку предлагаю работу - https://itfy.org/forums/python-jobs/, с указанием контактов, точного тз и цены, может кто то откликнется
так же есть сайты биржы фрилансеров, можете погуглить, там исполнители найдутся быстрее
Ветку просмотрел по предложению работы, как то там не активно соглашаются на халтурку. Из всех постов отклики только на штук 5 не более.
Так что скидывать тут предложение просто бессмысленно.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
Ветку просмотрел по предложению работы, как то там не активно соглашаются на халтурку. Из всех постов отклики только на штук 5 не более.
Так что скидывать тут предложение просто бессмысленно.
люди оставляют контакты и переговоры уже идут там, а не в ветке...
 
Статус
Закрыто для дальнейших ответов.

Форум IT Специалистов