沖刷粒子

最近又在土炮沖刷粒子
這次使用adafruit rfm9x long range rf
頻率是走915MHz
其實以前就玩過了,只是目標是要做遠距離傳輸三軸的資料
這次應用在沖刷粒子上

接收端用pi zero2w + 發送端用pi pico
近端的傳輸跟接收都OK,缺點就是粒子的ID要如何去識別
在寫這篇的同時,剛好想到可以用unique id
只要在測試時記錄下來就好

下次可以試試看RYLR998 LoRa module by REYAX

ps:20250828,把發射端拿去外面看多少距離可行,
大概經過一半農田一半住宅區,直線距離442公尺,還收的到

ps:20250829,uid可行,但是有16碼,會有傳輸封包接收不良的問題
擷取後5碼,再加上前綴StLab,每5秒發送一次,可行
用5V供電的話,耗電不超過0.03A,肉眼平均0.021,有時會跳到0.026

pyOpenRiverCam

2年前用過,那時版本還是0.5.5
最近學生要用,又重新熟悉一下
目前版本0.8.8,但是一開始裝,跑都OK,但是流線箭頭出不來
從0.5.5一直試到0.8.6還可以展示流線箭頭
0.8.7和0.8.8都不行
所以還是用到0.8.6

控制繼電器程式

import RPi.GPIO as GPIO
import time
import sys

arg=sys.argv
RELAY_PIN = int(arg[1])
print("RELAY PIN:",RELAY_PIN)
GPIO.setmode(GPIO.BCM)
GPIO.setup(RELAY_PIN, GPIO.OUT)

print("Power Off")
GPIO.output(RELAY_PIN, GPIO.HIGH)
time.sleep(2)
print("Power On")
GPIO.output(RELAY_PIN, GPIO.LOW)
time.sleep(2)
GPIO.cleanup()

命名為gpio_reboot.py
執行: python3 gpio_reboot.py 27
27就是控制線在pi上的gpio號碼

繼電器

繼電器,可以拿來控制儀器重開機的東西
目前使用DC版本,有5V和12V,2路和4路
後來才搞懂5V和12V的差異(或者之前就搞懂,太久忘了)
5V和12V的差異是輸入電源時電壓不同
跟使用負載的電壓沒相關

以控制設備的主控版raspberry pi zero2w為例
當我使用5V版本的時候
DC+ — 5V(主控版) DC- — GND(主控版) 控制線 — GPIO27
負載(12V)常開 com nc
這時候就可以控制負載開關機

當使用12V版本的時候
DC+ — 12V(外接DC) DC- — GND(外接DC) 控制線 — GPIO27
負載(12)常開 com nc
這時候,負載都不會有反應,一定要再接一條DC- —GND(主控版)
這時候才會有作動

透過以上操作,可以利用主控版對負載重開機
透過主控版每半小時會回傳IPv6網址到後端
就可以實現遠端重開機
但還是希望可以用ewelink的方式去實現

LSPIV

一開始有找到,RIVeR,剛開始是2.X版,主要是用matlab編譯,是可以把攝影機視角算出來的流速,轉換成平面的流速。探究裡面的流程,是搭配PIVLab這個程式,也是用matlab寫的。流程就是先用pivlab算出來的流速,經過river控制點設定,就可以算出平面流速。後來pivlab的版本比river內建的還要新,之後的做法都是開matlab,用pivlab去算存檔後,再用river去計算。

之後又找到pyOpenRiverCam,是用python寫的,做法都差不多,先設定控制點,確定ROI範圍,就可以計算平面流速,好處是,它可以用解算的圖片去畫平面的流速,river只能畫被拉伸後的圖片。

2年後,學生問如何用LSPIV,再進去看RIVER已經來到3.X版,已經不用matlab,應該是用python,但是可能因為功能太多,需要的輸入資料更多更複雜。而PIVLAB也還是用matlab,但是已經是編譯過的,不再需要用matlab去開,但還是要裝MCR這個大怪物。

最後測試完後,還是可以先用PIVLAB算流速,再用舊版的river去轉換流速。

儀器過熱

現在進入夏天,放在墩上的儀器早上10點,CPU就80度,然後就熱當了
但是路途遙遠,不能為了它而去重開機
很早之前就有想用繼電器,但是那時在現場的網路還是用實體IP
現在只有IP6才是實體
所以現在有2種作法

  1. 利用raspberry pi zero 2w + 繼電器,由pi回傳ipv6的位置,再登入去pi,再控制繼電器
  2. 買現有支援ewelink等iot設備之繼電器,就可以直接從手機控制

電源線過長掉電問題

因為v3b6到儀器箱有60m距離,原先以為60m長度電壓只掉1v,降壓模組還是能維持5v,但是當有負載時,卻發生當電流大於0.35A時,會發生掉電,導致無限循環重開機。問了chatgpt,才知道必須要升壓,才能維持電流。升壓模組HW-183先使用15V,還是發生掉電,升壓至18V後才沒有掉電問題。

後拿XL6009升壓模組,準備來測試後接2組設備是否能使用。因為後來想想,v3b3和v3b4抓不到的原因,是不是線距有45m,問chatgpt說也是有可能會發生掉電問題。
PS:後來去現場試過了,b3和b4還是喚不醒…….