Не удается запустить python -канал - PullRequest
1 голос
/ 06 февраля 2020

Я хочу использовать python для чтения can-bus, а затем отправлять сообщения на шину через python (я всего python newb ie, но у меня есть знания по C и C ++). Итак, я начал с установки модуля python -can через pip. Первое, что я хотел попробовать, это только читать сообщения с шины с помощью python -can-viewer . Я проверил соединение с прошивкой от пика, и все работает нормально, я вижу сердцебиение от моего устройства can. Но модуль can-viewer не запустится.

screenshot

Извините, что массаж ошибок выполнен на немецком языке, это означает:

[WinError 126] Указанный модуль не найден

Я также попытался использовать простой пример из python -can

import can

can.rc['interface'] = 'pcan'
can.rc['channel'] = 'PCAN_USBBUS1'
can.rc['bitrate'] = 500000


def send_one():

    with can.interface.Bus() as bus:

        bus = can.interface.Bus()

        msg = can.Message(
            arbitration_id=0xC0FFEE, data=[0, 25, 0, 1, 3, 1, 4, 1], is_extended_id=True
        )

        try:
            bus.send(msg)
            print("Message sent on {bus.channel_info}")
        except can.CanError:
            print("Message NOT send")


if __name__ == "__main__":
    send_one()

Я получил пример из https://python-can.readthedocs.io/en/master/

Я также получаю ту же ошибку, я также обнаружил, что winerror 126 может быть о пропавших ddls или библиотеках, поэтому я установил x64 vc_redist от Microsoft, но это не помогло https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

edit: забыл упомянуть этот сайт https://python-can.readthedocs.io/en/3.3.2/installation.html

1 Ответ

0 голосов
/ 06 февраля 2020

Я обнаружил проблему, я не установил нужный dll в папку windows / system32, я загрузил нужное программное обеспечение PCAN API Basi c Драйвер из https://www.peak-system.com/Downloads.76.0.html?&L=1

Для кто-то с той же проблемой, скачать драйвер API Basi для Windows и получить PCANbasi c .DLL в папке system32 (вам нужны права администратора)

...