第 4 章 研究成果
4.2 Raspberry Pi
4.2.1 初始設定及安裝
Raspberry Pi 3 作業系統安裝:
1. 從 https://www.raspberrypi.org/downloads/raspbian/ 下載 rasbian jessie with pixel 之映象檔
2. 由一般電腦對SD 卡進行燒錄
3. 將SD 卡插入 Raspberry,接上電源、鍵盤、滑鼠、螢幕等周邊裝置 4. 在終端機(terminal)執行 sudo raspi-config
5. expand filesystem
6. 調整時區跟網路頻段(預設為英國的時區以及該地的網路頻段) 作業系統介面應如圖 4.14:
圖 4.14 Raspberry Pi 系統介面
Google sheet 金鑰:
1. 登入 google 帳戶
2. 進入 google api 管理頁面
憑證>>建立憑證>>服務帳戶金鑰>>新增服務帳戶,角色選擇"編輯者
">>JSON 格式>>建立,產生.json 檔 3. 在google sheet 點選共用,邀請新帳戶
產生之json 檔即 Google sheet 金鑰,任何上傳或讀取之動作皆需要此金鑰。
安裝
python 套件:
1.安裝 gspread (上傳資料至 google sheet 之套件) 在終端機執行:
$ sudo pip install gspread
2.安裝 oauth2client 在終端機執行:
$ sudo pip install oauth2client
$ sudo pip install --update oauth2client
本研究之程式碼scripts 執行都是在 python2.7 下,因為此套件不支援 python 3。
3.安裝 bluepy (python 的藍芽套件) 在終端機執行:
$ sudo apt-get install python-pip libglib2.0-dev
$ sudo pip install bluepy
4.安裝 wvdial (負責網卡撥號的套件)
$ sudo apt-get install -y wvdial
$ sudo nano wvdial.conf
5 安裝 gammu python-gammu (python 發送簡訊的套件)
$ apt-get install gammu
$ apt-get install python-gammu
4.2.2 藍芽傳輸
由於 Raspberry 負責資料中繼的部分,屬於感測器的主端,所以不需像 Arduino 有複雜的設定,僅需知道該感測器的 UUID(通訊唯一識別碼)及資料儲存 的位置(handle)便可取用。
資料傳輸時是以十六進位的編碼傳輸,所以在中繼站藉由藍芽讀取之後必須 在程式中增設一個轉換函式,轉換成一般人可讀的格式。
4.2.3 3G/4G 上網
雖然 Raspberry 內建 Wifi 模組,僅需在介面操作即可使用 wifi 上傳資料,
但本研究地點屬於室外且地處偏遠,現地並不會提供wifi,於是,必須建立 Raspberry 本身 3G/4G 上網的功能,步驟如下。
1. 插入已放入預付卡的網卡(Huawei E180)
圖 4.15 Huawei E180 與 預付卡 SIM 卡
2. 在終端機輸入$ls /dev/tty*。
檢查 USB 是否有讀取到新的裝置/dev/ttyUSBX(如圖 4.16),通常會是最後 一個ttyUSB 編號,
3. 圖 4.16 中 ttyUSB0 及 ttyUSB1 為外接鍵盤及滑鼠之編號,如果沒有新的裝 置出現可以重複執行上述指令刷新,或重新插入網卡。
圖 4.16 外接裝置狀態
如果使用其他系列的網卡,Raspberry 可能無法辨識其裝置,需要安裝與設 定模式轉換工具(usb-modeswitch)。
$ sudo apt-get install -y usb-modeswitch
並新增網卡設備資訊規則到/lib/udev/rules.d/40-usb_modeswitch.rules
4. 設定撥號文件
$ sudo vi /etc/wvdial.conf
(注意文件位置不一定是這個路徑) 並改寫成下圖 4.17:
圖 4.17 撥號設定文件
各參數代表之涵義
PIN:預付卡預設的 PIN 碼,有些預付卡不需輸入 PIN 碼也能撥號。
[Dialer xxx]:profile 名稱,之後撥號就會以 xxx 為名,可設定多組 profile。
Modem:wvdial 所用的數據機設備位置,預設為 /dev/modem。
Baud:wvdial 和數據機所溝通的 baud rate。
Stupid Mode:如果啟用 stupid mode,數據機在和終端伺服器(terminal server)溝通時將不會出現提示,並且當數據機連上後會立即啟動 pppd。
5. $ sudo wvdial E1820
初次撥號可能會失敗,可以重複嘗試,成功的訊息如圖 4.18:
圖 4.18 撥號成功時系統訊息