{"id":13741001,"url":"https://github.com/nopnop2002/Robotell-USB-CAN-Python","last_synced_at":"2025-05-08T21:31:57.776Z","repository":{"id":108988018,"uuid":"277767757","full_name":"nopnop2002/Robotell-USB-CAN-Python","owner":"nopnop2002","description":"Python program for USB-CAN Adapter","archived":false,"fork":false,"pushed_at":"2024-03-03T12:30:10.000Z","size":34,"stargazers_count":25,"open_issues_count":2,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-10T12:48:02.281Z","etag":null,"topics":["linux","python","robotell","usb-can","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nopnop2002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-07-07T09:00:44.000Z","updated_at":"2024-10-09T10:08:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"7156bd59-0e5c-4a54-87bb-2c46365f9ef8","html_url":"https://github.com/nopnop2002/Robotell-USB-CAN-Python","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2FRobotell-USB-CAN-Python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2FRobotell-USB-CAN-Python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2FRobotell-USB-CAN-Python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2FRobotell-USB-CAN-Python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nopnop2002","download_url":"https://codeload.github.com/nopnop2002/Robotell-USB-CAN-Python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224774539,"owners_count":17367745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux","python","robotell","usb-can","windows"],"created_at":"2024-08-03T04:00:54.376Z","updated_at":"2024-11-15T11:30:40.668Z","avatar_url":"https://github.com/nopnop2002.png","language":"Python","funding_links":[],"categories":["Utils"],"sub_categories":["Python Tools"],"readme":"# Robotell-USB-CAN-Python\nPython program for Robotell USB-CAN Adapter\n\n\n# Background   \nI've bought a Robotell USB-CAN Adapter from AliExpress.   \n![USB-CAN Adapter](https://user-images.githubusercontent.com/6020549/86798040-52d73e80-c0ab-11ea-802c-93aa918e1067.JPG)\n\nThe Windows application is published [here](https://www.amobbs.com/thread-4651667-1-1.html).   \nThe link described as \"ourdev_627692IXWNNX.rar\" in the page is the Windows application.   \nBut I can't understand Chinese.   \n\nSo, I analyzed the communication message that flows through USB and created a new application with Python.\n\n# Software Requiment   \n- pyserial\n```\n$ sudo apt install python3-pip python3-setuptools\n$ python3 -m pip install pyserial   \n```\n\n- socat   \n```\n$ sudo apt install socat   \n```\n\n# How to use   \n```\n$ git clone https://github.com/nopnop2002/Robotell-USB-CAN-Python\n$ cd Robotell-USB-CAN-Python\n$ python ./usb-can.py --help\nusage: usb-can.py [-h] [-p PORT] [-s SPEED] [-u UDP]\n                  [-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -p PORT, --port PORT  open port\n  -s SPEED, --speed SPEED\n                        can bit rate\n  -u UDP, --udp UDP     UDP receive port\n  -l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log {DEBUG,INFO,WARNING,ERROR,CRITICAL}\n                        Set the logging level\n```\n\n- port   \n  Communication port.   \n  Default is /dev/ttyUSB0.   \n  __Be sure to specify the correct port in Windows 10.__   \n\n- speed   \n  CAN bit rate.   \n  Default is 500Kbps.   \n  Supporting speed is 1M/800K/500K/400K/250K/125K/100K.   \n\n- udp   \n  UDP port number for receiving commands from the outside.   \n  Default is 8200   \n\n- log   \n  Log level.   \n  Default is WARNING.   \n\n# Information of the USB-CAN Adapter   \nThese displays are internal information of the USB-CAN Adapter, not CAN FRAME.   \n\n- BAUDRATE is the current speed.   \n 0x20-0xA1-0x07-0x00 is 0x0007A120(=500,000)   \n\n- VERSION is firmware version.   \n\n- FILTERxx is the current receive filter setting.   \n The initial value enables reception of all CAN FRAMEs.   \n\n```\nBAUDRATE ID: 0x01FFFED0  DLC: 4  Data: 0x20 0xA1 0x07 0x00\nVERSION  ID: 0x01FFFFE0  DLC: 8  Data: 0x01 0x00 0x00 0x00 0xC5 0x24 0x00 0x08\nCPUINFO0 ID: 0x01FFFFF0  DLC: 8  Data: 0x57 0xFF 0x73 0x06 0x67 0x75 0x54 0x55\nCPUINFO1 ID: 0x01FFFFF1  DLC: 8  Data: 0x11 0x30 0x17 0x67 0x00 0x00 0x00 0x00\nABOM     ID: 0x01FFFEB0  DLC: 8  Data: 0x00 0x00 0x00 0x00 0xC5 0x24 0x00 0x08\nART      ID: 0x01FFFEA0  DLC: 8  Data: 0x00 0x00 0x00 0x00 0xC5 0x24 0x00 0x08\nFILTER00 ID: 0x01FFFEE0  DLC: 8  Data: 0x00 0x00 0x00 0x80 0x00 0x00 0x00 0x00\nFILTER01 ID: 0x01FFFEE1  DLC: 8  Data: 0x00 0x00 0x00 0xC0 0x00 0x00 0x00 0x00\nFILTER02 ID: 0x01FFFEE2  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER03 ID: 0x01FFFEE3  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER04 ID: 0x01FFFEE4  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER05 ID: 0x01FFFEE5  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER06 ID: 0x01FFFEE6  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER07 ID: 0x01FFFEE7  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER08 ID: 0x01FFFEE8  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER09 ID: 0x01FFFEE9  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER10 ID: 0x01FFFEEA  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER11 ID: 0x01FFFEEB  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER12 ID: 0x01FFFEEC  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER13 ID: 0x01FFFEED  DLC: 8  Data: 0xFF 0xFF 0xFF 0x5F 0xFF 0xFF 0xFF 0x1F\nFILTER14 ID: 0x01FFFEEE  DLC: 8  Data: 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00\nFILTER15 ID: 0x01FFFEEF  DLC: 8  Data: 0xFF 0xFF 0xFF 0xBF 0xFF 0xFF 0xFF 0xFF\n```\n\n# CAN transmission data\nThis tool accepts data to send via UDP Broadcast.   \nOpen a new terminal and execute the following command:   \n```\n$ chmod 777 transmit.sh\n$ vi transmit.sh\n\nPlease change if necessary.\n\n$ ./transmit.sh\n```\n\n# CAN receive filter settings(Standard Frame)\nThis tool accepts filter to set via UDP Broadcast.   \nOpen a new terminal and execute the following command:   \n```\n$ chmod 777 stdmask.sh\n$ vi stdmask.sh\n\nPlease change if necessary.\n\n$ ./stdmask.sh\n```\n\n# CAN receive filter settings(Extended Frame)\nThis tool accepts filter to set via UDP Broadcast.   \nOpen a new terminal and execute the following command:   \n```\n$ chmod 777 extmask.sh\n$ vi extmask.sh\n\nPlease change if necessary.\n\n$ ./extmask.sh\n```\n\n# Running on Ubuntu 18.04.4\n![USBCAN-python-1](https://user-images.githubusercontent.com/6020549/86798048-55399880-c0ab-11ea-844d-5823554deff7.jpg)\n\n# Running on Windows10\n![USBCAN-python-Windows](https://user-images.githubusercontent.com/6020549/86865771-9dd46e80-c10a-11ea-9a17-962add35e729.jpg)\n\n# Trouble shooting\nChange the log level when the program starts.   \nYou can see receive \u0026 transmit packet.   \n![USB-CAN -python-LogLevel](https://user-images.githubusercontent.com/6020549/86876808-74bed880-c120-11ea-85d1-6502682dbbdf.jpg)\n\n# Using ESP32\nThe ESP32 includes a CAN controller that supports the CAN 2.0B specification standard frame format (11-bit ID) and extended frame format (29-bit ID).   \nWith the ESP32, you can use Windows applications.   \nhttps://github.com/nopnop2002/esp-idf-CANBus-Monitor\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopnop2002%2FRobotell-USB-CAN-Python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnopnop2002%2FRobotell-USB-CAN-Python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopnop2002%2FRobotell-USB-CAN-Python/lists"}