M17 之野望

m17_test

What is M17

SP5WWP 主導開發,主要是有見於現時業餘數碼制式透明度底,不便進行實驗。遂以 David Rowe 開發的開源 Codec2 發展出一套名為 M17 的業餘數碼制式。

M17-logo-svg

M17 Logo

並在 GitHub 展示一支援 M17 開源硬件設計手機 TR-9

tr-9_front        m17c        m17b

Diagrams from M17 Twitter

MMDVM 之父 G4KLX 也宣告在 MMDVM 平台支援這新制式。各式 Python 程式實驗,調制示範也可在官網和 YouTube 看到。

貌似美好,但由 Day 1 我就不看好。原因如下:

  1. 多數 ham 唔介意所用技術透明度底或高,是著眼價錢能否負擔,和同好圈子所用制式。
  2. 而家最普及的 D-starC4fmDMR 三款制式不能互通,再多一個我相信很少人會雀躍。
  3. MMDVM 的支援,是基於其根本設計,以支援 9600bpsFM 機種外加線路去支援各數碼制式的中繼方案。但 MMDVM 最普及的是 hotspotpi-star,暫未支援 M17
  4. 能玩到的,不外語音制式,aprs,往後頂多加進 9600bps data。咁和其他現行制式玩法相若。
  5. 雖說開源,但會否有廠家據此開發一種 M17 通訊機,可能性不大。投資大,規格嚴(無線電器材需入 lab 取得各國認証),市場細。
  6. 承上點,咁自製吧,你睇完官網個 reference design,我諗俾理料你你都唔會搞。一大堆 SMD 料是自製的死穴。
  7. 參與入場門檻高。雖開源,但技術要求高。小弟不才,我花了大半年的業餘時間,先搞到個嚴重 breakdemo 出來。
  8. 唯一可取是 open source,工科同學可拿來理解研究當中的軟硬件設計原理和概念。


現行幾種 M17 的玩法

發射方面,開源 project OpenRTX 給出的 MD-380 方案,仍未可收發 M17,暫只支援 DMRFM。再者,MD-380 的硬體也要改裝去配合。為單一制式去改,唔好搞我。

M380_M17

OpenRTX 介面簡陋,實驗多於實際


Rpi 運行的 Mvoice,如 M17 最終能普及是 ok 的,而家作用根本不大。這種不經 wireless,以 Rpi accessroom 的玩法,其實我興趣不大。

Mvoice link: https://github.com/n7tae/mvoice

解碼方面,曾介紹過的 OpenWebRx,最新版加進支援 M17。不過因 license 條款問題,將舊版可解 DMRD-starLibrary 刪掉,需使用外置的昂貴解碼 DV stick。那有等如無。

有得簡的話,我情願你俾返軟解 DMR ,D-Star 我。

YouTube Demo

藉著 Nucleo TNCM17 模式,接上一支援 9600 的發射機,連上 AndroidM17 app, 繼以 OpenWebRx 解碼監聽。

由於 break 得非常嚴重,我在 TNC 的設定選了 Pass Allignore CRC error

總結

制式無需統一,但太多也是有點麻煩。一種真由 ham 開發的通訊制式,所謂 from hamfor ham。我只能禮貌說聲 welcome

Posted in Digital Radio, Research, SDR | Tagged , , | 1 Comment

Nucleo TNC,VM 與 業餘數碼制式 M17 之野望

tnc_3mode

前言

本文分兩篇發表,上篇為主要講解 Nucleo TNC 更新到支援 9600bps 的過程與設定。

下篇則是我對 M17 的見解,與一些不太成功的實驗。



Nucleo TNC 一機 3 mode

Nucleo TNC (本文所提到的 TNC 皆是 KISS mode,下文略)在舊文中提過,是一支援 1200bpsTNC。年頭的 FW 更新,升級支援 9600bpsM17 制式。

原創設計商更慷慨釋出供自製的 PCB Gerber 給同好仿製。

tnc_pcb

DIY 版沒有了銷售版的藍芽與鋰電池充電部份。但改用了普通的 through hole 料,方便同好自行組裝。

最煩麻的是接收發機的 4 pole 3.5mm 插座,本地零件舖應找不到,我是和 Nucleo module 一併在 Digi-key 購入。不用直焊也無妨。

線路方面,C1 改為 1uF 以支援 9600 bps  

c1

另留意一點,接 Packet 軟件時的 com port 參數是 384008n1。不論 RF path1200/9600 bps

tnc_port


9600bps KISS TNC
舊文也介紹過一款,起用 Teensy Arduino 模塊,config 也需接上一部 Rpi 完成,既貴又不方便。

現在一機 3 mode1200/9600/M17 ,核心模塊是約港幣100元的 STM32L432 Nucleodemo 板,very good

nucleo-32


Firmware 發文時最新版是 ver2.3.2,請在這裡下載。寫入方法請參看舊文。

