Найти - Пользователи
Полная версия: Разработка программки под Kivy для honda 3-pin 1996-2001 г
Начало » Центр помощи » Разработка программки под Kivy для honda 3-pin 1996-2001 г
1 2
MAGRA
Люди добрые помогите,
Кто силен в 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
НЕ СПАМЬ ДА НЕ ЗАБАНЕН БУДЕШЬ
MAGRA
FishHook Да я просто не знал куда написать!
py.user.next
А почему Kivy? Несмотря на то, что она простая, лучше это сделать на какой-нибудь более распространённой платформе, по которой не только больше материала, но и практиков.
MAGRA
py.user.next На какой например? Я не силен в программировании.
py.user.next
MAGRA
На какой например?
Раздел по графическим интерфейсам
http://python.su/forum/18/

Tkinter, PyQt, PyGTK, PyWX - самые распространённые.
doza_and
py.user.next
Tkinter, PyQt, PyGTK, PyWX - самые распространённые.
Насколько я понимаю ничего из этого под андроидом нет, за исключением может Qt . На мой взгляд более стабильное решение сделать web сервер и показывать требуемую пару чисел в броузере по локальному адресу
py.user.next
doza_and
Насколько я понимаю ничего из этого под андроидом нет
Tk
http://www.androwish.org/index.html/home
Qt
http://sourceforge.net/projects/necessitas/
Gtk
Возможно, нет.
wxWidgets
https://wiki.wxwidgets.org/WxAndroid/docs

doza_and
На мой взгляд более стабильное решение сделать web сервер и показывать требуемую пару чисел в броузере по локальному адресу
В общем случае, если есть возможность сделать приложение, то нужно сделать приложение. Нельзя подстраиваться под программу.

А в данном случае, нужно постоянно выводить новые данные с датчиков. Как-то браузер тут не очень подходит.
noob_saibot
MAGRA
какой месяц бьюсь
Разумнее было за эти месяцы перейти на Android Studio и изучить java на минимально-достаточном уровне.

py.user.next
А почему Kivy? Несмотря на то, что она простая
Клиент-серверное приложение + работа с картами + работа с датчиками телефона + GUI на все это. Оказалось вообще не просто

PS Ах да ну и в apk потом все это упаковать…
py.user.next
noob_saibot
Клиент-серверное приложение + работа с картами + работа с датчиками телефона + GUI на все это. Оказалось вообще не просто :)
Сама Kivy расчитана на быструю кроссплатформенную разработку GUI.
Пример настроек интерфейса.
Но у меня, например, интерес к Qt из-за качественной архитектуры. Смысла нет Kivy изучать в качестве ещё одной платформы, делающей то же самое. Да и перейти при использовании Qt с питона на C++ можно в любой момент - ничего не меняется и доучивать не надо.

noob_saibot
изучить java на минимально-достаточном уровне
Java - многословный язык, где для какого-нибудь helloworld необходимо писать класс с кучей настроек.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB