1 ΪCANlib×¼±¸Python
1.1 ËùÐèÓ²¼þ
ΪÁËÍê³É±¾Ö¸ÄϵĵÚÒ»²½£¬¼´·¢ËͺͽÓÊÕCAN±¨ÎÄ£¬ÎÒÃÇÐèÒªÓõ½ÒÔÏÂÓ²¼þ£º
- һ̨װÓÐWindows»òLinux£¨¶ÔÓÚLinux£¬×îºÃÊÇUbuntu°æ±¾£©²Ù×÷ϵͳ£¨OS£©µÄ¼ÆËã»ú¡£
- Á½¸öCANͨµÀ£¬ÎÒÃÇ¿ÉÒÔʹÓþßÓÐÁ½¸öͨµÀµÄCANͨѶÒÇ»ò·Ö±ð¾ßÓÐÒ»¸öͨµÀµÄÁ½¸öͨѶÒÇ¡£ÔÚ´Ë´¦£¬ÎÒ½«Ê¹ÓÃÔÆº£ÓÎÏ· USBcan Pro 2xHS v2£¨00752-9£©¡£
- Èç¹ûûÓпÉÓÃͨѶÒÇ£¬¿ÉÒÔÔÚµÚÒ»²½ÖÐʹÓÃÐéÄâͨѶÒÇ¡£
- ¶Ë½ÓÕýÈ·µÄCAN×ÜÏß¡£ÔÚ´Ë´¦£¬ÎÒ½«Ê¹ÓÃT-Connector v2£¨00776-5£©£¬²¢½«µç×èÉèÖÃΪ60Å·Ä·¡£
- ¸ù¾Ý½«ÒªÓõ½µÄͨѶÒÇÊýÁ¿ºÍ¿ÉÓõÄUSB¶Ë¿Ú£¬¿ÉÄÜÐèÒªÒ»¸öUSB¼¯Ï߯÷½«ËùÓÐÉ豸Á¬½Óµ½¼ÆËã»úÉÏ¡£
1.2 ¸ü¸Ä¼ÆËã»ú²¢ÏÂÔØÈí¼þ
ÎÒÃÇÐèÒª¶Ô¼ÆËã»ú½øÐиü¸Ä²¢ÏÂÔØÈí¼þ¡£ÐèÒª¶Ô¼ÆËã»ú½øÐÐÒÔϸü¸Ä£º
- Äú±ØÐë¾ßÓмÆËã»úµÄ¹ÜÀíԱȨÏÞ£¬ÒÔ±ã½øÐбØÒª¸ü¸Ä¡£
- ×îа汾£¨»òÖÁÉÙ°æ±¾3.7ÒÔÉÏ£©µÄPython¡£
- CANlibÈí¼þ¿ª·¢¹¤¾ß°üÈí¼þ¡£
- ÔÆº£ÓÎÏ· CANlibÇý¶¯³ÌÐò¡£
- ÈκÎ×îÖÕÎı¾±à¼Æ÷£¨Idle»á×Ô¶¯ÓëPythonÒ»Æð°²×°£¬±¾Ö¸ÄÏÖн«Ö÷ҪʹÓÃËü£©¡£
1.3 Windows
Èç¹ûÄúʹÓõÄÊÇWindows²Ù×÷ϵͳ£¬Çë²é¿´ÒÔϲ¿·Ö£¬ÒÔÁ˽âÈçºÎΪWindowsÏÂÔØËùÐèµÄÈí¼þ¡£¶ÔÓÚLinux²Ù×÷ϵͳ£¬Çë²é¿´ÏÂÒ»²¿·Ö¡£
1.3.1 ÏÂÔØ²¢°²×°Python£¨Windows£©
µÚÒ»²½Êǰ²×°Python¡£¹ØÓÚPythonµÄÏêϸ°²×°Ö¸ÄÏ£¬Çë·ÃÎÊRealPython.com°²×°Python¡£ÒÔÏÂÊÇÔÚWindowsϵͳ°²×°PythonµÄ¼òҪ˵Ã÷£º
1.3.1.1 ¼ì²éPython°æ±¾£¨Windows£©
ÔÚ°²×°Python֮ǰ£¬Çë¼ì²éËüÊÇ·ñÒѰ²×°¡£´ò¿ªPowerShell£¨Í¨¹ýÑ¡Ôñwindows¼ü²¢ËÑË÷¡°powershell¡±£©£¬È»ºó¼üÈëÒÔÏÂÃüÁîÖ®Ò»£º
> py ¨Cversion
»ò
> py -V
£¨–versionºÍ-V¿É»¥»»Ê¹Óã©
Èç¹ûÒѾ°²×°ÁËPython£¬Êä³ö½«ÏÔʾ£¨½ØÖÁ2021Äê6ÔÂ15ÈÕ£¬Python 3.9.5ÊÇ×îа汾£©£º
Python 3.9.5
Èç¹ûδ°²×°Python£¬ÔòÊä³ö½«ÀàËÆÓÚ£º
δÕÒµ½Python£»ÔÚûÓвÎÊýµÄÇé¿öÏÂÔËÐУ¬ÒÔ´ÓMicrosoftÓ¦ÓÃÉ̵갲װ£¬»ò´Ó¡°Settings£¨ÉèÖã©¡±>¡°Manage App Execution Aliases£¨¹ÜÀíÓ¦ÓÃÖ´ÐбðÃû£©¡±½ûÓô˿ì½Ý·½Ê½¡£
»ò
¡°Py¡±Î´±»Ê¶±ðΪÄÚ²¿»òÍⲿÃüÁî¡¢¿É²Ù×÷³ÌÐò»òÅú´¦ÀíÎļþ¡£
Èç¹ûδ°²×°Python»ò°²×°µÄ°æ±¾Ì«¾É£¬ÎÒÃÇÐèÒª°²×°Ð°汾¡£Èç¹ûÒѾ°²×°Á˿ɽÓÊܵÄPython°æ±¾£¨3.7+£©£¬ÇëÌø¹ýÏÂÒ»²¿·Ö¡£
1.3.1.2 °²×°Python£¨Windows£©
ÎÒÃÇÐèÒªv3.7»ò¸ü¸ß°æ±¾µÄPython¡£ÔÚ±¾Ö¸ÄÏÖУ¬ÎÒÃǽ«Ö»Ì½ÌÖÒ»ÖÖPython°²×°·½·¨¡£
Ê×ÏÈÏÂÔØ°²×°³ÌÐò£¨ÓйØÔÚWindowsϵͳ°²×°PythonµÄ¸ü¶àÏêϸÐÅÏ¢£¬Çë·ÃÎÊrealpython.com£©£º
- ´ò¿ªPython.orgµÄwindowsÏÂÔØÒ³Ãæ¡£
- ÔÚ¡°Download the latest version for Windows£¨ÎªWindowsÏÂÔØ×îа汾£©¡±Ï£¬µã»÷ÏÂÔØPython°´Å¥£¬ÒÔÏÂÔØPythonµÄ×îа汾¡£
µ±°²×°³ÌÐòÏÂÔØÍê³Éºó£¬Ë«»÷ÒÔÔËÐС£´Ëʱ»á³öÏÖÒ»¸ö¶Ô»°¿ò¡£ÓйظöԻ°¿ò£¬Çë×¢ÒâÒÔÏÂ4¸öÊÂÏ
- ĬÈϰ²×°Â·¾¶Î»ÓÚµ±Ç°WindowsÓû§µÄAppData/Ŀ¼ÖС£
- ¡°The Customize installation£¨×Ô¶¨Òå°²×°£©¡±°´Å¥¿ÉÒÔ×Ô¶¨Ò尲װλÖúÍÑ¡Ôñ°²×°µÄ¸½¼Ó¹¦ÄÜ¡£
- ¡°Install launcher for all users (recommended) ΪËùÓÐÓû§°²×°Æô¶¯Æ÷£¨ÍƼö£©¡±ÎªÄ¬ÈÏÑ¡Ïî¡£ÕâÒâζ׿ÆËã»úÉϵÄÿ¸öÓû§¶¼¿ÉÒÔ·ÃÎÊpy.exeÆô¶¯Æ÷¡£
- ¡°The Add Python to path checkbox£¨½«PythonÌí¼Óµ½Â·¾¶£©¡±¸´Ñ¡¿òĬÈÏδѡÖС£Õâ²»ÊDZØÐèµÄ£¬ÒòΪ°²×°ºópy»á×Ô¶¯»ñµÃ·¾¶¡£
ÏÖÔÚ£¬ÄúÒѾ°²×°ÁËPython¡£
ÏÖÔÚ£¬ÄúÒѾ°²×°ÁËPython¡£
Ϊȷ±£°²×°³É¹¦£¬ÇëÔÚPowerShellÖÐÔËÐÐÒÔÏÂÃüÁ
> py ¨Cversion
½á¹ûÓ¦¸ÃÀàËÆÓÚ£º
Python 3.9.5

