在使用Arduino的過程中,免不了要使用一些庫文件(代碼集),這些代碼集使得我們無需從0-1地搭建我們所需功能,使得學習和使用Arduino變得更加方便簡單。除此之外,平時直接從網上download下的代碼也很有可能因為相應包沒下載而報錯。本篇以eFLL(embedded fuzzy logic library)為例,帶大家手把手地進行庫的下載和使用,並針對相關庫的一些注意事項進行了簡單說明。
一、庫文件的簡單介紹
1. 如何下載庫文件?(以eFLL為例)
2. 如何安裝/導入庫(eFLL)文件?
二、Arduino中管理庫文件的三個位置
1. Arduino IDE安裝時的文件夾
2. Arduino的核文件夾
3. 項目文件夾
4. 這三個位置的差異
一、庫文件的簡單介紹
一般情況下,庫以.ZIP的文件封裝,解壓.ZIP文件后,里面有各種相關的示例,測試文件以及底層代碼可供深入了解和學習。eFLL是Arduino平台提供的用於嵌入式系統(比如Arduino或NodeMCU)中實現模糊系統的標准庫,並且跟所有的Arduino板適配。下圖是eFLL的庫文件,可以看到examples和tests文件夾和一些二其它文件,尤其是examples里的文件,對剛接觸到某個新庫的同學們是來說真的是非常非常有用的。
需要注意的是,這些庫並非是一成不變的,而是逐步迭代的,所以存在一個庫有多個版本存在的情況,比如這個eFLL目前就有五個版本,分別為1.3.1(最新),1.3.0,1.2.0,1.1.1和1.1.0。
1. 如何下載庫文件?(以eFLL為例)
(1)eFLL的.zip文件(1.3.1,1.3.0,1.2.0,1.1.1和1.1.0),點擊下載對應版本
(2)在特定項目在GitHub的官方頁(https://github.com/zerokol/eFLL)中直接下載.ZIP文件。
(3)bd雲盤方式:
鏈接:https://pan.baidu.com/s/1YQfpoF-0C6e5n1DpA6BSeg
提取碼:shd9
2. 如何安裝/導入庫(eFLL)文件?
(1)使用庫管理器(library mananager) (這種方法無需用到下載的.ZIP文件)
a 項目-加載庫-管理庫; b 在彈出來的“庫管理器”中搜索“eFLL”,找到你需要的版本(沒有限制就選擇最新的)並點擊“安裝”即可。
(2)添加.ZIP文件
在Arduino IDE中單擊項目-加載庫-添加.ZIP庫,選擇下載好的庫文件即可
(3)手動安裝庫(了解即可,用的比較多的還是前兩種方法)
在Arduino IDE中打開文件-首選項,查看項目文件夾(sketchbook)位置,在這個文件夾中有個libraries文件夾,把.ZIP解壓縮后的所有文件(為了安全起見,請把文件夾的名稱改成eFLL),放到這里即可。
操作完成后重啟Arduino IDE,點擊項目(sketch)-加載庫(include library),查看是否顯示你剛剛添加的庫。
二、Arduino中管理庫文件的三個位置
在這里需要說明一下這個庫放置的位置。在Arduino中,庫可以有三種方式存放,也就是有位於3個不同位置存放有libraries文件夾:(1)Arduino IDE安裝的文件夾(2)Arduino的核文件夾(3)項目文件夾。以上三種安裝庫的方式中,除了最后一種庫導入方式使得庫的位置具有選擇性,前兩種的庫的位置可在項目文件夾中libraries中找到。
1. Arduino IDE安裝的文件夾(也叫distribution folder,分發文件夾)
這個文件夾就是你在安裝Arduino過程中的目標文件夾。下載完畢后,打開相應文件夾可看見libraries文件夾。
(插一個小疑惑:一開始我怎么都找不到Arduino IDE安裝的文件夾,我就開始搜索關鍵詞,搜索邏輯是既然arduino IDE可以在我的電腦上運行,那必定是存在一個.exe文件;既然我的IDE里的examples里的內置示例都可以查看,那電腦中也應該存在以對應.ino命名的文件,使用了“arduino.exe”,“examples”等很多關鍵詞搜索,但都一無所獲,也沒法找到軟件的屬性。后來我發現我的IDE上有“Windows Store字樣”,這才想起來這可能是我當時直接從微軟商店里下載的。
我從官網上又下載了arduino的可執行文件並安裝,發現我想要的東西就都有了,並且這兩個IDE可以同時運行。
但我還是疑惑微軟商店里下載的為什么就找不到安裝位置。如果知道的朋友們可以解答一下,那真的太感激不過了~~)
2. Arduino的核文件夾(core folder):
這個核(core)說白了就是讓你的板子和微處理器及相關項目和庫適配,想用不同的板子你就得有對應的的核。從Arduino Software (IDE) version 1.6.2開始,所有Arduino AVR板都保存在“Arduino”安裝文件夾中(Windows默認為C:\Program Files (x86)\Arduino\hardware\arduino\ AVR)。
然而,其它的板子需要安裝一個額外對應的核,並存儲在電腦的一個其它的文件夾。一般通過在Arduino IDE中的“開發板管理器”添加對應板子的核,這也是檢查和更新已安裝核心版本的最佳方式。下面這個目錄列表是新的核心文件在計算機中的位置
On GNU/Linux: ~/.arduino15/packages/
On Windows: %APPDATA%\Arduino15\packages\
On macOS: ~/Library/Arduino15/packages/
在Windows上,如果你在Arduino主文件夾中創建一個名為“portable”的文件夾,所有的包、庫和草圖都會存儲在這兒,這樣就可以把所有東西都放在一個地方,方便移動或同步。
下圖是我的電腦所安裝的位置,可以看出我額外為這三個板子下載了相關文件。
打開ESP8266的文件來看看庫在哪里~
3. 項目文件夾中的libraries文件夾
4. 這三個位置的差異
通常來說,不管你項目需要的庫在哪個位置,都可以正常運行,但這三個位置還是有一些不同特性:
(1)項目文件夾 vs 分發文件夾; 項目文件夾 vs 核文件夾:在項目的編譯期間,如果你需要的庫在分發文件夾(Aruduino安裝時文件夾)里,同時你項目文件夾中的“libraries”文件夾中放置了同樣的庫,無論版本高低都會使用項目文件夾中的庫文件。同理適用於核文件夾和項目文件夾的庫,項目文件夾的庫也會覆蓋。
(2)核文件夾 vs IDE分發文件夾中的庫 當的的板選擇一個特定的核心時,將使用核文件夾中出現的庫,而不是IDE分發文件夾中出現的相同庫。
(3)建議庫只安裝於項目文件夾(第3種方式)中,因為Arduino IDE在自動升級過程中,Arduino(或安裝IDE的文件夾)中的所有文件被刪除,並創建一個新的文件夾與新內容。如果你的庫都在項目文件夾中,它與IDE文件夾不在一個位置,這樣它們就不會在Arduino IDE更新過程中被刪除啦
就是這些啦!有什么問題可以在評論區留言哦~~ 希望這些總結的知識可以給你們帶來哪怕一些些的幫助啦,方便的話可以要求一個贊鼓勵一下嘛,hhh 轉發請注明來源~
參考文章:
https://support.arduino.cc/hc/en-us/articles/360012076960-Where-are-the-installed-cores-located-
https://www.arduino.cc/en/guide/cores
https://www.arduino.cc/en/Guide/Libraries