Микроконтроллер Pyserial для связи с хостом

Я использую Beaglebone Black (BBB) ​​с Python и pyserial для связи со считывателем OBD-II. По сути, я пытаюсь создать настраиваемую панель цифровых датчиков. В идеале я хотел бы использовать Flash для графического интерфейса. К сожалению, поддержка Flash в Linux довольно слабая. Я хотел бы иметь возможность отправлять данные из BBB с помощью Python на хост-компьютер OSX.

В настоящее время я использую терминал для оболочки в BBB для запуска кода. Мне нужно было бы иметь возможность отправлять данные с BBB через USB/последовательный интерфейс на компьютер OSX, на котором работает Flash. Каким будет лучший способ добиться этого?


person powersjt4    schedule 12.08.2013    source источник


Ответы (1)


Я не использовал бигльбон. Я работал с последовательным вводом-выводом Arduino. Но этот пост говорит, что у вас есть несколько последовательных портов ввода-вывода на BBB. Найдите подходящие разъемы/преобразователи для последовательного порта в USB.

Затем используйте модуль pyserial python. В OSX вы найдете свое устройство при подключении по пути, например /dev/ttyo1, где dev — имя моей системы, а ttyo1 или что-то подобное — ваше устройство.

import serial as s
device = "/dev/tty01"
bbb = s.Serial(device, 4800) #the second param is baudrate

while(True):
    bbb.readline()
    # do what you want with the output.
    bbb.write('input')

Это будет читаться до конца символа строки и даст вам строку. а затем записать ввод в последовательный ввод-вывод на bbb. Вам понадобится аналогичная программа, работающая на BBB, чтобы прочитать этот ввод и сделать с ним то, что вы хотите сделать.

Итак, будет две программы на Python. Один на OSX, а другой на BBB

Таким образом, вы можете давать команды из OSX.py, позволять вашему BBB.py обрабатывать и отправлять ответ. Что OSX.py будет читать и делать то, что должно быть сделано.

Вам нужно будет правильно спроектировать цикл ввода/вывода.

Также, если flash не очень нужен, вы можете проверить pyside.

person shshank    schedule 12.08.2013