PSLab Android 應用程式
PSLab Android 應用程式的儲存庫,用於使用 Pocket Science Lab 開放硬體平台執行實驗。
該儲存庫包含用於使用 PSLab 執行實驗的 Android 應用程式。 PSLab 是一個小型袖珍科學實驗室,提供一系列用於進行科學和工程實驗的設備。它的功能類似於示波器、波形產生器、頻率計數器、可程式電壓和電流源以及資料記錄器。我們的網站是 https://pslab.io。
在這裡加入我們的測試計劃,註冊最新更新並儘早測試新功能。
買
- 您可以從 FOSSASIA 商店購買 Pocket Science Lab 裝置。
- PSLab 網站上列出了更多經銷商。
溝通
- PSLab 聊天頻道位於 Gitter 上。
- 也請加入我們的 PSLab 郵件清單。
路線圖
截圖
影片示範
- PSLab Android 應用程式概述。
- 使用 PSLab 設備觀察聲音波形。
- 使用 Pocket Science Lab 進行即時感測器數據記錄。
- 使用 Pocket Science Lab 產生和觀察波形。
特徵
特徵 | 描述 | 地位 |
---|
主螢幕 | 顯示 PSLab 設備的狀態和版本 | ✔️ |
儀器儀表 | 暴露 PSLab 儀器,如示波器等 | ✔️ |
示波器 | 顯示類比訊號的變化 | ✔️ |
萬用電表 | 測量電壓、電流、電阻和電容 | ✔️ |
邏輯分析儀 | 捕獲並顯示來自數位系統的訊號 | ✔️ |
波浪發生器 | 產生任意類比和數位波形 | ✔️ |
電源 | 產生可程式電壓和電流 | ✔️ |
照度計 | 測量環境光強度 | ✔️ |
晴雨表 | 測量壓力 | ✔️ |
加速度計 | 測量設備的加速度 | ✔️ |
陀螺儀 | 測量轉速 | ✔️ |
羅盤 | 測量相對於地磁極的絕對旋轉 | ✔️ |
溫度計 | 測量環境溫度 | ✔️ |
氣體感測器 | 偵測氣體,包括 NH3、NOx、酒精、苯、煙霧和 CO2 | ✔️ |
機械手臂控制器 | 可獨立控制機械手臂的4個伺服電機 | ✔️ |
如何在您的開發環境中設定 Android 應用程式
應用口味
PSLab Android 應用程式有 2 種風格(構建變體)。
Play 商店風味
- Play 商店風格使用 Google 地圖來顯示資料記錄器中日誌中儲存的位置。
Fdroid 口味
- Fdroid 風格使用開放街道地圖來顯示儲存在資料記錄器日誌中的位置。
開發設定
在開始之前,您應該已經下載並正確設定了 Android Studio SDK。您可以在此處找到有關如何執行此操作的指南:設定 Android Studio
設定 Android 項目
要設定 PSLab Android 項目,您可以遵循下面列出的兩種方法中的任何一種,即,您可以下載儲存庫 zip 文件,也可以直接將儲存庫複製到 Android Studio。
透過下載 zip 文件
下載pslab-android專案原始碼。您可以透過分叉和複製儲存庫(如果您打算推送更改,建議使用)或將其下載為 ZIP 檔案並解壓縮來完成此操作。
打開 Android Studio,您將看到歡迎使用 Android視窗。在快速啟動下,選擇_導入專案(Eclipse ADT、Gradle 等)。
- 注意:如果您建立自己的硬件,請變更 CommunicationHandler.java 中的 VendorID 和/或 ProductID。
透過直接克隆
- 打開 Android Studio,您將看到歡迎使用 Android視窗。在「快速啟動」下,選擇「從版本控制中簽出項目」。
- 從出現的下拉式選單中選擇 git。
- 轉到儲存庫並點擊克隆或下載按鈕。
- 從出現的下拉清單中複製連結。
- 貼上您複製的 URL,然後按克隆。
- Android studio 現在應該開始使用 gradle 建置專案。
- 此過程完成並開啟 Android Studio 後,檢查控制台是否有任何建置錯誤。
- 注意:如果您收到標題為「無法找到...」的 Gradle 同步錯誤,您應該點擊錯誤訊息下方的連結(如果有),其中顯示安裝缺少的平台和同步項目並允許 Android studio為您尋找來缺少的東西。
- 解決所有建置錯誤後,您應該準備好建立應用程式並測試它。
- 若要建立應用程序,請前往「建置」>「建立專案」 (或按工具列中的「建立專案」圖示)。
- 如果應用程式建置成功,您可以透過在真實裝置或模擬裝置上執行它來測試它,方法是前往「執行」>「執行『應用程式』」或按工具列中的「執行」圖示。
如果您只想建立 apk,請前往“建置”>“建置 apk”,將建置 apk,並且 Android Studio 會提示產生 apk 的目錄。
由於 PSLab 設備透過 OTG 線連接到 micro-USB 端口,因此無法以常規方式進行調試。因此 Android 裝置未透過 USB 線連接到 PC。
若要透過 Wi-Fi 進行偵錯,請按照本部落格中給出的步驟操作。
- 注意:如果您建立自己的硬件,請變更 CommunicationHandler.java 中的 VendorID 和/或 ProductID。
所需權限
- Record_Audio:示波器需要接受來自手機內建麥克風的輸入。您可以在 AudioJack.java 中找到它的實作。
- Access_Fine_Location 和 Internet :需要在照度計和指南針中使用才能取得在地圖上標記資料的座標。您可以在 GPSLogger.java 中找到它的實作。
- Write_External_Storage :需要儲存來自儀器的日誌文件,以便將來進行分析。
- Read_External_Storage :在儲存體中寫入日誌時,CSVLogger.java 首先檢查是否有任何需要此讀取權限的 CSVLogger 目錄。
設定透過 Android 應用程式使用 PSLab
要將 PSLab 裝置與 Android 一起使用,您只需一條 OTG 電纜、啟用了 USB 主機功能的 Android 裝置(大多數現代手機都支援 OTG)和 PSLab Android 應用程式。透過 OTG 線將 PSLab 裝置連接到 Android 手機。休息由App自己處理。
貢獻最佳實踐
程式碼實踐
請幫助我們遵循最佳實踐,以便審閱者和貢獻者都能輕鬆完成。我們希望更專注於程式碼質量,而不是管理拉取請求道德。
- 每個拉取請求一次提交。
- 參考提交訊息中的問題編號。遵循模式
Fixes #<issue number> <commit message>
- 遵循統一的設計實踐。整個應用程式的設計語言必須保持一致。
- 除非提交被壓縮,否則拉取請求不會被合併。如果 PR 上有多個提交,提交作者需要壓縮它們,而不是維護者挑選和合併壓縮。
- 如果 PR 與任何前端變更相關,請在拉取請求描述中附上相關螢幕截圖。
如何git squash
?
對於那些努力將提交壓縮為一個的新開發人員來說,這是一個提示,您的拉取請求中可能會出現多個提交,主要是由於以下原因。
- 每次更改後有意添加多個提交訊息,而不僅僅是
git add
。 - 使用遠端更新目前分支,以便進行合併提交。
無論出於何種原因,請按照下面給出的步驟將所有提交壓縮為一個符合我們最佳實踐的提交。
$ git remote add upstream https://github.com/fossasia/pslab-android.git
$ git checkout <branch-name>
$ git reset --soft upstream/development
$ git add <file paths or "." to add everything>
$ git commit -m "tag: commit message"
$ git push -f origin <branch-name>
分行政策
我們有以下分行
- 開發所有開發都在這個分支中進行。如果您正在做出貢獻,您應該向development提出拉取請求。確保它通過 Travis 的構建檢查。
- master這包含穩定的程式碼。在開發中累積了重要的功能/錯誤修復後,我們將其移至掌握。
- apk該分支包含自動產生的用於測試的 apk 檔案。
程式碼風格
請在編寫和提交程式碼時嘗試遵循上述指南,因為這樣可以讓審閱者和其他開發人員更容易理解。
- 在命名佈局檔案時,請確保遵循的約定是 (activity/fragment) _ (name).xml ,例如
activity_oscilloscope.xml
、 fragment_control_main.xml
。 - 將版面配置檔案中定義的檢視和小工具命名為 (viewtype/widget) _ (fragment/activity name) _ (檔案中的編號),例如
spinner_channel_select_la1
、 button_activity_oscilloscope1
。 - 佈局檔案對應的activity/fragment檔案名稱應命名為 (activity/fragment name)(activity/fragment).java ,就像佈局檔案
fragment_channels_parameter.xml
對應的ChannelsParameterFragment.java
一樣。 - 活動檔案中按鈕、文字方塊、複選框等對應的小工具應命名為 (viewtype/widget)(fragment/activity name)(檔案中的編號),如
spinnerChannelSelect1
對應spinner_channel_select1
。
開發商
維護者
此項目由以下人員維護
- 帕德馬爾(@CloudyPadmal)
- 馬裡奧貝林 (@mariobehling)
- 洛倫茨‧格伯 (@lorenzgerber)
- 偉達 (@cweitat)
- 偉吉 (@woshikie)
校友
- 尼爾‧特里維迪 (@neel1998)
- 阿卡尚‧甘多特拉 (@akarshan96)
- 阿西塔瓦·薩卡 (@asitava1998)
- 維韋克辛格巴達烏裡亞 (@viveksb007)
- 阿夫吉特(@Avjeet)
- 阿比納夫 (@abhinavraj23)
- 嚴酷(@harsh-2711)
- 亞特里 (@yatri1609)
執照
該專案目前已獲得 Apache License 2.0 的許可。許可證副本應與原始程式碼一起提供。若要取得不同許可證下的軟體,請聯絡 FOSSASIA。