
Java Embedded(3)Raspberry Pi 硬體週邊與作業系統設定
Java Embedded(2)安裝 Java Embedded 開發環境 << 前情 3-1 準備好Raspberry Pi與需要的設備目前已經安裝好Java SE 8與Java SE Embedded 8 JDK,也瞭解Java SE Embedded的基本概念,接下來就開始準備嵌入式應用程式運作的設備,包含Raspberry Pi與必要的週邊設備,還有讓Raspberry Pi可以運作的作業系統。 Raspberry Pi是Raspberry Pi基金會研發的單板電腦,以提供學校電腦教育為目的。目前Raspberry Pi基金會授權給兩家經銷商,在官方網站http://www.raspberrypi.org/buy/提供它們的連結: 兩家經銷商中的「element 14」提供台灣的的購物網站http://tw.element14.com/,進入網站後,搜尋產品「Raspbery Pi」,可以看到所有相關的商品: 目前Raspberry Pi最新的產品是「Raspberry Pi 2 Model B」,建議購買Pi 2 Model B或Pi Model B+。在台灣有其它許多購買Raspberry Pi的管道,請你自行搜尋與比較,例如運費、保固與開發技術的支援。 準備好Raspberry Pi以後,接下來認識其它需要的週邊設備:
這是Raspberry Pi Model B連接好設備以後的樣子(使用USB Hub供應電源,USB WiFi無線網卡): 另外這張圖片,使用一般行動電話使用的充電器(5V1A),連接到Raspberry Pi的Micro USB供應電源,使用網路線連接到RJ45埠: 為了在學習Java嵌入式程式設計的過程可以節省一些費用,建議儘量使用現有的設備。 3-2 建立Raspberry Pi的作業系統記憶卡準備好需要的硬體設備以後,就剩下Raspberry Pi作業系統的部份了。Raspberry Pi使用記憶卡為主要的儲存設備,所以作業系統也必須安裝在記憶卡。Raspberry Pi支援許多Linux作業系統,官方網站提供幾種不同的選擇,開啟官方網站的下載網頁http://www.raspberrypi.org/downloads/,選擇「RASPBIAN」的「Download ZIP」: 檔案大約有800多MB,所以需要花費一些時間下載。儲存下載的檔案,解壓縮檔案後,就可以看到一個檔名為「2015-02-16-raspbian-wheezy.img」的作業系統檔案。(因為官方網站會不定期更新,所以檔案名稱可能不一樣) 建議先移除電腦所有的儲存設備,例如USB隨身碟與外接硬碟,把準備好的記憶卡插入電腦,確認記憶卡配置的磁碟機代號。要特別注意,執行後面的步驟以後,記憶卡的內容會全部清空,如果需要的話,先執行備份的工作。 接下來需要把作業系統檔案燒錄到記憶卡,在Windows環境下,需要下載額外的軟體。開啟這個網頁http://fedoraproject.org/wiki/FedoraARMInstaller,點選「Windows Zip Archive」下載需要的檔案: 儲存並解壓縮下載的檔案,在解壓縮的目錄下,找到「fedora-arm-installer-2.exe」檔案,按滑鼠右鍵,選擇「以系統管理員身份執行」,啟動這個應用程式。出現應用程式畫面後,選擇「Browse」按鈕,選擇剛才下載與解壓縮的作業系統檔案: 在應用程式畫面的「Destination」選擇SD記憶卡配置的磁碟機代號(請小心選擇),然後選擇「Install」按鈕: 在確認的對話框選擇「Yes」按鈕: 應用程式開始儲存作業系統檔案到記憶卡,這個工作需要花費一些時間: 完成工作後,關閉應用程式,並退出記憶卡: 3-3 Raspberry Pi作業系統的初始設定完成硬體設備和作業系統記憶卡的準備工作後,接下來就可以在Raspberry Pi啟動作業系統,並執行第一次開機的初始設定。檢查是否已經連接好這些需要的設備:
確認已經連接好設備以後,連接或開啟電源,Raspberry Pi會亮起紅色的電源指示燈,讀取儲存設備的時候,也會有黃色的指示燈,螢幕開始顯示開機過程的訊息: 第一次開機的時候,系統會自動進入設定畫面: 接下來在文字選單畫面中執行設定的工作:
完成上面的設定以後,選擇「Finish」後選擇「Yes」,系統會重新開機。開機完成後,使用帳號「pi」,上面設定好的密碼登入系統。如果你使用網路線連接到Raspberry Pi,可以輸入下列的指令檢查IP位址: ifconfig 檢查畫面上的資訊,把IP位址記起來: 3-5 設定無線網路與固定的IP位址在後續使用Rasperry Pi的時候,經常需要執行連線與傳輸檔案的工作,使用Raspberry Pi支援的USB Wifi網路卡,並為它設定一個固定的IP位址,會是比較方便一些。如果你有無線網路的設備,而且已經準備好USB無線網路卡,啟動Raspberry Pi並登入後,把USB無線網路卡插入Raspberry Pi的USB埠,執行「lsusb」指令檢查是否支援這個USB無線網路卡設備。下面是使用EdiMax EW-7811Un的顯示的訊息: pi@raspberrypi:~$ lsusb Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS] 確定作業系統支援你的USB無線網路卡以後,執行下列的指令準備使用nano編輯網路設定檔。因為網路設定檔是作業系統的設定檔,所以在nano之前加上sudo,表示使用管理員的權限執行修改檔案的工作: sudo nano /etc/network/interfaces 執行指令以後畫面顯示的是原來預設的設定檔內容,把原來預設的設定修改為下列的內容: auto lo iface lo inet loopback auto wlan0 iface wlan0 inet static address 你為Raspberry Pi決定的IP位址 netmask 子網路遮罩 gateway 預設閘道/路由器 wpa-ssid 無線網路的名稱 wpa-psk 無線網路的密碼 修改後的內容會像這樣,裡面的設定值需要依照你實際的網路環境調整: auto lo iface lo inet loopback auto wlan0 iface wlan0 inet static 修改完成以後,依序按下「Ctrl+X」、「Y」與「Enter」鍵,儲存修改後的設定檔案。執行下面關機的指令: sudo poweroff 等候Raspberry Pi完成關機以後再關閉電源,確認USB無線網路卡已經插入Raspberry Pi的USB埠,啟動並登入Raspberry Pi,執行「ifconfig」指令確認網路的設定是否正確。無線網路的名稱是「wlan0」,所以執行「ifconfig wlan0」指令,顯示無線網路的狀態就可以了: pi@raspberrypi:~$ ifconfig wlan0 wlan0 Link encap:Ethernet HWaddr 80:1f:02:fd:ad:b0 inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 確認正確設定網路以後,可以使用「ping」指令測試網路連線是否正確。執行「ping 主機名稱/IP位址」指令,可以測試與指定主機之間的網路通訊,執行這個指令以後會持續的測試,所以要自己按「Ctrl + C」停止,在畫面顯示「^C」訊息後停止ping應用程式(168.95.1.1是一家電信公司的DNS伺服器IP位址): pi@raspberrypi:~$ ping 168.95.1.1 PING 168.95.1.1 (168.95.1.1) 56(84) bytes of data. 64 bytes from 168.95.1.1: icmp_req=1 ttl=247 time=15.4 ms 64 bytes from 168.95.1.1: icmp_req=2 ttl=247 time=8.06 ms 64 bytes from 168.95.1.1: icmp_req=3 ttl=247 time=9.89 ms 64 bytes from 168.95.1.1: icmp_req=4 ttl=247 time=9.67 ms 64 bytes from 168.95.1.1: icmp_req=5 ttl=247 time=12.1 ms 64 bytes from 168.95.1.1: icmp_req=6 ttl=247 time=8.56 ms ^C --- 168.95.1.1 ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5008ms rtt min/avg/max/mdev = 8.069/10.635/15.429/2.510 ms 如果畫面顯示類似上面的訊息,表示你的Raspberry Pi已經可以經由無線網路連接到網際網路,而且IP固定為你設定的位址。 3-6 遠端連線與傳輸檔案安裝好Raspberry Pi作業系統與網路連線以後,後續的工作雖然可以直接在Raspberry Pi操作,不過每次都要接上螢幕與鍵盤,會比較麻煩一些。大部份的工作,可以在你工作的電腦,使用遠端連線到Raspberry Pi執行操作,為Raspberry Pi接上作業系統記憶卡、網路與電源,等候Raspberry Pi開機完成後,就可以不用管它了。 在使用Raspberry Pi的時候,通常需要傳輸一些檔案,還有在連線以後執行指令。Windows作業系統沒有提供SSH(Secure Shell)與SCP(Secure Copy)工具程式,如果你已經有熟悉的工具程式,就直接使用它們。如果沒有的話,Windows比較常見的工具程式有Putty,開啟這個網頁http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html,下載並儲存「putty.exe」與「pscp.exe」: 先使用putty測試遠端連線,執行下載的putty.exe,在出現的視窗中選擇「Session」目錄;在「Host Name(or IP address)」輸入Raspberry Pi的IP位址;在「Saved Sessions」輸入一個自己取的連線名稱;最後選擇「Save」按鈕儲存: 雙擊已經儲存的連線設定: 選擇「Yes」按鈕: 在啟動的連線視窗,輸入帳號「pi」與設定的密碼,出現像這樣的畫面,就表示已經連線到Raspberry Pi: 如果需要傳輸檔案到Raspberry Pi,可以使用剛才下載的pscp.exe工具程式,這是它的基本使用方式: pscp 要傳輸的檔案 帳號@IP位址:儲存的位置 如果需要傳輸一個名稱為「hellorpi.txt」的檔案到Raspberry Pi,開啟一個命令提示字元,切換到儲存pscp.exe工具程式的目錄,執行下列的指令: cd C:\JavaEmbedded C:\JavaEmbedded>pscp hellorpi.txt [email protected]:/home/pi [email protected]'s password: hellorpi.txt | 0 kB | 0.0 kB/s | ETA: 00:00:00 | 100% 傳輸成功以後,回到putty的視窗,可以執行「ls」指令,看看是不是多了傳輸的檔案。 使用完Raspberry Pi以後,儘量不要直接關閉它的電源,在連線到Raspberry Pi的putty視窗,輸入下列的指令執行關機的步驟: sudo shutdown -h now 等待Raspberry Pi關機以後,再關閉它的電源。 課程相關的檔案都可以GitHub瀏覽與下載。 |