FW link: https://github.com/mobilinkd/NucleoTNC/releases/tag/v2.3.2


硬件唔值錢,但軟件值千金

Very good 是指硬件。這個 project 其實年頭 hardwareready,到而家才成文,除了 click 住係 M17 外,就係官網提供的 windows 設定軟件仍是 2019 年的舊版,不能選其他 mode

頓時陷入拜神唔見雞的局面。


在官方的 GitHub 上,有關 windows 的自行 compile 的章節明顯是舊的。但 Linux 的安裝檔 rpm 則有一個更新版。

這個 rpm 真係害人不淺,我為這 rpm 嘗試安裝到不同的 Linux,花了大量時間而無功而還,係行唔到既。

幸好,最後在 forum 上遇到同好指點:忘記那個 rpm,安裝完所需的 library 後,運行 python 執行檔即可。

終於成功踢著,這也產生一個問題,要有一個 Linux 環境下才可進行,所以順道介紹一下 virtual machine ( VM, 虛擬機)。


VM 與無線電

不少 ham 的軟件,尤以 open source 免費的多會在 Linux 運行。另外,Raspberry piOS image 也可以 VM 形式在電腦運行,方便測試。

這裡以免費的 Virtual Box,簡介安裝 Fedora ver.28 ,以運行 Nucleo TNC 設定程式為 TNCconfigApp  demo。 詳細的各種用法如安裝 Rpi OS 等,請參考 Google 搜尋結果。這裡不重覆人家的介紹了。

Virtual Box 官網 link:
https://www.virtualbox.org/

首先到 virtual box 官網,下載 windows host 和  VirtualBox Extension Pack 安裝備用。另請到 google search Fedora 28 download,應會指到 Fedora 官網下載,download iso 備用。


運行

Machine  => new 按步就班安裝,留意 size 預設的 8G 不夠,需自行增大到 20G

VM_size

簡單設定後,選 setting,在 CDfedoraiso 檔,開機後就會安裝。

vm_cd_iso



安裝完成後,按左上 Activities,打 terminal 進入 文字框。


vm_term

首先執行更新

sudo yum update -y

更新完後,請安裝 Guest Additions CD image。之後 reboot 一下。

vm_cd


登入後,繼續安裝所需 package

sudo yum install python3-pyserial -y
sudo yum install python3-gobject -y
sudo yum install wget -y
sudo yum install python2 -y

之後下載 所需程式

sudo cd /root && wget https://github.com/mobilinkd/tnc1-python-config/archive/refs/tags/v1.2.0.tar.gz


sudo cd /root && tar -zxpf v1.2.0.tar.gz

cd tnc1-python-config-1.2.0

進入該 folder 後,運行程式前,我們插入 TNC 到一 USB 2.0 port。等一下後到 VirtualBox,的 Devices ,選 STM32 STLink 以容許 TNC 接到 Fedora OS

vm-tnc

等幾秒後,應在頂端顯示一瞬間的 NODE_L432KC 字樣, 即認到了。我們還要輸入一指令,讓系統可 access 這個 port

vm_top


sudo chmod 666 /dev/ttyACM0
 

萬事俱備,以 python 執行程式檔

python3 ./TncConfigApp.py


一切順利的話,應可見到該 GUI 版面。

vm_tncapp

留意,程式參數包括訊號電平,增益等。所以 TNC 必需接上所配的收發機。   

vm_select_port

以下箭咀選 port,然後按右方 Connect,等一會應可和 TNC 連接上。


1200 vs 9600 之設定

除在 mode1200/9600 外,還有一點需注意的。輸入電平的 Auto-adjust,只適用於 1200 的設定中。

vm_input_all

9600,除收發機必需在 packet 設為 9600 外,這裡的電平必需推盡,否則會時有時無。

其他參數,不需更改。

最後按 Save Settings 儲存參數。


實測

tnc_9600_test

1200 固然 no problem9600Kenwood TH F-7Yaesu FT-90R 分別測試,均可解來自 Yaesu FTM-3509600 aprs packet

9600_t

9600chat


總結

看完本文,大家應可自製一 1200/9600KISS TNC ,還是 USB port 的。 RS2329com portham radio 的世界裡也慢慢走進歷史了。

年代唔同,起用一些雖廉價但運算力強的模塊,以前幾乎不可能自裝的器材,現在也可以平價自己搞掂。

本文介紹的,我相信應是現今最容易組裝,並支援 1200/9600KISS TNC 了。計埋 M17,可稱為無敵的 TNC 了。

tnc_case

剩下的是入殼,在華輝找到這款呎吋相若的機殼,貴但市面沒甚其他選擇了。入殼是我的弱項,慢慢繡花完成。


下篇 M17 之野望,將以這 TNCM17 模式,進行 M17 制式的測試。為此也簡直陷入自虐的境地。

m17_test

Posted in APRS, Digital Radio, 開箱文 | Tagged , , , , , | Leave a comment