發佈日期:
如何設定Open Data Kit‧作為數據記錄之用
01. 繼續是工作的需要一套能夠用在手機/平板的數據記錄(data logging)程式,需要在離線下也能使用到。上司題及了這一套『Open Data Kit』軟件。
02. 『Open Data Kit』包括了兩套定位不同,也相互不兼容的軟件。分別是『ODK』及『ODK-X』。
03. 今次會主要針對『ODK』作安裝/測試及使用。『ODK』本身包括不同的程式,而今次會用到的有『ODK Collect』(主要安裝在Android手機/平板上作為客戶端使用)、『ODK Build』(主要用來設計不同的表格內容)及『ODK Aggregate』(ODK的伺服器)。
04. 測試平台依然是XAMPP(xampp-windows-x64-7.3.5-1-VC15-installer),會用到的軟件包括MySQL及Apache Tomcat。
05. XAMPP跟來的是Apache Tomcat/7.0.92,並不能成功啟動『ODK Aggregate』,所以會先更新Apache Tomcat版本到8.5.41及使用64-bit版本。
06. 在『Apache Tomcat』下載程式。
07. 將XAMPP原來的tomcat資料夾更改另一個名稱,再將剛才下載的Tomcat程式,解壓到XAMPP相同的資料夾內。
08. 重新開啟『XAMPP Control』,會看到找不到Tomcat程式。
09. 但你依然可以在工具列圖示中,啟動Tomcat程式。
10. 返回『XAMPP Control』,會看到Tomcat程式已成功啟動。
11. 在『XAMPP Control』中的Tomcat選項,打開tomcat-users.xml檔案。
12. 加入manager、admin用戶及密碼。
<role rolename="admin-gui"/> <user username="admin" password="admin" roles="admin-gui"/> <role rolename="manager-gui"/> <user username="tomcat" password="tomcat" roles="manager-gui"/>
13. 完成後重新啟動Tomcat程式。
14. 下載『ODK Aggregate』。
15. 按指示執行程式。
16. 這裡需輸入一個硬碟位置,以便儲存『ODK Aggregate』程式檔案。
17. 選擇數據庫類型,既然已經選擇了XAMPP,這裡當然是用MySQL。
18. 這裡指出這版本的『ODK Aggregate』只支援Java 8,所以剛才我們已設定好了。
19. 因為是公司內部使用,所以不用設置IP地址及DNS。
20. 這裡指出MySQL是需要獨立下載及設定,但既然我們用了XAMPP內的MySQL,所以工作已設定好。
21. MySQL埠位及IP設定。
22. 設定『ODK Aggregate』數據庫的密碼。
23. 設定數據庫名稱。
24. 設定『ODK Aggregate』組織名稱。
25. 輸入管理員名稱。
26. 程式安裝中。
27. 安裝完畢,返回上面第16項設定的資料夾,會看到以下內容。
28. 其中README.html檔案,會教導之後需要執行的步驟。
29. 打開『命令提示字元』程式。登入MySQL。
30. 建立數據庫。
31. 在瀏覽器打開Tomcat首預。選擇『Manager App』。
32. 輸入上面第12項manager用戶資料。
33. 登入後,在『WAR file to deploy』位置加入剛才在第16項中資料夾內的ODKAggregate.war檔案。
34. 一切沒有問題,『ODK Aggregate』程式便會被載入及成功啟動。
35. 按左邊連結便可以直接進入『ODK Aggregate』版面。
36. 登入『ODK Aggregate』。登入名稱是上面第25項設定的名稱,密碼預設是『aggregate』。
37. 第一件要做的,當然是在『Site Admin』欄位。
38. 更改管理員的密碼。
39. 到此完成『ODK Aggregate』設定。
40. 現在開始設定『ODK Collect』。這是安裝在Android裝置的客戶端,可以在Play Store下載,也可以在Git中下載APK版本。
41. 測試平台我選擇了在BlueStacks這個Android模擬器上。
42. 安裝後打開『ODK Collect』程式。
43. 在右上角『圖示』選擇『General Settings』。
44. 選擇『Server』一項。
45. 輸入伺服器資料。URL一項中,因BlueStacks是用了10.0.2.2作為BlueStacks與本機電腦的NAT Gateway,所以這裡會輸入這組IP地址,而Username及Password就是之前在上面第37項設定的用戶及密碼。
46. 返回『Main Menu』,選擇『Get Blank Form』。
47. 如沒有出現錯誤,表示連接到伺服器沒有問題。
48. 到此完成『ODK Collect』在Android上的設定。
49. 伺服器及客戶端也有了,剩下的就是需要表格內容。這個就需要到『ODK Build』軟件。
50. 下載程式,解壓檔案,執行『odkbuild.exe』程式。
51. 假若要設計一張表格,需要輸入一組數字數據,一組GPS數據,記錄開始填寫表格及結束時間。
52. 在『Settings』、『Form Properties』中。
53. 填寫表格名稱,這名稱就是在客戶端看到的檔案名稱。
54. 選擇下面『Metadata』,再更改『Data Name』名稱及設定『Kind』為『Start Time』。
55. 選擇下面『Numeric』,再更改『Data Name』名稱,『Label』為用戶會看到的題示輸入,『Default Value』為欄位預設值,也可以在『Required』一欄打勾強迫用戶輸入資料,而『Valid Range』則是驗證輸入內容。
56. 選擇下面『Location』,再更改『Data Name』名稱,『Label』為用戶會看到的題示輸入,『Kind』選擇『Path』,『Style』選擇『Default (GPS)』。
57. 選擇下面『Location』,再更改『Data Name』名稱,『Label』為用戶會看到的題示輸入,『Kind』選擇『Path』,『Style』選擇『Default (GPS)』。
58. 選擇下面『Metadata』,再更改『Data Name』名稱及設定『Kind』為『End Time』。
59. 儲存檔案。
60. 正常是用『Upload to Aggregate』選項上傳至伺服器。
61. 但不知是不是『ODK Build』軟件問題,上傳是終是出現連線錯誤。
62. 退而求其次,可以先把表格輸出到XML檔案,再在『ODK Aggregate』伺服器上輸入有關檔案。
63. 登入『ODK Aggregate』,按上面的『Form Management』、選擇『Add New Form』。
64. 選擇之前輸出的XML檔案,再按『Upload Form』。
65. 上傳後會看到結果。
66. 上傳成功會看到新的表格。
67. 返回Android裝置的ODK Collect程式。選擇『Get Blank Form』。
68. 便會看到『ODK Aggregate』伺服器的表格,按『Get Selected』便可以將表格下載到Android裝置。
69. 下載後進入『Fill Blank Form』選項,再按表格便開始填寫內容。
70. 完成後,按『Save Form and Exit』。
71. 表格會存放於Android裝置內,當裝置可以連線時,便可以按『Send Finalized Form』將表格上傳到伺服器。
72. 上傳後,便可以在『ODK Aggregate』伺服器看到相關資料。
73. 到此完成『ODK Collect』設定及使用。
發佈留言