LinkItONEDevGroup/LASS_WaterBoxV2: LASS IS YOURS
文章推薦指數: 80 %
水盒子是一台完全開源,可讓Maker視需求自行更換感測項目的水質感測設備。
水盒子採用臺灣聯發科設計製造的LinkIt7697開發版作為微控制器(MCU),以免費開源軟體ArduinoIDE ...
Skiptocontent
{{message}}
LinkItONEDevGroup
/
LASS_WaterBoxV2
Public
forkedfromkylecat/LASS_WaterBoxV2
Notifications
Fork
2
Star
7
LASSISYOURS
MITLicense
7
stars
2
forks
Star
Notifications
Code
Pullrequests
0
Actions
Projects
0
Wiki
Security
Insights
More
Code
Pullrequests
Actions
Projects
Wiki
Security
Insights
master
Branches
Tags
Couldnotloadbranches
Nothingtoshow
{{refName}}
default
Couldnotloadtags
Nothingtoshow
{{refName}}
default
1
branch
0
tags
Code
Thisbranchisuptodatewithmaster.
Contribute
Thisbranchisnotaheadoftheupstreammaster.
Nonewcommitsyet.Enjoyyourday!
Openpullrequest
Latestcommit
Gitstats
16
commits
Files
Permalink
Failedtoloadlatestcommitinformation.
Type
Name
Latestcommitmessage
Committime
ArduinoLibrary/libraries
Docs/assets/images
UnitTest
Verification
firmware/LASSWaterBox_Linklt7697_v2.1
.gitattributes
.gitignore
LICENSE
README.md
Viewcode
LASS_WaterBoxV2
LASSISYOURS
1.功能介紹
2.硬體說明
2.1使用材料(BOM)
2.2組裝順序
2.3充電方式
2.4用電分析
2.5建議防水方式
3.韌體說明
3.1LinkIt7697介紹
3.2LinkIt7697腳位使用情況
3.3GitHub
3.4單元功能測試
3.5整機運作功能
4.購買
5.資料上傳
5.1LASS上傳資料設定:《山河事件簿》
5.2ThingSpeak設定
6.擴充性
6.1可擴充模組
7.第一次就上手
7.1購買
7.2組裝
7.3充電/開機
8.上場域
8.1初步使用與暖身
8.2上場域前準備
8.3安裝
8.4維護
8.5後續分析(作者外出取材中)
9.入手前確認事項
README.md
LASS_WaterBoxV2
LASSISYOURS
1.功能介紹
水盒子是一台完全開源,可讓Maker視需求自行更換感測項目的水質感測設備。
水盒子採用臺灣聯發科設計製造的LinkIt7697開發版作為微控制器(MCU),以免費開源軟體ArduinoIDE作為開發環境,同時將常用的Arduino模組集成設計在一塊PCB電路板上,這些功能可經由開源的Library作為驅動,目前的測試程式碼跟主要運作程式碼也是以MIT授權的方式開放所有人使用,程式碼相關內容請參考後續章節韌體說明。
目前水盒子可量測項目為水溫、**導電度(ElectricalConductivity,EC)及酸鹼度(pH)*等自然水質基本項目,資料可以.CSV格式(或其他格式)儲存於MircoSD卡內,經WiFi上傳至雲端(LASS或ThingSpeak)或以LoRa/BLE通訊方式傳輸到其他裝置上;由於自然水體內水質情況會隨著不同地點而有不同的干擾,即使為無工業污染的水體也會有生物膜附著在電極表面造成感測電極干擾,因此建議每周維護檢查電極偏差的情況,確保所量測水質資料具參考價值。
水盒子是為了擴增LASS環境感測器網路系統的感測領域而設計的開源專案,單一一台水盒子只能知道一池水的水質狀況,而經由公民科學參與大量布建則可揭露環境/污染變化的分布及趨勢;因此,希望使用者能上傳/分享水盒子的感測資料,一同為我們所生活這塊土地努力。
2.硬體說明
WaterBox主機外殼為120mm×120mm×65mm的ABS材質防水盒,主要功能如下:
2.1使用材料(BOM)
目前水盒子材料包內容包含內容如下表。
項目
數量
單位
說明
水盒子電路板
1
片
水盒子各模組的集成電路版
LinkIt7697開發版
1
片
水盒子的MCU
CR1220電池(SONY)
1
個
水盒子RTC的電池
塑膠防水工控盒(G278C,12012060)
1
個
主機外殼
0.96寸OLED顯示螢幕128*64黑底白字
1
片
水盒子系統訊息顯示螢幕(SSH1106)
太陽能板3W110x162mm
1
片
充電用太陽能板
JST2.0單頭線+2p母座/30cm
1
條
太陽能板用電線
MicroUSB傳輸線1米
1
條
韌體上傳/測試用;主機電池充電用
MicroSD16GB超高速(Class10)
1
片
SD卡;儲存資料用
聚合物鋰電池-2000mAh3.7V
1
個
用於主機電源供電
3M黑色魔鬼氈25mm*40mm
1
片
用於固定電池
杜邦端子2.54mm母(半鍍金)3P杜邦母座
1
組
溫度sensor用轉接頭(DS18B20)
M3六角細牙銅柱25mm十字圓頭螺絲M3x12mm五彩六角螺帽M3十字圓頭螺絲M3*8mm(五彩)HP-5扣式塞頭
1
組
主機固定用
2.2組裝順序
pH及EC的固定開孔比較難安裝,安裝時需多加留意。
https://www.dropbox.com/s/p1fkxj5bptwpakw/WaterBox_V2.1.avi?dl=0
2.3充電方式
A.使用太陽能板充電
B.使用電路板上USBcharge,以MicroUSB線(typeB)充電(建議使用1.0A以上)
2.4用電分析
目前水盒子運作時用電約為120mA,以套件包所含的聚合物鋰電池(2000mAh)來說,無外部供電情況下約可持續運作13個小時。
經實際測試,水盒子搭配3W太陽能板在戶外可連續運作約10天。
項目
使用電流(mA)
MCU(LinkIt7697)
約120.2mA,峰值150.6mA
OLED(SSH1106)
約16.16mA
pH(DFRobotSEN0161)
約28.2mA
EC(DFRobotDFR300)
約10.5mA
Tempture(DS18B20)
還沒測
2.5建議防水方式
原本的ABS防水盒外殼附有防水膠,安裝時須留意膠條接合的地方避免產生孔隙。
(不用鎖緊),再以對角的安式將四周螺絲鎖緊,避免一次將單一螺絲鎖緊使盒蓋和盒體之間產生孔隙,造成水氣滲入。
針對防水盒開孔部分,建議以中性防水型的矽利康填補空隙,避免水氣由開孔處入滲。
3.韌體說明
3.1LinkIt7697介紹
Getstarted(Arduino)
Documents
3.2LinkIt7697腳位使用情況
LinkIt7697腳位功能介紹
LinkIt7697各腳位初始狀態
下表列出了LinkIt7697每隻腳位的開機初始電位狀態(高電位為H、低電位為L)及相關說明。
Pin#:表示該腳位在開發板上的絲印編號。
GPIO#:表示該腳位在開發板腳位圖和datasheet裡所標示的****GPIO編號。
Resetting:表示按下LinkIt7697RST鍵時的腳位狀態。
Bootloaderdefault:開機完成後,在ArduinoAPP執行前的腳位狀態。
Pin#
GPIO#
Resetting
Bootloaderdeafult
LASSWaterBox(V2.1)
說明
P0
2
H
H
USB(UART_RX)
Resetting過程中,該腳位會被CP2102N拉高。
開機完成後,bootloader將之設定為UART模式,因此也會處於高電位。
P1
3
L
H
USB(UART_TX)
開機完成後,bootloader將之設定為UART模式,因此處於高電位。
P2
0
L
L*
LoRamoduleDIO0
*將ArduinoBSP的bootloader版本更新至v0.8.1後的狀態。
P3
39
L
L
LoRamoduleReset
P4
34
H
L
SPI_CSforSDCard
Resetting過程中的高電位狀態為晶片本身的預設行為。
P5
33
H
L
modeSwitch
Resetting過程中的高電位狀態為晶片本身的預設行為。
P6
37
L
H
powerswitchforpHECmodule
開機完成後,bootloader會先將之設定為UART模式(後再轉為GPIO模式),因此處於高電位。
P7
36
L
L
TemperaturePinwith4.7Kohmpull-up
P8
27
H
H
I2C_SCK
開發板本身自帶I2C的pull-up電路。
P9
28
H
H
I2C_SDA
開發板本身自帶I2C的pull-up電路。
P10
32
L
L
SPI_CSforLoRamodule
P11
29
L
L
SPI_MOSI
P12
30
L
L
SPI_MISO
P13
31
L
L
SPI_SCK
P14
57
L
L
ModulePowerControl
P15
58
L
L
NoUsed
P16
59
L
L
NoUsed
P17
60
L
L
NoUsed
參考來源:
3.3GitHub
資料都放在GitHub上,MIT授權
分為三個部分
單一功能測試:UnitTest
整機程式碼:firmware
模組驗證:Verification
https://github.com/LinkItONEDevGroup/LASS_WaterBoxV2
使用方式:下載後需設定ArduinoIDE,確保有抓到GitHub內附的ArduinoLibrary。
3.4單元功能測試
ADS1115
Code:TestCode_pinState_2.0_ADS1115
注意項目:
因為所有模組的供電由P14的腳位控制,所以測試時需先將P14設定為高電位才能啟動模組
ADS1115包含4組16bitADC,因此各組ADC對應如下
A0:pH電壓(輸入端已經分壓,因此量測到的電壓為輸入電壓×0.5)
A1:導電度電壓(輸入端已經分壓,因此量測到的電壓為輸入電壓×0.5)
A2:旋鈕VR1(順時針轉增加,順時針轉到底為-1)
A3:旋鈕VR2(順時針轉增加,順時針轉到底為-1)
TestCode同時包含SW1(P5)及SW2(P6)狀態測試
測試畫面
DS3231RTC功能
Code:TestCode_ds3231_v2.0
注意項目:
測試碼改自RTCLib的範例
因為所有模組的供電由P14的腳位控制,所以測試時需先將P14設定為高電位才能啟動模組
測試畫面
SD卡寫入功能
Code:TestCode_SD_2.0_CardInfo
注意項目
因為所有模組的供電由P14的腳位控制,所以測試時需先將P14設定為高電位才能啟動模組
測試畫面
OLED顯示功能
Code:TestCode_SH1106_SystemInfo_v2.0
注意項目
因為所有模組的供電由P14的腳位控制,所以測試時需先將P14設定為高電位才能啟動模組
測試畫面
LoRa功能
Code
接收資料:TestCode_LoRaReceiver_2.0
發送資料:TestCode_LoRaSender_2.0
注意項目
因為所有模組的供電由P14的腳位控制,所以測試時需先將P14設定為高電位才能啟動模組
由於LinkIt7697對於外部中斷的function跟Arduino不同,應此需修改LoRa.cpp內的程式碼
ArduinoLibrary裡面的函式庫已完成修改
3.5整機運作功能
詳細的運作內容請參考程式碼內註解
4.購買
水盒子所需所有套件均可以在ICShop上購買到
https://www.icshop.com.tw/product_info.php/products_id/26350
加購與選項說明
5.資料上傳
預設上傳方式為ThingSpeak及LASS平台;LASS已有全台灣水質開放資料彙整平台『山河事件簿』
《山河事件簿》介紹:
+LASS專案-山河事件簿
5.1LASS上傳資料設定:《山河事件簿》
傳輸方式:
基本上有三種腳色:水盒子/中研/山河事件簿
水盒子先透過restfulAPI上傳資料→中研的API轉發LASSMQTT→山河事件簿訂閱MQTTsever
RESTfulAPI說明:
https://pm25.lass-net.org/Upload/waterbox_tw.php?topic=[]&device_id=[]&key=[]&msg=[]
需要參數有
topic=>MQTT用的頻道預設:"WaterBox_TW"
device_id=>設備編號使用習慣12碼MACaddressEX:"9C65F920C020"
key=>用於識別作者/來源預設是"NoKey"使用HMAC
msg=>MQTT所要發送的內容格式如下:
|key_1=value|key_2=value|key_3=value|key_4=value|key_5=value|
MQTT訊息各項目利用"="連接數值並且彼此利用"|"符號隔開
例如這樣=>|KEY=value|
RESTful使用範例:
topic=WaterBox_TW
device_id=XXXXXXXXXXXX
key=NoKey
msg=MQTTmessage
傳送參數如下:
https://pm25.lass-net.org/Upload/waterbox_tw.php?topic=WaterBox_TW&device_id=XXXXXXXXXXXX&key=NoKey&msg=MQTTmessage
成功的話就會在LASSMQTT平台LASS/Test/WaterBox_TW/XXXXXXXXXXXX頻道顯示MQTTmessage,訂閱LASS/Test/WaterBox_TW/#即可接收此專案各感測器資料
MQTT訊息項目(MQTTmessage)清單與參考數值如下:
device=Linkit7697//感測器主控制板
device_id=9C65F920C020//感測器編號,建議用WiFiMac
ver_app=1.1.0//軟體版本
app=WaterBox_TW//專案名稱
FAKE_GPS=1//是否使用FAKE_GPS
gps_lat=25.1933//緯度
gps_lon=121.787//經度
date=2019-03-21//日期
time=06:53:55//時間
tick=714436.97
s_t0//水溫(-20.0150.0C)
s_ph//酸鹼度(0.00-14.00)
s_ec//導電度(0200000uS/cm)
s_Tb//濁度(010000NTU)
s_Lv//水位(0.00020.000M)
s_DO//溶氧(DO0.0012.00mg/L)
s_orp//氧化還原電位(ORP-2000~2000mV)
5.2ThingSpeak設定
ThingSpeak的申請和設定可以參考下列網址:
https://makerpro.cc/2016/02/upload-sensor-data-from-ameba-to-thingspeak/
6.擴充性
水盒子除了目前配置的酸鹼度(pH)、導電度(EC)、溫度之外等三樣感測sensor之外,電路板上有預留3組I2C接點,可擴充其他I2C介面的感測模組及0-5VAnalog輸出訊號的模組。
6.1可擴充模組
目前可擴充的水質相關模組清單如下,這些模組原廠均開放Arduinosamplecode供使用者測試。
Sensingitem
Company
protocols
Hardwareinterface
SampleCode
Wheretobuyit
pH
AtlasScientific
I2C
EZO™pHCircuit
Yes
https://www.atlas-scientific.com/ph.html
EC
AtlasScientific
I2C
EZO™ConductivityCircuit
Yes
https://www.atlas-scientific.com/conductivity.html
ORP
AtlasScientific
I2C
EZO™ORPCircuit
Yes
https://www.atlas-scientific.com/orp.html
Temperture
AtlasScientific
I2C
EZO™RTDCircuit
Yes
https://www.atlas-scientific.com/temperature.html
DO
AtlasScientific
I2C
EZO™DissolvedOxygenCircuit
Yes
https://www.atlas-scientific.com/dissolved-oxygen.html
Color
AtlasScientific
I2C
2.54mmDupontLine
Yes
https://www.atlas-scientific.com/product_pages/probes/ezo-rgb.html
Pressure
AtlasScientific
I2C
2.54mmDupontLine
Yes
https://www.atlas-scientific.com/product_pages/pressure/ezo-prs.html
flow
AtlasScientific
I2C
EZO™EmbeddedFlowMeterTotalizer
Yes
https://www.atlas-scientific.com/flow-meters.html
distance
MaxBotix
PWM
2.54mmDupontLine
NO
https://www.maxbotix.com/
Turbidity
DFRobot
Voltageanaloge
2.54mmDupontLine
Yes
https://www.dfrobot.com/product-1394.html?search=turbidity&description=true
Ammonium
Veriner
Voltageanaloge
Britishtelephonesocket
Yes
https://www.vernier.com/products/sensors/ion-selective-electrodes/labquest-ise/nh4-bta/
Calcium
Veriner
Voltageanaloge
Britishtelephonesocket
Yes
https://www.vernier.com/products/sensors/ion-selective-electrodes/labquest-ise/ca-bta/
Nitrate
Veriner
Voltageanaloge
Britishtelephonesocket
Yes
https://www.vernier.com/products/sensors/ion-selective-electrodes/labquest-ise/no3-bta/
Chloride
Veriner
Voltageanaloge
Britishtelephonesocket
Yes
https://www.vernier.com/products/sensors/ion-selective-electrodes/labquest-ise/cl-bta/
Potassium
Veriner
Voltageanaloge
Britishtelephonesocket
Yes
https://www.vernier.com/products/sensors/ion-selective-electrodes/labquest-ise/k-bta/
7.第一次就上手
7.1購買
到ICShop買(見4.-購買)
7.2組裝
ICShop將會提供代客組裝服務(當然會需要收組裝費用)
須留意的細節
溫度、pH、EC模組連接的方向(正面看,由左至右依序為GND、VCC、訊號輸出)
充電時應先關閉電源,線都接好之後再供電(USBCharge要多留意)
組裝好之後的測試流程
裝好LinkIt7697、OLED、RTC電池、SD卡、溫度、pH、EC模組
連接電池、太陽能板的接頭,先把開關關閉
(最後再送電的觀念很重要)
各模組的單元測試都跑一遍,確認畫面/序列埠顯示正常
(見3.4-單元功能測試)
7.3充電/開機
如何充電:
用MicroUSB接好USBCharge後,再接上電源!!
[注意順序]先接電源再插USB,有可能再還沒插好前就會短路!!
LinkIt7697上的USB無法對電池充電,但可對所有模組供電;因此測試時建議關閉電路板左上方的電源開關。
開機畫面
OLED顯示畫面(基本上沒有缺字就可以了)
ArduinoIDESerialport設定:
Baudrate:9600
有些人的IDE中文顯示會是亂碼(這是IDE產生的差異,建議使用最新版的IDE)
開機後序列埠輸出內容如下圖1-圖5
8.上場域
8.1初步使用與暖身
建立準備用的確認清單(CheckList),建議包含下列項目(?表示查核後數值):
水盒子電源確認(??.?V/4.15V)
水盒子感測項目校正/確認:
pH:4.0(??.?)/7.0(??.?)/10.0(??.?)
EC:0.0(?.?)/1413(????)
Temp:28.5(??.?)
出發前的準備
確認安裝日之前幾日天候狀況,下雨後溪水可能會在隔兩三天後暴漲
除了設備之外,雨鞋、安裝器材、安全防護設備也應一併確認
建議先到預定安裝的場域完成場勘,場勘內容包括:
拍攝安裝地點的上下游
確認安裝位置的日照情況
確認安裝位置是否為溪水上升範圍內
8.2上場域前準備
設備準備
水盒子
Sensor
固定用工具(矽利康/塑鋼土)
外部輔助項目
筆電(確認有電)
三用電表(確認有電)
螺絲起子
刷子(清除石頭上青苔)
工安裝備
8.3安裝
避免下雨天安裝
注意安全
應戴工地安全帽及穿著反光背心
8.4維護
維護流程
檢查設備狀態:檢查設備是否還在
檢查現場狀態:確認安裝地點上下游是否安全
檢查電源狀態:確認是否還有電
現場維護時須留意的地方
現場只做幾件事情:
sensor清潔
電池電壓檢查/更換
SD卡更換
用標準液確認sensor偏移狀況
如現場氣候不佳,建議僅檢查外觀及是否有電即可
室內校正流程
清潔sensor上附著物質
偏移確認:放到標準液當中確認讀值並記錄校正前讀值
進行校正
校正後再次進行偏移確認,並記錄校正後讀值
8.5後續分析(作者外出取材中)
1.基本項目:
*趨勢圖
*各測項的變化的細節及代表意義
2.其他:作者外出取材中(?)
9.入手前確認事項
Maker套件,著重DIY與客製化,請有正確的預期
About
LASSISYOURS
Resources
Readme
License
MITLicense
Stars
7
stars
Watchers
2
watching
Forks
2
forks
Releases
Noreleasespublished
Packages0
Nopackagespublished
Languages
C++
87.6%
C
7.1%
JupyterNotebook
4.1%
Processing
0.4%
Assembly
0.3%
CMake
0.3%
Other
0.2%
Youcan’tperformthatactionatthistime.
Yousignedinwithanothertaborwindow.Reloadtorefreshyoursession.
Yousignedoutinanothertaborwindow.Reloadtorefreshyoursession.
延伸文章資訊
- 1LASS 水盒子
- 2水盒子2.0
公民參與水資料. • 水利署「水情APP」. • LASS「山河事件簿」. • 「淡水河公約」. 2019年. 農地工廠Solution. • 擴充太陽能模組. • IoT泛用性. 水盒子1.0...
- 3《iCshop3》※LASS 水盒子套件包 368030200438 water box
你在找的《iCshop3》※LASS 水盒子套件包○368030200438○water box就在露天拍賣,立即購買商品搶免運及優惠,還有許多相關商品提供瀏覽.
- 4LASS 水盒子套件包【缺貨中】 368030200438 water box,NB ...
... 水感測) ○LASS - Flood Monitoring(淹水感測)- 系統帶起步驟與過程○水盒子github 釋出與組裝說明書釋出,詳情請點閱連結! 【出貨清單】 LASS 水盒子套...
- 5《iCshop1》※LASS 水盒子套件包 368030200438 water box
你在找的《iCshop1》※LASS 水盒子套件包○368030200438○water box就在露天拍賣,立即購買商品搶免運及優惠,還有許多相關商品提供瀏覽.