{"id":721,"date":"2016-03-27T15:26:56","date_gmt":"2016-03-27T07:26:56","guid":{"rendered":"https:\/\/yanjingang.com\/blog\/?p=721"},"modified":"2021-11-25T12:06:09","modified_gmt":"2021-11-25T04:06:09","slug":"%e5%b0%8f%e7%8c%aa%e5%ad%a6arduino-mac-os-x%e7%b3%bb%e7%bb%9f%e4%b8%8aarduino%e5%85%a5%e9%97%a8","status":"publish","type":"post","link":"https:\/\/yanjingang.com\/blog\/?p=721","title":{"rendered":"\u5c0f\u732a\u5b66arduino\u2014Mac\/Ubuntu\u7cfb\u7edf\u4e0aArduino\u73af\u5883\u642d\u5efa"},"content":{"rendered":"<h3>1\u3001\u83b7\u5f97Arduino\u5f00\u53d1\u677f\u548cUSB\u8fde\u63a5\u7ebf<\/h3>\n<p>\u5728\u8fd9\u4e2a\u6559\u7a0b\u91cc\uff0c\u6211\u4eec\u9ed8\u8ba4\u4f60\u7528\u7684\u662f\u4e00\u5757<a class=\"wikilink\" href=\"https:\/\/www.arduino.cc\/en\/Main\/ArduinoBoardUno\">Uno<\/a>. \u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f\u5176\u4ed6\u7535\u8def\u677f\uff0c\u8bf7\u5728\u5f00\u59cb\u4ecb\u7ecd\u624b\u518c\u91cc\u9762\u9605\u8bfb\u5bf9\u5e94\u7684\u5185\u5bb9\u3002<\/p>\n<p>\u4f60\u4e5f\u53ef\u4ee5\u7528\u4e00\u6761\u6807\u51c6\u7684USB\u7ebf (A \u63a5\u53e3\u5bf9B\u63a5\u53e3)\uff0c\u6bd4\u5982\u8bf4\u4f60\u8fde\u63a5\u5230\u6253\u5370\u673aUSB\u63a5\u53e3\u7528\u7684\u7ebf\u3002<\/p>\n<div>\u00a0\u00a0<a href=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/12.png\" rel=\"attachment wp-att-901\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-901\" src=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/12.png\" alt=\"12\" width=\"450\" height=\"329\" srcset=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/12.png 450w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/12-300x219.png 300w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/><img loading=\"lazy\" class=\"alignnone size-full wp-image-900\" src=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/11.jpg\" alt=\"11\" width=\"250\" height=\"250\" srcset=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/11.jpg 250w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/11-150x150.jpg 150w\" sizes=\"(max-width: 250px) 100vw, 250px\" \/><\/a><\/div>\n<div>\n<h3>2\u3001\u4e0b\u8f7dArduino\u8f6f\u4ef6\uff08IDE\uff09<\/h3>\n<p>\u901a\u8fc7<a class=\"wikilink\" href=\"https:\/\/www.arduino.cc\/en\/Main\/Software\">\u4e0b\u8f7d\u9875\u9762<\/a>\u4e0b\u8f7d\u6700\u65b0\u7248Arduino\u8f6f\u4ef6\uff08IDE\uff09\u3002 \u4e0b\u8f7d\u5b8c\u6210\u540e\uff0c\u53cc\u51fbzip\u6587\u4ef6\u4ee5\u89e3\u538b\u6587\u4ef6\u3002<\/p>\n<\/div>\n<p>MAC\u4e0b\u5c06Arduino\u5e94\u7528\u7a0b\u5e8f\u590d\u5236\u5230Application\u6587\u4ef6\u5939\uff08\u6216\u60a8\u7535\u8111\u4e2d\u7684\u5176\u4ed6\u4f4d\u7f6e\uff09\u4e2d\u3002<\/p>\n<p>Linux\u4e0bsudo mv arduino-1.8.13 \/usr\/share\/\uff0c\u8fdb\u5165arduino-1.8.13<\/p>\n<h3>3\u3001\u5b89\u88c5USB\u8f6cCH341\u9a71\u52a8<\/h3>\n<p>\u5b89\u88c5USB\u8f6c\u4e32\u53e3CH340\/CH341\u768432\u4f4d\/64\u4f4d\u865a\u62df\u4e32\u53e3 \u9a71\u52a8\u7a0b\u5e8f\u3002<\/p>\n<p>http:\/\/www.wch.cn\/download\/CH341SER_MAC_ZIP.html\u00a0 \u00a0 \u00a0#MAC<\/p>\n<p>linux\u4e0b\u5f88\u65e9\u5c31\u5185\u7f6e\u4e86\u8fd9\u4e2a\u9a71\u52a8\uff0c\u53ef\u4ee5\u901a\u8fc7locate ch341.ko\u67e5\u770b\u5b89\u88c5\u4f4d\u7f6e\u3002<\/p>\n<h3>4\u3001\u8fde\u63a5\u5f00\u53d1\u677f<\/h3>\n<p>UNO, Mega 2560 \u548cMicro\u80fd\u81ea\u52a8\u901a\u8fc7\u8fde\u63a5\u5230\u7535\u8111\u7684USB\u7ebf\u6216\u8005\u5916\u90e8\u7684\u4f9b\u7535\u6765\u83b7\u53d6\u7535\u6e90\u3002\u4f60\u53ef\u4ee5\u7528USB\u7535\u6e90\u7ed9\u677f\u5b50\u4f9b\u7535\u3002<\/p>\n<p>\u5f53\u4f60\u7528USB\u7ebf\u628a\u677f\u5b50\u548c\u7535\u8111\u8fde\u63a5\u8d77\u6765\u540e\uff0c\u4f60\u4f1a\u770b\u5230\u7535\u8def\u677f\u4e0a\u9762\u7eff\u8272\u7684LED\uff08\u6807\u6ce8\u7740\u201cPWR\u201d\uff09\u88ab\u70b9\u4eae\u3002<\/p>\n<h3>5\u3001\u542f\u52a8Arduino\u8f6f\u4ef6<\/h3>\n<p>\u53cc\u51fbArduino\u5e94\u7528\u7a0b\u5e8f\u3002\uff08\u6ce8\uff1a\u82e5Arduino\u8f6f\u4ef6\uff08IDE\uff09\u52a0\u8f7d\u6240\u7528\u8bed\u8a00\u4e0d\u9002\u5408\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u7cfb\u7edf\u914d\u7f6e\u5bf9\u8bdd\u6846\u66f4\u6539\u8bbe\u7f6e\uff09\u3002\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003<a class=\"wikilink\" href=\"https:\/\/www.arduino.cc\/en\/Guide\/Environment#languages\">Arduino \u8f6f\u4ef6(IDE)\u9875\u9762<\/a><\/p>\n<h3>6\u3001\u6253\u5f00\u95ea\u70c1\u793a\u4f8b<\/h3>\n<p>\u6253\u5f00LED Blink \u6837\u4f8b\u4ee3\u7801\uff1a<strong>\u6587\u4ef6&gt;\u793a\u4f8b&gt;01.Basics &gt; Blink<\/strong>\u3002<\/p>\n<div><img title=\"\" src=\"https:\/\/www.arduino.cc\/en\/uploads\/Guide\/CNArduino1Blink.png\" alt=\"\" \/><\/div>\n<p>&nbsp;<\/p>\n<h3>7\u3001\u9009\u62e9\u5f00\u53d1\u677f<\/h3>\n<p>\u4f60\u5c06\u9700\u8981\u5728<strong>\u5de5\u5177&gt; \u677f<\/strong> \u83dc\u5355\u9009\u62e9\u5bf9\u5e94\u7684Genuino\u677f\u5b50\uff0c\u4e0a\u9762\u4f1a\u5217\u7740Arduino\/Genuino\u4ee5\u53ca\u677f\u5b50\u7684\u7c7b\u578b\uff08Uno, Mega 2560 or Micro).<\/p>\n<div><img title=\"\" src=\"https:\/\/www.arduino.cc\/en\/uploads\/Guide\/CNToolsMenu.png\" alt=\"\" \/><\/div>\n<p>\u9009\u62e9Arduino\/Genuino Uno\u677f\u5b50<\/p>\n<p>\u5177\u4f53\u7684\u7535\u8def\u677f\u9009\u9879\u8bf7\u53c2\u8003\u8fd9\u4e2a\u9875\u9762 <a class=\"urllink\" href=\"http:\/\/arduino.cc\/cn\/Guide\/Environment#boards\" rel=\"nofollow\">\u5728\u73af\u5883\u9875\u9762<\/a>.<\/p>\n<h3>8\u3001\u9009\u62e9\u4e32\u884c\u7aef\u53e3<\/h3>\n<p>\u4ece\u201c\u5de5\u5177&gt;\u4e32\u53e3\u201d\u83dc\u5355\u4e2d\u9009\u62e9Arduino\/ Genuino\u5f00\u53d1\u677f\u7684\u4e32\u53e3\u8bbe\u5907\u3002\u5bf9\u4e8eMac\u8bbe\u5907\uff0c\u5219\u5e94\u8be5\u662f\u201c\/dev\/tty.usbmodem\u201d\uff08\u7528\u4e8eArduino\/ Genuino Uno\u6216Arduino\/ Genuino Mega 2560\uff09\u3002<\/p>\n<div><img title=\"\" src=\"https:\/\/www.arduino.cc\/en\/uploads\/Guide\/CNSelectingUno.png\" alt=\"\" \/><\/div>\n<p>Ubuntu\u7b49linux\u73af\u5883\u7aef\u53e3\u9009\u62e9\/dev\/ttyUSB0\uff1a<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\"># \u5982\u679clinux\u4e0bupload\u7a0b\u5e8f\u5230\u677f\u5b50\u4e0a\u65f6\u9047\u5230avrdude: ser_open(): can't open device \"\/dev\/ttyUSB0\": Permission denied\u9519\u8bef\r\n# \u89e3\u51b3\u65b9\u6cd5\u5982\u4e0b\uff1a\r\nsudo ls -al \/dev\/ttyUSB0      #\u53ef\u4ee5\u53d1\u73b0\/dev\/ttyUSB0\u662f\u5c5e\u4e8eroot\u7528\u6237\u7684\uff0c\u666e\u901a\u7528\u6237\u6ca1\u6709\u6743\u9650\r\n    crw-rw---- 1 root dialout 188, 0 Jun 23 14:49 \/dev\/ttyUSB0\r\nsudo vim \/etc\/udev\/rules.d\/70-ttyusb.rules      #\u65b0\u5efa\u4e00\u4e2audev\u7684\u89c4\u5219\u6587\u4ef6\r\n    <span style=\"color: #ff0000;\">KERNEL==\"ttyUSB[0-9]*\",MODE=\"0666\"\r\n    KERNEL==\"ttyACM[0-9]*\",MODE=\"0666\"<\/span>\r\nsudo ls -al \/dev\/ttyUSB0      #\u91cd\u65b0\u63d2\u62d4\u4e00\u4e0bUSB\uff0c\u53ef\u4ee5\u770b\u5230\u666e\u901a\u7528\u6237\u6709\u4e86\u8bfb\u5199\u6743\u9650\r\n    crw-rw-<span style=\"color: #ff0000;\">rw<\/span>- 1 root dialout 188, 0 Jun 23 14:53 \/dev\/ttyUSB0<\/code><\/pre>\n<h3>9\u3001<span style=\"font-size: 1.14286rem;\">\u4e0a\u4f20\u7a0b\u5e8f<\/span><\/h3>\n<p>\u73b0\u5728\uff0c\u4f60\u53ea\u9700\u8981\u5728Arduino\u8f6f\u4ef6\uff08IDE)\u70b9\u51fb\u201c\u4e0a\u4f20\u201d\u6309\u94ae. \u7a0d\u7b49\u7247\u523b\uff0c\u4f60\u5c31\u4f1a\u770b\u5230\u677f\u5b50\u4e0a\u9762\u6807\u6709RX\u548cTX\u7684LED\u706f\u5728\u95ea\u3002 \u5982\u679c\u4e0a\u4f20\u6210\u529f,\u72b6\u6001\u680f\u4f1a\u51fa\u73b0\u201c\u4e0a\u4f20\u6210\u529f\u201d\u7684\u5b57\u6837\u3002<\/p>\n<div><img title=\"\" src=\"https:\/\/www.arduino.cc\/en\/uploads\/Guide\/UploadButton1.png\" alt=\"\" \/><\/div>\n<p>\u4e0a\u4f20\u5b8c\u4e4b\u540e\uff0c\u4f60\u4f1a\u5f88\u5feb\u770b\u5230\u677f\u5b5013\u53f7\u9488\u811a\uff08L\uff09\u7684LED\u5f00\u59cb\u5728\u95ea\u3002\u8fd9\u8bc1\u660e\u4e0a\u4f20\u6210\u529f\u4e86\uff0c\u4f60\u5df2\u7ecf\u628aGenuino\u548cArduino\u8f6f\u4ef6\uff08IDE)\u8dd1\u8d77\u6765\u4e86\uff01<\/p>\n<h3>10\u3001\u5b89\u88c5\u6269\u5c55\u5f00\u53d1\u7248<\/h3>\n<p>\u6dd8\u5b9d\u4e0a\u6709\u5f88\u591a\u975e\u5b98\u65b9\u7684\u677f\u5b50\uff0c\u4ef7\u683c\u4e5f\u5f88\u4fbf\u5b9c\uff0c\u5176\u4e2d\u5f88\u591a\u662fESPDuino\uff08ESP8266 Wifi+Arduino\uff09\u677f\u5b50\uff0c\u8fd9\u7c7b\u677f\u5b50\u76f4\u63a5\u9009Arduino Uno\u662f\u4e0a\u4f20\u4e0d\u4e0a\u53bb\u7a0b\u5e8f\u7684\uff0c\u9700\u8981\u5728\u5f00\u53d1\u7248\u7ba1\u7406\u5668\u91cc\u6dfb\u52a0ESPDuino\u3002<\/p>\n<p>\u9996\u9009\u9879-\u8bbe\u7f6e\u9644\u52a0\u5f00\u53d1\u677f\u7ba1\u7406\u5668\u7f51\u5740\uff1ahttp:\/\/arduino.esp8266.com\/stable\/package_esp8266com_index.json<\/p>\n<p><a href=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-setting.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-4061\" src=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-setting-1024x927.png\" alt=\"\" width=\"625\" height=\"566\" srcset=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-setting-1024x927.png 1024w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-setting-300x272.png 300w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-setting-768x695.png 768w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-setting-624x565.png 624w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-setting.png 1418w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a><\/p>\n<p>\u5de5\u5177-\u5f00\u53d1\u677f-\u5f00\u53d1\u677f\u7ba1\u7406\u5668\u5b89\u88c5esp8266\u5f00\u53d1\u677f\uff1a<\/p>\n<p><a href=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-4059\" src=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-1024x576.png\" alt=\"\" width=\"625\" height=\"352\" srcset=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-1024x576.png 1024w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-300x169.png 300w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-768x432.png 768w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino-624x351.png 624w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2016\/03\/espduino.png 1600w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a><\/p>\n<p>*\u6ce8\uff1a\u5982\u679c\u66f4\u65b0\u7d22\u5f15\u5931\u8d25\u6216\u4e0b\u8f7d\u5931\u8d25\uff0c\u53ef\u914d\u7f6e\u4ee3\u7406\u540e\u91cd\u65b0\u5b89\u88c5\u5373\u53ef<code class=\"\"><br \/>\n<\/code><\/p>\n<p><a href=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2019\/07\/arduino-vpn2.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-5494\" src=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2019\/07\/arduino-vpn2.png\" alt=\"\" width=\"628\" height=\"431\" srcset=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2019\/07\/arduino-vpn2.png 628w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2019\/07\/arduino-vpn2-300x206.png 300w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2019\/07\/arduino-vpn2-624x428.png 624w\" sizes=\"(max-width: 628px) 100vw, 628px\" \/><\/a><\/p>\n<p>\u5f00\u53d1\u7248\u9009\u62e9\u201cESPDuino\uff08ESP-13 Module\uff09\u201d\uff0cReset Medth\u9009\u201cESPduino V2\u201d\uff0c\u9009\u62e9\u7aef\u53e3\u540e\u6d4b\u8bd5\u70e7\u5f55\u3002<\/p>\n<p><a href=\"https:\/\/yanjingang.com\/blog\/?attachment_id=2782\" rel=\"attachment wp-att-2782\"><img loading=\"lazy\" class=\"alignnone wp-image-2782 size-large\" src=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2019\/07\/arduino-wifi-1024x822.png\" sizes=\"(max-width: 625px) 100vw, 625px\" srcset=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2019\/07\/arduino-wifi-1024x822.png 1024w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2019\/07\/arduino-wifi-300x241.png 300w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2019\/07\/arduino-wifi-768x617.png 768w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2019\/07\/arduino-wifi-624x501.png 624w\" alt=\"\" width=\"625\" height=\"502\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u53c2\u8003\uff1a<\/p>\n<p><a href=\"https:\/\/blog.csdn.net\/lx_ros\/article\/details\/53034160\" target=\"_blank\" rel=\"noopener noreferrer\">arduino upload\u7a0b\u5e8f\u65f6 \u51fa\u73b0can&#8217;t open device \/dev\/ttyUSB0<\/a><\/p>\n<p><a href=\"https:\/\/arduino-esp8266.readthedocs.io\/en\/latest\/installing.html#instructions-other-os\" target=\"_blank\" rel=\"noopener noreferrer\">Installing ESP8266 Arduino Core 3.0.2 documentation<\/a><\/p>\n<div><\/div>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>1\u3001\u83b7\u5f97Arduino\u5f00\u53d1\u677f\u548cUSB\u8fde\u63a5\u7ebf \u5728\u8fd9\u4e2a\u6559\u7a0b\u91cc\uff0c\u6211\u4eec\u9ed8\u8ba4\u4f60\u7528\u7684\u662f\u4e00\u5757Uno. \u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f\u5176\u4ed6\u7535\u8def [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[353,31,36],"tags":[354,836],"_links":{"self":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/721"}],"collection":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=721"}],"version-history":[{"count":0,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/721\/revisions"}],"wp:attachment":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}