SDR 高階學習秘技

 

前言

一系列的 SDR 文章,得到不少共鳴和回覆;有中至 post graduate 同學,也有從事資訊安全的專業人仕。大家交流各種玩法,情報與一些想法。

回想廿年前考了個牌後,你跟我說是 ham 但又沒有 call sign,其實都唔知點將你定位。

現在,如玩 SDR 玩得好,唔發射有無牌也不再重要;我都會當你係 Ham:志同道合。

SDR 要更上一層樓,研習是少不免。過去的實驗是應用層面,人家唔寫出個 program 出來,連試也不能;SDR 手指只做回本份:用來看高清電視。

SDR 就是數學、無線電理論與電腦編程的混合體。網上有不少有關 SDR 電子書,算式理論一大推;除非是大學程度並以 SDR 為研究課題,否則這些書籍對業餘研究人仕幫助不大。

幸好,現有一數學導向和一編程導向的可介紹給同好研究。這兩方案的共通性是所需硬件皆為 RTL-SDR,即我一向應用開的平價 SDR 手指。

SDR 硬件平則幾十,貴去到幾萬元但仍屬業餘機種的也有。學習成本要平,用 RTL-SDR 手指就 ok 了。SDR 硬件日新月異,之後如不夠用再添置也未遲。

 

Software Defined Radio using MATLAB & Simulink and the RTL-SDR

sdr-lab

 

官網下載:
http://www.desktopsdr.com/

是一免費電子書連編程碼 (兩檔分開下載)。雖則是用軟件 MatlabSimulink,較適合大學程度同學,而這兩軟件也有價錢相宜的學生版。其他人仕不想花錢,只能用 30日的試用版。

撇除書中的軟件實習,書前部 (頭三 chapter) 有詳解各 RF 的理論,和 RTL-SDR 的硬體設計解構。官網也有一系列教學 video。站在不識多也可識少,又免費的情況下,一看無妨。

數學根底對我們 Ham 好重要,否則只能在應用層面徘迴;low level 一點就只能靠吹水掩飾自己的不足。吹水係會自我催眠,吹得多就真係當自已曉,這也是很多人的弊病。

 

RedHawk

redHawk

官網:

http://www.geontech.com/redhawk/

YouTube Channel:
https://www.youtube.com/channel/UC8eaVGL8R0BrQc8HaD-dalg

是一套 SDR 的編程開發 framework,並支援 RTL-SDR,也可 Raspberry pi 運行。我則以 Virtual Machine 形式在電腦上試用。

留意,她支援的 Cent OS 版本 6.4 。不要嘗試在其他 LinuxUbuntu 上安裝,我 try 了兩日也失敗告終。用回 Cent OS 兩下手勢搞掂。

參考資料是不多的,除官方的 user manual,就是其 YouTube 的官網教學示範了。幸好,教學示範片是不停上載的。

她支援用家編寫程式如 python,也可將 SDR 手指收到的 DataStream 經網絡傳送出去作後期處理如信號分析等;很適合應用在之前介紹過的 BBHN 網絡上。

 

總結

有別之前的 SDR 實驗,這兩方案是要坐定定花時間鑽研。功力不會從天而降,拳譜俾咗你,練拳還得靠自己的。我也十分渴望有日能和各 SDR Ham 友在這些 advance topic 交流。

Posted in SDR | Tagged , , , | Leave a comment

以 Cayenne 為 Raspberry Pi 學習平台

 

c-cover

前言

香港的電腦教育,向以 Microsoft 的平台為主;近年引入 Mac 電腦,不是為向同學介紹不同電腦系統的差異,只為潮流。

有些 funding 要花掉,花在 Mac 機最好,夠貴。一個配備 Mac電腦的班房,是學校邀請嘉賓參觀,拍宣傳照的聖地。

同學用這些 Mac,做的也和 PC 沒分別:上下網、睇下戲,打下機;能因 Mac 而得益僅少數。

 

Why Cayenne

Linux 系統與前兩者相比,更沒買相可言。一般中小企的老闆用 Linux,也只不過是著眼於免費這點。