1.3.2 ʹÓÃÐéÄâ»·¾³£¨Windows£©
ΪÁË·½±ãµØÔËÐÐPython£¬½¨ÒéʹÓÃÐéÄâ»·¾³¡£ÓйØÐéÄâ»·¾³µÄ¶¨Ò壬Æä±ØÒªÐÔÒÔ¼°°²×°·½Ê½µÄ¸üÏêϸÃèÊö£¬Çë·ÃÎÊRealPython.comµÄpythonÐéÄâ»·¾³Ò³ÃæÁ˽⡣ʹÓÃÐéÄâ»·¾³µÄÄ¿µÄÊǰïÖú´æ´¢Ä¿Â¼ºÍ½ÓÊÕÖîÈçcanlibÖ®ÀàµÄÕ¾µã°ü¡£
ÒªÔÚwindowsÖд´½¨ÐéÄâ»·¾³£¬ÇëÔÚpowershellÖÐÔËÐÐÒÔÏÂÃüÁ
> py -3 -m venv .venv ¨Cprompt .
¡°py -3¡± ¹æ¶¨WindowsÆô¶¯Python 3µÄ×îа汾£¬ÓÐ¹ØÆô¶¯Æ÷µÄ¸ü¶àÐÅÏ¢£¬Çë²é¿´Îĵµ¡£ ¡°-m¡± ±íʾÄúÒªÔËÐÐÒ»¸öÄ£¿é£¬¡°venv¡± ÊÇÄ£¿éµÄÃû³Æ¡£¡°.venv¡± ¾ö¶¨ÁËÐéÄâ»·¾³Öд´½¨µÄĿ¼µÄÃû³Æ¡£¡°¨Cprompt¡± ±»¼¤»îʱ£¬½«¸ü¸ÄÐéÄâ»·¾³µÄÃû³Æ£¬¡°.¡± Ö¸¶¨Ãû³ÆÓ¦Ó뵱ǰĿ¼Ïàͬ¡£
Òª¼¤»îÐéÄâ»·¾³£¬ÇëÔÚpowershellÖÐÔËÐÐÒÔÏÂÃüÁ½á¹ûÓ¦¸ÃÀàËÆÓÚ£º
> .\.venv\Scripts\activate
(pyproj)>
´Ë´úÂëÔËÐÐactivate½Å±¾£¨½Å±¾ÊÇ´øÓÐPython´úÂëµÄÎļþ£©¡£¸Ã½Å±¾Î»ÓÚ.venvĿ¼ÖеÄScriptsĿ¼ÖС£Èç¹ûÎÒÃÇÔÚPowerShellÖÐÔËÐв¢µÃµ½´íÎóÏûÏ¢£º
cannot be loaded because running scripts is disabled on this system.£¨ÎÞ·¨¼ÓÔØ£¬ÒòΪÔÚ´ËϵͳÉϽûÓÃÁËÔËÐнű¾¡££©Óйظü¶àÐÅÏ¢£¬Çë²Î¼ûhttps:/go.microsoft.com/fwlink/?LinkID=135170 ÖеÄabout_Execution_Policies¡£
È»ºó£¬ÎÒÃÇÐèÒª»ñµÃÔËÐнű¾µÄȨÏÞ¡£ÎÒÃÇ¿ÉÒÔÔËÐУº
> Set-ExecutionPolicy Unrestricted -Scope Process
ÔÚpowershellÖлñÈ¡´Ë»á»°µÄȨÏÞ£¬»òÕßÎÒÃÇ¿ÉÒÔÔËÐУº
> Set-ExecutionPolicy Unrestricted -Scope CurrentUser
ÔÚpowershellÖÐΪµ±Ç°Óû§»ñÈ¡ËùÓкóÐø»á»°µÄȨÏÞ¡£
ÏÖÔÚ£¬ÎÒÃÇ¿ÉÒÔµ¥¶ÀʹÓû·¾³¡¢°üºÍ×ÊÔ´¡£ÒªÍ£ÓÃÐéÄâ»·¾³£¬ÇëÔÚpowershellÖмüÈëÒÔÏÂÃüÁ
> deactivate
1.3.3 ÏÂÔØ²¢°²×°CANlibÇý¶¯³ÌÐòºÍSDK£¨Windows£©
ÔÚWindowsÉÏ£¬Ê×ÏÈÎÒÃÇÐèÒª°²×°CANlibÇý¶¯³ÌÐò£¬Äú¿ÉÒÔ´ÓÔÆº£ÓÎÏ·ÏÂÔØÒ³Ãæ»òÖ±½Ó´Ókvaser_drivers_setp.exeÏÂÔØ²¢ÔËÐС°Ôƺ£ÓÎÏ· Drivers for Windows¡±¡£
Èç¹ûÐèҪʹÓõIJ»½ö½öÊÇ»ù±¾µÄcanlib¿â£¬ÄÇô»¹ÐèÒªÏÂÔØÔÆº£ÓÎÏ· CANlib SDK£¬·½·¨ÊÇ´ÓÍ¬Ò»ÔÆº£ÓÎÏ·Ò³Ãæ»òÖ±½Ó´Ócanlib.exeÏÂÔØ²¢°²×°¡£Õ⽫°²×°ÆäËûÖ§³Ö¿âµÄdllÎļþ¡£
ÕâÁ½¸ö°ü£¬¡°Ôƺ£ÓÎÏ· Drivers for Windows¡±ºÍ¡°Ôƺ£ÓÎÏ· CANlib SDK¡±£¬°üº¬Ëù°üº¬dllÎļþµÄ32λºÍ64λ°æ±¾¡£
Ϊȷ±£Çý¶¯³ÌÐòÒÑÕýÈ·°²×°£¬Çë°´windows°´Å¥£¬È»ºóËÑË÷¡°Ôƺ£ÓÎÏ· Device Guide£¨Ôƺ£ÓÎÏ·É豸ָÄÏ£©¡±¡£Èç¹û³öÏÖ¡°Ôƺ£ÓÎÏ· Device Guide£¨Ôƺ£ÓÎÏ·É豸ָÄÏ£©¡±£¬Ôò´ú±í°²×°³É¹¦¡£
1.4 Linux
Èç¹ûÄúʹÓõÄÊÇLinux²Ù×÷ϵͳ£¬ÒÔϲ¿·Ö½«½âÊÍÈçºÎÏÂÔØLinuxרÃÅÐèÒªµÄÈí¼þ¡£Èç¹ûÄúÓÐWindows²Ù×÷ϵͳ£¬Çë²é¿´ÉÏÒ»²¿·ÖÄÚÈÝ¡£
1.4.1 ÏÂÔØ²¢°²×°Python£¨Linux£©
µÚÒ»²½Êǰ²×°Python¡£Óйذ²×°PythonµÄ²»Í¬·½·¨µÄÏêϸָÄÏ£¬Çë·ÃÎÊRealPython.com°²×° Python¡£ÒÔÏÂÊÇÔÚLinuxϰ²×°PythonµÄ¼òÒª¸ÅÊö£º
1.4.1.1 ¼ì²éPython°æ±¾£¨Linux£©
ÔÚLinuxϰ²×°Python֮ǰ£¬Çë¼ì²éÊÇ·ñÒѰ²×°»òÕß°²×°ÁËÄĸö°æ±¾¡£´ò¿ªÖն˲¢³¢ÊÔÒÔÏÂÃüÁ
$ python ¨Cversion
$ python3 ¨Cversion # Used by most Linux system to invoke python v3+
Èç¹û°²×°ÁËPython£¬ÔòÆäÖÐÒ»¸ö»òÁ½¸öÃüÁ·µ»ØÒÔÏÂÐÅÏ¢£¨½ØÖÁ2021Äê6ÔÂ15ÈÕ£¬Python 3.9.5ÊÇ×îа汾£©£º
Python 3.9.5
Èç¹ûδ°²×°Python»ò°²×°µÄ°æ±¾Ì«¾É£¬Çë²é¿´ÏÂÒ»²¿·ÖÄÚÈÝÒÔ°²×°¸üа汾µÄPython¡£
1.4.1.2 °²×°Python£¨Linux£©
Èç¹ûÒѾ°²×°ÁË¿ÉʹÓõÄPython°æ±¾£¨3.7+£©£¬ÇëÌø¹ýÕâÒ»²¿·Ö£¬·ñÔòÇë°²×°Python¡£ÔÚ±¾Ö¸ÄÏÖУ¬ÎÒÃǽ«Ê¹ÓòÙ×÷ϵͳµÄÈí¼þ°ü¹ÜÀíÆ÷¡£Çë×¢Ò⣬ÓÐЩ²Ù×÷ϵͳûÓÐÈí¼þ°ü¹ÜÀíÆ÷¡£Çë·ÃÎÊrealpython.comÁ˽â¸ü¶àÐÅÏ¢¡£ÎÒÃÇÖ»»á½éÉÜÈçºÎÔÚUbuntu 18.04¡¢Ubuntu 20.04ÒÔ¼°¸ü¸ß°æ±¾Éϰ²×°¡£Óйز»Í¬²Ù×÷ϵͳµÄ½øÒ»²½ËµÃ÷£¬Çë·ÃÎÊRealPythonÔÚLinuxÉϰ²×°Python¡£
¶ÔÓÚUbuntu£¬Ê×ÏÈÔËÐÐÒÔÏÂÃüÁîÒÔÈ·¶¨±¾µØUbuntu°æ±¾£º
$ lsb_release -a
È»ºó£¬Èç¹û°æ±¾ºÅΪ18.04»ò20.04¼°¸ü¸ß£¬ÇëÖ´ÐÐÒÔϲÙ×÷£º
$ sudo apt-get update
$ sudo apt-get install python3 python3-pip
°²×°Íê³Éºó£¬Ê¹ÓÃpython3ÃüÁîÔËÐÐPython£¬Ê¹ÓÃpip3ÃüÁîÔËÐÐpip¡£ÔÙ´ÎÔËÐÐPython3 –versionÒÔÈ·±£°²×°³É¹¦¡£
1.4.2 ʹÓÃÐéÄâ»·¾³£¨Linux£©
ΪÁË·½±ãµØÔËÐÐPython£¬½¨ÒéʹÓÃÐéÄâ»·¾³¡£ÓйØÐéÄâ»·¾³µÄ¶¨Ò壬Æä±ØÒªÐÔÒÔ¼°°²×°·½Ê½µÄ¸üÏêϸÃèÊö£¬Çë·ÃÎÊRealPython.comµÄpythonÐéÄâ»·¾³Ò³Ã档ʹÓÃÐéÄâ»·¾³µÄÄ¿µÄÊǰïÖú´æ´¢Ä¿Â¼ºÍ½ÓÊÕÖîÈçcanlibÖ®ÀàµÄÕ¾µãÈí¼þ°ü¡£
ÔÚ´´½¨ÐéÄâ»·¾³Ö®Ç°£¬ÎÒÃÇÐèÒª´´½¨Ò»¸öÎļþ/Ŀ¼£¬ÓÃÓÚ·ÅÖÃÎÒÃÇËùÐèµÄÐéÄâ»·¾³ºÍ½«Ê¹Óøû·¾³µÄÏîÄ¿¡£ÔÚ´ËʾÀýÖУ¬´´½¨µÄÎļþÃûΪenv¡£
Ê×ÏÈ£¬Ê¹ÓÃÒÔÏÂÃüÁî´´½¨Ò»¸öÐÂĿ¼²¢½øÈëÆäÖУº
$ mkdir python-virtual-environments && cd python-virtual-environments
È»ºó£¬Ê¹ÓÃÒÔÏÂÃüÁî°²×°PythonÐéÄâ»·¾³£º
$ sudo apt-get install python3-venv
ÒªÔÚLinuxÖд´½¨ÐéÄâ»·¾³£¬ÇëÔËÐÐÒÔÏÂÃüÁ
$ python3 -m venv .venv ¨Cprompt pyproj
¡°python3¡±Ö¸Ê¾Linux½«Æô¶¯Python 3µÄ×îа汾£¬¡°-m¡±Ö¸Ê¾ÎÒÃÇÒªÔËÐÐÒ»¸öÄ£¿é£¬¡°venv¡±ÊÇÄ£¿éµÄÃû³Æ¡£¡°.venv¡±¾ö¶¨½«ÔÚÆäÖд´½¨ÐéÄâ»·¾³µÄĿ¼µÄÃû³Æ¡£¡°¨Cprompt¡±ÔÚÐéÄâ»·¾³±»¼¤»îʱ¸ü¸ÄÆäÃû³Æ£¬¡°pyproj¡±Ö¸¶¨Ãû³ÆÓ¦Îª¡°pyproj¡±¡£
Òª¼¤»îÐéÄâ»·¾³£¬ÎÒÃÇÐèÒªÔËÐÐÒÔÏÂÃüÁ
$ source .venv/bin/activate
(pyproj) $
ÕâÊÇÒ»Ìõͨ¹ývenvµ½bin×îºó¼¤»îµÄÔ´´úÂë·¾¶¡£ÏÖÔÚ£¬ÎÒÃÇ¿ÉÒÔµ¥¶ÀʹÓû·¾³¡¢°üºÍ×ÊÔ´¡£ÒªÍ£ÓÃÐéÄâ»·¾³£¬Çë¼üÈ룺
(pyproj) $ deactivate
1.4.3 ÏÂÔØ²¢°²×°CANlibÇý¶¯³ÌÐòºÍSDK£¨Linux£©
ÔÚLinuxÖУ¬Ê×ÏÈͨ¹ýÏÂÔØºÍ°²×°”ÔÆº£ÓÎÏ· LINUX Driver and SDK”À´°²×°CANlib£¬¸ÃÈí¼þ¿ÉÒÔÔÚÔÆº£ÓÎÏ·ÏÂÔØÒ³ÃæÖлòÖ±½Ó´Ólinuxcan.tar.gzÖÐÕÒµ½¡£
Èç¹ûҪʹÓõIJ»½ö½öÊÇ»ù±¾µÄcanlib¿â£¬Ôòͨ¹ýÏÂÔØºÍ°²×°”Linux SDK¿â” kvlibsdk.tar.gzÀ´»ñµÃÆäËûÖ§³ÖµÄ¿â¡£Òª¼ì²éÊÇ·ñÕýÈ·°²×°£¬ÇëÔËÐÐlistChannels£¬½á¹ûÓ¦¸ÃÀàËÆÓÚ£º
(pyproj)$ /usr/doc/canlib/examples/listChannels
CANlib version 5.36
Found 4 channel(s).
ch 0: ÔÆº£ÓÎÏ· USBcan Pro 2xHS v2 73-30130-00752-9, s/n 13406, v3.25.753 (mhydra v8.36.575)
ch 1: ÔÆº£ÓÎÏ· USBcan Pro 2xHS v2 73-30130-00752-9, s/n 13406, v3.25.753 (mhydra v8.36.575)
ch 2: ÔÆº£ÓÎÏ· Virtual CAN 0-00000-00000-0, s/n 1, v0.0.0 (kvvirtualcan v8.36.575)
ch 3: ÔÆº£ÓÎÏ· Virtual CAN 0-00000-00000-0, s/n 1, v0.0.0 (kvvirtualcan v8.36.575)