Форум сайта python.su
Люди добрые помогите,
Кто силен в Kivy. Есть небольшой код, который работает для чтения данных с автомобиля honda по оригинальному протоколу, какой месяц бьюсь и не могу связать его в Kivy.
Задача такая, нужно построить грубо говоря табличку, в которой в левом столбце будет название переменной, а в правом её значения. Значения должны меняться в реальном времени.
В дальнейшем хочу всё портировать на android и наконец связать его по средством USB-COM с ECU автомобиля.
Пример кода:
>>> from mock import patch >>> >>> p = patch('serial.Serial') >>> m = p.start() >>> m.return_value.readline.return_value = ( ... b'\x10\xa8\x00\x00' ... b'\x00\x00\x00\x00' ... b'\x10\x00\x00\x01' ... b'\x00\x00\x00\x01' ... b'\xca' ... ) >>> >>> import serial >>> >>> def get_rpm_speed(ser, cmd): ... query = bytearray(cmd) ... query.append((0x100 - sum(query)) & 0xFF) ... ser.write(query) ... resp = bytearray(ser.readline()) ... crc = resp.pop() ... if sum(resp) & 0xFF != crc: ... raise ValueError('incorrect crc') ... resp.pop(0) ... resp.pop(0) ... h0, h1, h2 = resp[:3] ... rpm = (h0 * 256 + h1) / 4 ... spd = h2 ... return rpm, spd ... >>> ser = serial.Serial('COM3', 9600, timeout=1) >>> >>> rpm, speed = get_rpm_speed(ser, [0x20, 0x05, 0x00, 0x10]) >>> print 'Rpm', rpm Rpm 0 >>> print 'Speed', speed Speed 0 >>>
Офлайн
НЕ СПАМЬ ДА НЕ ЗАБАНЕН БУДЕШЬ
Офлайн
FishHook Да я просто не знал куда написать!
Офлайн
А почему Kivy? Несмотря на то, что она простая, лучше это сделать на какой-нибудь более распространённой платформе, по которой не только больше материала, но и практиков.
Офлайн
py.user.next На какой например? Я не силен в программировании.
Офлайн
MAGRAРаздел по графическим интерфейсам
На какой например?
Офлайн
py.user.nextНасколько я понимаю ничего из этого под андроидом нет, за исключением может Qt . На мой взгляд более стабильное решение сделать web сервер и показывать требуемую пару чисел в броузере по локальному адресу
Tkinter, PyQt, PyGTK, PyWX - самые распространённые.
Офлайн
doza_andTk
Насколько я понимаю ничего из этого под андроидом нет
doza_andВ общем случае, если есть возможность сделать приложение, то нужно сделать приложение. Нельзя подстраиваться под программу.
На мой взгляд более стабильное решение сделать web сервер и показывать требуемую пару чисел в броузере по локальному адресу
Отредактировано py.user.next (Май 7, 2015 00:40:45)
Офлайн
MAGRAРазумнее было за эти месяцы перейти на Android Studio и изучить java на минимально-достаточном уровне.
какой месяц бьюсь
py.user.nextКлиент-серверное приложение + работа с картами + работа с датчиками телефона + GUI на все это. Оказалось вообще не просто
А почему Kivy? Несмотря на то, что она простая
Отредактировано noob_saibot (Май 7, 2015 09:16:01)
Офлайн
noob_saibotСама Kivy расчитана на быструю кроссплатформенную разработку GUI.
Клиент-серверное приложение + работа с картами + работа с датчиками телефона + GUI на все это. Оказалось вообще не просто :)
noob_saibotJava - многословный язык, где для какого-нибудь helloworld необходимо писать класс с кучей настроек.
изучить java на минимально-достаточном уровне
Отредактировано py.user.next (Май 7, 2015 12:37:19)
Офлайн