然而,Linux 可塑性強,架構上沒有太大的限制,有本事的甚至可更改 kernel,控制 low levelIO 等。

Linux 的學習,一般也要到 IVE,或大學程度的電腦同工科的課程才被迫學到。

但這不代表 Linux 是大學級數的難度。Rpi 的出現正是為中小學程度推廣電腦教育而生。

Rpi 為學習 Linux 的平台,既廉價有可玩埋 IO 控制,軟硬兼得。

我間中會收到一些 Rpi 的學習查詢,但我始終較喜歡在 Text mode 下打 command,和年青人多在 GUI 平台運作,有時真係 sync 唔埋。

我也探討過一些 Rpi 運作的編程教導軟件,係是由零開始,但也相對幼稚多公仔,較適合小學生學習。我總不能叫一些明顯是中至是大學的訪客試一下這些程式。

不過,近排發現了一個 Android 軟件卻可和 Rpi 整合一起。是中學程度,尤以想學習 IO 配置的同學的好選擇。

c-icon

這是 Cayenne,是免費軟件,仍是 Beta (測試版),但一般功能己可用。

硬件準備

先到其網站下載並安裝到一台 Android 設備上。由於不是放在 Google play store 供下載,安裝前需開啟 “允許安裝非來源自Google Play Store 之應用程式”,建議用 Tablet,因版面大按掣較方便。

下載網址:
https://drive.google.com/open?id=0B9NdLZwcpniKOER1MHVoSnBCWXc

跟著準備一部 Rpi,我以 RPi Ver2.0 作為 demo 。一如過往做法,下載 OS 並爆到一張 8G SD card,並設定好。

留意,Android TabletRpi 必需在同一內聯網上,兩者也需上到 Internet。就我的實測,家用的 BB router 無需為此作額外的設定。

Cayenne 需用者登記一個賬户,登入時可在 App 一併登記,提供也只是 namepasswordemail。他們也不會寄確認信到你電郵並需激活等麻煩手續。

簡單雖好,但忘記了 password 也沒有重設機制。所以請記下你的密碼,和免得過不要選擇 logout

進入 Cayenne 後,按下方 scan  搜索一下同網絡中的 Rpi。

c-install

如網絡上有多個 Rpi,選你想接上的。之後 Cayenne 會自動替那台 Rpi 安裝所需的 Library,需時約 10min

 

c-enter

安裝完成後,可按右箭咀登入該 Rpi

 

c-main

基本上該 Rpi 就成了你的下位機了。可看到其資源分配。留意 RebootShutdown 是沒功能的。估計和 Beta 版或沒取得 RpiRoot 權限有關。

四個 section 分別是資源溜灠,IO 控制,簡單編程觸發,和重要功能致能。右上的是加入模組設定。

 

c-io

按一下 IO 控制,就可在這個版面控制 RpiGPIO

c-io2

先將用到的 GPIO 設為 Output,之後改變輸出的高低電平 。

 

c-trig1

 

c-trig2

簡單編程觸發是 If then 的最基本編程技考。

 

c-config

重要功能致能取代了在 Rpi 上執行 raspi-config  去開關各硬件和額外的通訊協議。

 

c-module

右上的加入模組設定。

 

c-mod2

選擇想加進的模組,如不懂接駁可按 View Tutorial,會 forward 到網站上有詳細介紹。

 

c-tutorial

這些模組,絕大部份是 open circuit,線路是公開的。可從簡單的試起。

Demo

剛巧為另一 project 切了一塊 circuit,是簡單用 Rpi 推  LED 的。這裡 demo 一下用 CayenneIO 控制輸 10 去開關 LED

 

 

總結

萬事起頭難,以 Android 平台先學會簡單的 RPi 控制,累積經驗和興趣合乎預期才進一步真正在 Rpi 開始研究編程等技巧,簡單方便快捷。

再不如我一樣,兩三下功夫用 Cayenne 遙控 Rpi 達到開關目的,也是 Ham 友所需的秘技。

Posted in AVR / ARM | Tagged , | 1 Comment