Arduino Yún 小試(1)Sketch、Python 合點光明燈
如果你有一片 Arduino Uno,那麼點亮 LED 通常會是你第一個程式,其神聖的地位,差不多跟 如果你有一片 Arduino Yún,那麼點亮 LED 的方式之一,就跟拿 Arduino Uno 點亮光明燈的方式差不多 … 接上 USB、安裝驅動程式、開啟 Arduino IDE、選好板子 Arduino Yún 與序列埠、開啟 Blink 範例、上傳 … Arduino Yún 上的 D13 腳位也是連著一個 L13 的 LED,因此就會一閃一閃亮晶晶了 … 有人說,為什麼用 Arduino Uno 來點 LED,純使用電阻、電容、繼電器或電晶體就好了啊!?這就跟最近大家會看到,使用 Windows 10 點亮 Raspberry Pi 2 上的 LED,會覺得小題大作差不多 … 既然這樣,還是來個 Arduino Yún 點光明燈的風格,既然 Arduino Yún 有無線 Wifi 連線功能,那就用無線方式來點光明燈好了,不過,方式也有好幾種就是了 … 這邊要來看其中一種 … 初次設定 Arduino Yún拿到 Arduino Yún 板子,當然還是要有電源,你可以使用 micro USB 供電,USB 另一頭當然也是可以連接電腦,或者連到 USB 變壓器插座上去,如果這樣能對真的是無線連線感覺更踏實一點的話 … XD Arduino Yún 首次接通電源時,會是無線基地台模式,在你的個人電腦無線網路清單中,應該可以看到 「Arduino Yun-XXXXXXXXXXXX」的字樣,其中 XXXXXXXXXXXX 是這片 Arduino Yún 網路裝置的 MAC 位址: 在連上「Arduino Yun-XXXXXXXXXXXX」這個無線網路之後,可以開啟瀏覽器,連接 192.168.240.1 這個位址,你會看到一個登入畫面,密碼預設是 arduino: 如果你的電腦支援 Bonjour 服務,也可以直接連線 arduino.local,Windows 使用者可以下載安裝 Bonjour,並確認防火牆沒有阻擋 5353 連接埠。 登入之後,你會看到 Arduino Yún 的基本資訊: 接下來可按下「CONFIGURE」進行名稱、密碼、時區、無線網路等設定: Yún NAME 預設是 arduino,如果你修改了這個名稱為 xxxx,那麼原先可使用 arduino.local 連線,之後就要改為 xxxx.local 連線。接下來看看網頁下半部的設定: 這邊設定好你實際連外的無線網路 AP 與密碼,在 REST API ACCESS 存取權設定部份,請先選擇 OPEN,這在之後可以透過 REST API 來控制存取 Arduino Yún,接著按下「CONFIGURE & RESTART」重啟: 重啟之後,Arduino Yún 會轉為無線網卡模式,連上你設定的無線網路,你的個人電腦也要連上相同的無線網路,之後,就可以連接 xxxx.local 或 Arduino Yún 取得的 IP 進行連線。 無線上傳 Sketch開啟你的 Arduino IDE,因為使用 Arduino Yún,所以 Arduino IDE 必須是 1.5.x 或 1.6.x 的版本。 選擇「工具/板子」中的「Arduino Yún」,接著選擇「工具/序列埠」中的「arduino at xxx.xxx.xxx.xxx (Arduino Yún)」,其中 xxx 是 Arduino Yún 取得的 IP 位址: 那麼,接下來就可以開啟 Blink 範例並上傳了嗎?是可以啦!就當作是測試看看無線上傳是否成功,無線上傳必須輸入方才設定的密碼: 上傳成功的話,你就會看到板子上 L13 的 LED 開始閃爍,嗯!這也算是點光明燈的方法之一,但並不是我想在這篇中介紹的主角,我們要寫另一個 Sketch:
將這個 Sketch 上傳,你不會看到 L13 的 LED 閃爍,因為,你得透過 Bridge 來控制它,Bridge 之後會詳細介紹,簡單來說,Arduino Yún 中有兩個晶片,其中一個控制 Arduino,另一個運行著 Linux 分支 Linino,我們要 SSH 至 Linux 中來控制 LED。 Linino 端 Python 點亮光明燈使用你慣用的 SSH 工具,以 root 連線 xxx.local 或 Arduino Yún 的 IP,你會看到以下歡迎畫面: 這環境預設安裝了 Python 2.7.3: 可以看到,其中 你可以使用 vim,在 lightUpL13 .py 中撰寫以下的程式:
為了讓 Python 找得到 Bridge 程式庫,在系統的 PATH 路徑清單前插入了 Bridge 程式庫的路徑,由於方才的 Sketch 會一直取得 程式存檔之後,執行 只是要點亮個光明燈,有必要搞到這麼複雜嗎?嗯!從硬體角度來看,是真的太小題大作了,不過,藉由這小小的範例,可以初步瞭解到,Arduino Yún 是個有無線網路、有 Linux 在上頭,且可透過 Bridge 溝通的 Arduino,從程式設計者的角度來看,就有了很多的想像空間了! |
love958883
09/23
您好,我想詢問有沒有方法是在執行 python lightUpL13.py時候,不用在最後加入"1"就能夠亮燈的方法呢?請求給予協助,謝謝您