Уведомления

Группа в Telegram: @pythonsu

#1 Май 6, 2015 11:30:08

MAGRA
Зарегистрирован: 2015-02-20
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Разработка программки под Kivy для honda 3-pin 1996-2001 г

Люди добрые помогите,
Кто силен в 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
>>>

Офлайн

#2 Май 6, 2015 12:01:35

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Разработка программки под Kivy для honda 3-pin 1996-2001 г

НЕ СПАМЬ ДА НЕ ЗАБАНЕН БУДЕШЬ



Офлайн

#3 Май 6, 2015 12:13:27

MAGRA
Зарегистрирован: 2015-02-20
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Разработка программки под Kivy для honda 3-pin 1996-2001 г

FishHook Да я просто не знал куда написать!

Офлайн

#4 Май 6, 2015 12:38:03

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Разработка программки под Kivy для honda 3-pin 1996-2001 г

А почему Kivy? Несмотря на то, что она простая, лучше это сделать на какой-нибудь более распространённой платформе, по которой не только больше материала, но и практиков.



Офлайн

#5 Май 6, 2015 12:49:08

MAGRA
Зарегистрирован: 2015-02-20
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Разработка программки под Kivy для honda 3-pin 1996-2001 г

py.user.next На какой например? Я не силен в программировании.

Офлайн

#6 Май 6, 2015 14:18:38

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Разработка программки под Kivy для honda 3-pin 1996-2001 г

MAGRA
На какой например?
Раздел по графическим интерфейсам
http://python.su/forum/18/

Tkinter, PyQt, PyGTK, PyWX - самые распространённые.



Офлайн

#7 Май 6, 2015 22:53:20

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Разработка программки под Kivy для honda 3-pin 1996-2001 г

py.user.next
Tkinter, PyQt, PyGTK, PyWX - самые распространённые.
Насколько я понимаю ничего из этого под андроидом нет, за исключением может Qt . На мой взгляд более стабильное решение сделать web сервер и показывать требуемую пару чисел в броузере по локальному адресу



Офлайн

#8 Май 7, 2015 00:34:43

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Разработка программки под Kivy для honda 3-pin 1996-2001 г

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 сервер и показывать требуемую пару чисел в броузере по локальному адресу
В общем случае, если есть возможность сделать приложение, то нужно сделать приложение. Нельзя подстраиваться под программу.

А в данном случае, нужно постоянно выводить новые данные с датчиков. Как-то браузер тут не очень подходит.



Отредактировано py.user.next (Май 7, 2015 00:40:45)

Офлайн

#9 Май 7, 2015 09:14:20

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Разработка программки под Kivy для honda 3-pin 1996-2001 г

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

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

PS Ах да ну и в apk потом все это упаковать…

Отредактировано noob_saibot (Май 7, 2015 09:16:01)

Офлайн

#10 Май 7, 2015 12:35:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Разработка программки под Kivy для honda 3-pin 1996-2001 г

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

noob_saibot
изучить java на минимально-достаточном уровне
Java - многословный язык, где для какого-нибудь helloworld необходимо писать класс с кучей настроек.



Отредактировано py.user.next (Май 7, 2015 12:37:19)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version