-
08.03.2024, 19:00 #1
- Регистрация
- 27.12.2020
- Адрес
- Норильск р-н Талнах
- Возраст
- 36
- Сообщений
- 589
- Поблагодарили
- 393
- Поблагодарил
- 137
Phyton
Добрый день. Осваиваю phyton. Есть клиент, сервер - трансивер. Клиент видет трансивер и через консоль управляет ним. Подскажите пожалуйста, как приконектить tkinter к клиенту, чтобы команды шли от button, на трансивер. Например , нажал кнопку, трансивер перешел на передачу. Команды в Аски.. Текстовые. Спасибо
-
08.03.2024, 19:15 #2
- Регистрация
- 23.09.2008
- Адрес
- Обухово
- Возраст
- 59
- Сообщений
- 314
- Поблагодарили
- 236
- Поблагодарил
- 269
Начните лучше с того, как правильно называется этот язык программирования...
Сергей, R2DO
-
08.03.2024, 19:42 #3
- Регистрация
- 27.12.2020
- Адрес
- Норильск р-н Талнах
- Возраст
- 36
- Сообщений
- 589
- Поблагодарили
- 393
- Поблагодарил
- 137
..
-
08.03.2024, 19:52 #4
- Регистрация
- 01.03.2009
- Сообщений
- 851
- Поблагодарили
- 444
- Поблагодарил
- 36
from tkinter import *
from tkinter import ttk
def click_button():
print('-> Трансивер')
root = Tk()
root.geometry("200x100")
btn = ttk.Button(text="COMMAND to TRCVR", command=click_button)
btn.pack()
root.mainloop()
Далее тут https://otus.ru/journal/klient-serve...tone-i-sokety/Владимир
-
08.03.2024, 20:34 #5
- Регистрация
- 27.12.2020
- Адрес
- Норильск р-н Талнах
- Возраст
- 36
- Сообщений
- 589
- Поблагодарили
- 393
- Поблагодарил
- 137
Спасибо
- - - Добавлено - - -
Пока не пробовал , но пока по коду, как я понял , мы привязали функцию, которая будет выводить клик в консоль. Например если сервер , 127.0.0.1:40000. Как правильно прописать , что бы сообщение шло не в консоль , а именно через клиента . или я неправильно понимаю?
-
08.03.2024, 21:59 #6
- Регистрация
- 01.03.2009
- Сообщений
- 851
- Поблагодарили
- 444
- Поблагодарил
- 36
А что должно передаваться? вы ничего не сообщили. Вы начали с tkinter. Вот я дал вам функцию на клик. В нее впишите что передавать.
Про порт 40000 вы только сейчас сказали и то это "например"Владимир
-
08.03.2024, 22:13 #7
- Регистрация
- 21.11.2002
- Адрес
- East Gwillimbury, Ontario, CANADA
- Возраст
- 53
- Сообщений
- 2,333
- Поблагодарили
- 288
- Поблагодарил
- 237
Используйте https://hamlib.github.io для доступа к трансиверу, сэкономит вам кучу времени
Life's too short for QRP!
73, Артур VE3EUT, EW1CK
-
10.03.2024, 22:04 #8
- Регистрация
- 30.11.2012
- Возраст
- 53
- Сообщений
- 2,570
- Поблагодарили
- 1820
- Поблагодарил
- 1976
-
11.03.2024, 10:37 #9
- Регистрация
- 27.12.2020
- Адрес
- Норильск р-н Талнах
- Возраст
- 36
- Сообщений
- 589
- Поблагодарили
- 393
- Поблагодарил
- 137
Это TCI, наверное CAT там не нужен
-
11.03.2024, 11:12 #10
- Регистрация
- 30.11.2012
- Возраст
- 53
- Сообщений
- 2,570
- Поблагодарили
- 1820
- Поблагодарил
- 1976
Можно и TCI - это тот же CAT, только другой формат протокола и запрятано внутрь TCP/IP. N1MM имеет тоже возможность передачи команд трансивера по TCP/IP и имеет свой XML формат.
- - - Добавлено - - -
В любом случае, Вам надо между сервером и клиентом сделать соединение по сокету, отслеживать его состояние, делать, например, реконнект, если соединение отвалилось и т.д. Далее по этому сокету Вы можете передавать любые данные, например, текстовые. Какой будет формат этих данных зависит от Вас, либо вы возьмёте какой-то готовый протокол (например, TCI) или изобретёте свой. Главное, чтобы клиент/сервер друг друга понимали.
Использование распространённого протокола позволит Вам работать с другими программами, которые поддерживают этот протокол, если в этом есть необходимость.
- - - Добавлено - - -
А какой трансивер имеет встроенный TCP/IP server и какой протокол там используется?
Соединение инициализируется со стороны клиента, а сервер слушает входящие запросы.Андрей - YL2QN
-
11.03.2024, 13:28 #11
- Регистрация
- 03.02.2006
- Возраст
- 52
- Сообщений
- 18,863
- Поблагодарили
- 9079
- Поблагодарил
- 4809
SunSDR2 протокол TCI - Вы же сами выше и написали. Протокол WebSocket.
- - - Добавлено - - -
Чтобы не путаться в понятиях: CAT - это общее обозначение соединения трансивер-компьютер. Это может быть и по COM-порту, и по компьютерной сети (TCI).
- - - Добавлено - - -
А вот это уже к CAT отношения не имеет - это просто обмен данными между программами на разных компьютерах.73 de RX4HX, Alexei, http://rx4hx.qrz.ru
Ant.: UW4HW, Pwr.: ~500 Wtts
-
11.03.2024, 14:24 #12
- Регистрация
- 30.11.2012
- Возраст
- 53
- Сообщений
- 2,570
- Поблагодарили
- 1820
- Поблагодарил
- 1976
Да, абсолютно верно. CAT это Computer Aided Transceiver, т.е. любой протокол, который может управлять трансивером - будет CAT.
CAT команды документированы и в большинстве случаев у большинства трансиверов есть общий минимальный набор того, что он понимает. Некоторые трансиверы понимают больше комманд, некоторые меньше.
Транспортом для CAT изначально и сейчас в большинстве случаев является COM port. TCI протокол замена CAT командам с TCP/IP транспортом. Но используются не сами CAT комманды (как по COM port), а некая другая обвязка.
На сколько я знаю, SunSDR единственный трансивер, который поддерживает TCI. Многие современные трансиверы имеют свой софт для управления, который работает по TCP/IP. Но что "внутри" они не разглашают, т.е. протокол не публичный. Ну или я плохо искал. В том числе софт умеет передавать и звук и данные для отрисовки панорамы. Т.е. некий аналогичный TCIю протокол только без открытой спецификации.
Другими словами, стандартом дефакто является CAT по COM port, но все производители делают свой TCP/IP протокол и общего стандарта нет.
Например, для TS-990S описание выглядит так:
Subsequently, configuring TCP/IP on a PC makes it accessible to a LAN.The port number is “60000”.The character
encoding format is UTF-16.
Send the “##CN” command to the IP address of the TS‑990S to request a connection. Once the TS‑990S responds with
a permission to connect, send the administrator ID and password to using the “##ID” command.When the administrator
ID and password transmitted from the PC match with those configured in the TS‑990S, a connection between the
TS‑990S and the PC is established. If no communication is established within 10 seconds, the connection session
automatically quits.Андрей - YL2QN
|
Социальные закладки