首先要玩 BBB,你需要買一臺 BBB,淘寶 Element14 Beaglebone Black,我購入價 RMB 310,帶數據線,沒電源適配器的。Seeedstudio 有台叫 Beaglebone Green,由於價格偏高,我連看都沒看。 題外話,淘了個適配器寫著是 5V 萬用表測卻是 2V...
首先要玩 BBB,你需要買一臺 BBB,淘寶 Element14 Beaglebone Black,我購入價 RMB 310,帶數據線,沒電源適配器的。Seeedstudio 有台叫 Beaglebone Green,由於價格偏高,我連看都沒看。
題外話,淘了個適配器寫著是 5V 萬用表測卻是 2V 多,聯繫賣家沒回覆直接無視我,我也是醉了。
其他東西,暫時可以不買。沒有一樣可以學的。我自己有條 TTL,除了剛買 BBB 回來測試一下串口引腳之外,沒有用過。
我的環境:
- Beaglebone Black (BBB)預裝系統為 ArmStrong,Debian 的。我不改。初學裸機跑
- 手提電腦 Lenovo T440P, Intel i5,Windows 7 PRO 繁體版 64位,公司配的工作用的
- 網路,能登外網的。我用無線網
- 手提電腦安裝 Putty,SSH 和 Serial 均能用它
開箱測試:
電腦打開後,用 USB 把 BBB 和電腦連接。接上後,電源燈就會亮起,無需按開關。隨後 usr0 – usr3 信號燈會醒目地閃亮著。想BBB關機,按一下電源按鈕(靠近網線插口那個按鈕)。
BBB 是臺電腦,不像 arduino,直接拔電源有可能導致文檔損壞,輕則下次開機慢點,嚴重的話開不了機。萬一你幹了,那就只能用 SD 卡啟動刷系統。
如果插著 USB 線你關機了,想再次開機,再按一下電源按鈕即可。
打開手提電腦查看硬碟,你會發現多了一個外置盤,一隻狗這個(Beagle:比格犬):
打開它看看:
按官方做法,打開 START.htm:
各種介紹,只要跟著做就行了。我用無線網,BBB不接網線,也沒有BBB wifi 模塊,所以需要跟著它說明來安裝 network over USB,在這一頁較下位置:
如果你連接的手提電腦或者台式機,是32位,那當然是選32位。如果你插網線進去 BBB 來用,其實這一步你也可以略過。然後各種安裝,我沒截圖了,部分需要 administrator 許可權,給它,然後安裝成功。你會看到在網路里多了個界面卡,它的類型是 Linux USB Ethernet/RNDIS Gadget:
BBB 通過 USB 連到你電腦就是用這個。然後把你外網的界面卡,共用網路給它,比如我是無線網的:
上圖位置打勾,選擇剛纔的 Linux USB Ethernet 連線的名字,比如我這是“區域連線4”。
設置完成,BBB就可以用USB 通過手提電腦上網了。
BBB 預設打開了網頁伺服器的,地址是 http://192.168.7.2/,請打開瞄一下。
BBB 預設有 Cloud9 網頁版的 IDE 的,地址是 http://192.168.7.2:3000/ ,(埠 3000), 請打開瞄一下:
如上圖所示,在 TAB 那裡加一頁,選 New Terminal,你就能進入系統內了:
預設 root 沒密碼,最好還是改一下這個:
你喜歡這樣操作的話,繼續,不需要 Putty 了。但我習慣用 putty。IP連 SSH 的話,地址當然是 192.168.7.2,埠是預設的22。串口的 baud 是 115200。
很有信心不怕搞砸的繼續 root ,怕的話加用戶,然後用 su / sudo。我的 BBB OS(ArmStrong)裡面連 sudo 都要自己裝。
想安裝東西,下載?或者看著時鐘時間錯誤不爽想同步?但插網線又麻煩,比如我無線路由在客廳,我在房間操作 BBB。
首先看看 route:
沒網關。另外值得註意的是這條路由的 MASK,255.255.255.252。掩碼 252 代表了這子網,只能用的是兩個 IP(256-252-1-1=2)。BBB 本機地址是 192.168.7.2,配合一下唄,在手提電腦里,把 Linux USB Ethernet 那個網路界面,指定固定 IP,192.168.7.1,掩碼當然也配合一下,255.255.255.252。確保兩者(手提電腦,BBB)處於相同子網:
按確定保存時,Putty 因為網路的變化會斷開,再連即可,進去ping 一下測試:
然後加預設網關,route add default gw 192.168.7.1:
值得註意的是,default 是 IF usb0,通過 USB 連的。一切無誤之後,你也按照剛纔所說共用了連接給這個 Linux USB Ethernet 地址 192.168.7.1 的話,恭喜:
(下圖 180.76.76.76 是百度的公共 DNS 地址)
然後加個 DNS 配置,用你喜歡的編輯器,比如 vim , nano,修改功能變數名稱解析的配置檔,/etc/resolv.conf,加入一句 nameserver 180.76.76.76,(這個是百度的,或可用你 ISP 或網路管理員提供的 DNS)。
測試一下:
能聯網之後很多事情可以做了,比如NTP更新一下時間:
或者更新一下已安裝的軟體包,apt-get upgrade
最後,預設路由這樣插入後,重新開機又會沒了。寫個腳本執行即可,但事情沒那麼簡單…
我碰到問題是,Element14 的板子,usb0 這個 if 不知道哪裡寫入的,還在找……,有知道的告訴我一下哈。標準的 /etc/network 裡面已經有正確值,跟隨著 if 生效也有正確的 ntpdate 執行代碼,但似乎通通被略過了。還有,insserv 時候發現一個腳本代碼錯誤,Element14 你們是什麼回事,led_aging.sh 代碼欠缺了 LSB tag 了。
現在我明白別人刷 OS 是什麼回事了。因為廠家技術很杯具。或許,明天找張 SD 刷一下,用習慣 red-hat 系列現在遇上 Debian 已經萬分不習慣,還要幫你 debug 我好惱火。不想浪費青春了。