2024年10月7日 星期一

OpenIPC 介紹

 


目前FPV飛行的影像傳輸解決方案,主要分成數位和類比兩種。類比解決方案用的人較多,好處是延遲低、重量輕、價格便宜、市場上選擇也非常多樣。但是缺點就是在使用的過程中很容易會產生雜訊。至於數位解決方案的話,目前主流的就是DJIfpv眼鏡,效果就不多說了,主打的就是一個高畫質。但是缺點就是貴,真的很貴。當然市場上也有競爭產品,比較有名的是蝸牛跟HD Zero。其他的品牌就沒甚麼印象了。數位化傳輸的產品為什么價格特別貴呢?我相信主要的原因還是在於技術門檻。由於技術門檻高,能夠提供產品的公司也相對少。那么價格自然也是節節高漲。

類比系統的話。便宜還有一個原因,就是因為它的產品都是使用相同的開放規格去設計的,所以它有一個最大的好處,就是彼此之間雖然是不同品牌的商品,但是訊號都是相容的。在這樣子的環境之下,因為廠商之間的競爭就很容易造福到消費者。而數碼產品的話。因為技術是比較封閉,所以各個廠商各自弄個字的產品,不過好在最近有一個好消息就是,數位解決方案現在也慢慢有開源的產品出現了。開源產品常常都是產品的下降的一個主因。在根本技術上面,如果有一些神人願意把主要技術放出來的話,其實之前就有很多相關的案例,像是3D列印最早也是開源產品開始的。然後在一瞬間就百花齊放。發展到今天,大家才能有機會玩到很便宜的3D電影產品。那麼,至於遙控器的話,最有名的就是open TX。之前,遙控器主要都被JRFutaba兩家把持,遙控器一直以來都非常貴,而中國那邊的話雖然生產能力強,但是因為核心技術的關係,所以弄出來產品常常穩定性都不夠,那後來有open TX這個東西,他把軟體跟硬體架構基本上都釋放出來,然後導致現在遙控器百花齊放,大家才有機會買得到那種非常便宜然後又高效能的產品。我最近也是開始慢慢轉移到openTX的產品上面。真的是好用,抗干擾性跟距離都是以前無法想像的。

而現在。數位傳輸的FPV解決方案。也開始有了最原始的開源方案。主要的有Open IPCopen HD

Open HD的話,它主要是透過樹梅派來當成解碼工具。這個部分發展的比較早一點,但他的主要問題是因為樹莓派的體積重跟耗電量大。所以後來並沒有普及起來。至於open IPC的話,最早並不是為了第一人稱飛行所開發,它的主要開發的目的做家用監控的部分,因為家用監控產品。西方人很不相信大陸生產,認為大陸的家用監控產品都有開後門。所以呢,他們就開始做出了這種開園專案,主打的就是一個沒有後門。那只是後來有人發現說這個解決方案,它的解碼速度相當快,然開始有人把它轉移到FPV上使用。

那麼,這是否意味著Open IPC已經到來了?

實際上,現在有兩個可以購買的Open IPC視頻系統,一個來自RunCam,,另一個來自EMAX,不過目前EMAX似乎只有歐美那邊可以透過aliexpress買的到,淘寶反而沒買,所以我先買了RunCam來試試看。

首先說明的事情。這不是一個成熟的成,他比較像是一款DIY模塊,但由主要的FPV製造商製造,任何人都可以花錢購買並開始使用它。這是你進入Open IPC所需要做的最少工作,但它不是一個成品。它仍處於非常初級的階段。

因此,應該考慮購買這個系統的人是那些想以較少的學習曲線和較低的門檻進入alpha階段的人,而不是那些在尋找成品視頻發射機的人。


FPV NVR刷固件,可以看這支影片

1. 這支影片對於NVR刷OpenIPC固件有不錯的教學

官方網站有關NVR 設定,寫的超簡單,真是搞死人。

在操作的過程裏頭發生的問題在於固件的img檔案,官網說明是使用windows 的tftp工具來架設一個快速的tftp server,這個部分實在說明太少。在這邊卡關許久。影片裏頭這個部分他是使用linux,所以也沒有特別提到這個服務要怎麼使用。

是到最後可行的方式是tftp要下載32位元的setup版本,而service的版本安裝好之後會變成windows的系統服務,這個不要用。

setup版本安裝之後,他會幫你設定好防火牆,所以不用擔心,只要去把目錄設到放image的目錄即可。

另外就是一個很詭異的概念是tftp的gui在測試的時候會需要設定本地端檔案跟遠端檔案。

這個部分跟習慣用法不同是本地端檔案名稱設定好之後,如果是做下載的動作,無論

遠端檔名是甚麼,都會存成本地端的名稱,所以在測試的時候,會一直找不到下載的檔案就是這個原因。

另外概念就是這個軟體一跑起來,就表示tftp的server也啟動了,所以在同往域裡頭可以用兩台電腦先測試過,確定可用就可以進行下一步。

其他的則跟上頭影片一步一步照做即可。

完成刷固件之後就是要上傳gs.key 由於發射端是使用Runcam wifilink,所以我就直接使用發射端的key。其中我是覺得會需要看一下這個影片


用openipc configurator會比較方便,我是用他來傳gs.key,這個部分的步驟剛好跟影片內不同。步驟是先連到camera 然後receive drone.key

接下來連到NVR,然後send gs.key 

以上步驟我是測試成功。這時候應該會看到畫面已經顯示開始接收封包。但是沒有畫面,這是由於地面戰預設的codec跟解析度不正確。

至於這個openipc configurator軟體的bug是關於牠抓到的參數,其實跟實際的參數不同。我用軟體看到camera的code是h.264 但其實是h.265

不過不管,反正最後還是用PuTTY用ssh連到nvr,然後用vi修改。會需要修改兩個檔案,一個是w開頭的,要改channel。另外一個要改的是v開頭的,有解析度跟codec。

這樣子應該就可以看到畫面了


2024年10月4日 星期五

如何將 ELRS 接收器與 Pixhawk 連接


 ELRS 接收器可以通過 UART 埠連接到 Pixhawk。在 Pixhawk 中,這些埠是 Telemetry 1 (TELEM 1) 和 Telemetry 2 (TELEM 2)

參考: Crossfire and ELRS RC Systems — Copter documentation (ardupilot.org)

我們需要從 Mission Planner 中通過轉到 config > Full Parameters List 來設置以下參數。


設定 SERIALx_PROTOCOL = 23 (x 代表串口號,根據 Pixhawk 型號變化)

設置 RSSI_TYPE = 3

我發現只有 TELEM 1 支援 23。因此,我們將在 Pixhawk 2.4.8 中使用 TELEM 1 埠。此埠的 x 將為 1。


SERIAL1_PROTOCOL = 23

設置 RSSI_TYPE = 3


上圖顯示了 Pixhawk 中遙測埠的引腳佈局。6 個中只有 4 個將與接收器連接。


5V 將連接到接收器的 VCC

無線電 RX (FC TX) 將與接收器的 RX 連接。

無線電 TX (FC RX) 將與接收器的 TX 連接。

GND 將與接收器的接地 (GND) 連接。



YCLONE ELRS 7CH PWM 的各種問題



 固件升級選項 Generic已經被移除,請選Happymodel 2.4 GHz -> HappyModel EPW6 2.4Ghz PWM RX

如何可以啟動第七通道

請看這影片

https://youtu.be/2VZb0n_G_Pg?si=BViyAWaGsa-fYsYH

相關json檔案

影片內容

在http://10.0.0.1/hardware.html裏頭

PWM outptu pins 原本只有設定6個pin

0,1,3,9,10,5

只要把7CH.json在這個頁面上方上傳之後

會變成

0,1,3,9,10,5,16

第16是跟LED pin重複

然後頁面最下方的儲存按鈕按下即可


研究:

在上傳了custom的json設定之後,頁面上方多出了下載預設跟重設的選項

然後比對三個json之後 發現如果是serial輸入的飛控可以選擇CRSF

不過也不用擔心之後傳輸協定一定要CRSF,因為之後可以從wifi web頁面更改成其他通信協議

不過沒看到連線速率 這個部分可以要測試看看

7CH.json

{"customised":"true",

"serial_rx":-1,

"serial_tx":-1,

"radio_dio1":4,

"radio_miso":12,

"radio_mosi":13,

"radio_nss":15,

"radio_rst":2,

"radio_sck":14,

"power_min":0,

"power_high":0,

"power_max":0,

"power_default":0,

"power_control":0,

"power_values":[13],

"led":16,

"pwm_outputs":[0,1,3,9,10,5,16],

"vbat":17,

"vbat_offset":12,

"vbat_scale":310}

CRSH.json

{"customised":"true",

"serial_rx":3,

"serial_tx":1,

"radio_dio1":4,

"radio_miso":12,

"radio_mosi":13,

"radio_nss":15,

"radio_rst":2,

"radio_sck":14,

"power_min":0,

"power_high":0,

"power_max":0,

"power_default":0,

"power_control":0,

"power_values":[13],

"led":16,

"pwm_outputs":[-1],

"vbat":17,

"vbat_offset":12,

"vbat_scale":310}


hardware.json

{

"radio_dio1":4,

"radio_miso":12,

"radio_mosi":13,

"radio_nss":15,

"radio_rst":2,

"radio_sck":14,

"power_min":0,

"power_high":0,

"power_max":0,

"power_default":0,

"power_control":0,

"power_values":[13],

"led":16,

"pwm_outputs":[0,1,3,9,10,5],

"vbat":17,

"vbat_offset":12,

"vbat_scale":310}

2024年10月3日 星期四

ELRS-RC 同時實現數傳以及RC (大失敗)






第一個參考影片:

【它来了,elrs终于支持真正意义的mavlink了】 https://www.bilibili.com/video/BV1g5WCedEET/?share_source=copy_web&vd_source=fae50ad0a6f345b9ecfa689eef597a62


設定方式

【elrs教程】怎么把elrs变成mavlink数传电台】 https://www.bilibili.com/video/BV1P4noe5Ek6/?share_source=copy_web&vd_source=fae50ad0a6f345b9ecfa689eef597a62


youtube的另一個教程 大同小異

https://youtu.be/u_ArriXbrR0?si=-8S-TUQk4GW8aFiI&t=909

但是這個教程在15:56提到發射模組的DIP要切成flashing模式??不然無法運作在Mission planner,我猜應該跟OTG協定有關,如果不透過OTG,只用USB-C to USB-C 是無法在平板中自動啟動


先改飛控參數 (omnibus f4)

serial4_baud -> 460 (230)  也有youtube教程是選19

serial4_protocol -> 2 (23)

rssi_type -> 5 (3 receiver protocol)


以下影片教程是使用發射器LUA修改

發射器 

Link Mode ->mavlink (normal)

接收機

Link Mode ->mavlink

參考其他教程我發現 接收機連線速度似乎也要檢查

UART baud ->19200 (420000)

MissionPlanner 要設定成上頭的bau rate

以上官方相關資料

MAVLink - ExpressLRS

AirPort - ExpressLRS

最後大失敗,原因不明。在完成以上設定之後,是可以遙控,但是卻無法數傳。無論平板或者電腦都讀不到資料。