BV1AL 之無所不記

2024-03-16

隨手關歪壞(Wifi)

日常生活中大家常說「要隨手關燈、要隨手關水龍頭」,但是沒有人說「要隨手關歪壞」?一來是人們使用歪壞也沒幾年,對歪壞認識不多,反正種花電信來安裝,可以用就好了,沒想過要關掉。二是歪壞設備大部份是沒有像電燈的開關,沒辦法讓人按一下就關、就開。

大部份歪壞設備要透過網路從瀏覽器畫面登入,再慢慢翻頁到可以關或開的選項,然後進行設定,而且幾乎只有透過時程控管開或關,沒有按一下就開或關的,而且按一下設定之後,還要等一段時間讓歪壞重新啟動才能生效。

現在市售歪壞設備更是標榜「穿牆」,功率越強越好,賣方跟買方都有這樣訴求。所以我們打開歪壞一掃,左右鄰居的AP名字都會出現,有的甚至比你家裡的更強!

嚴格一點來看,歪壞訊號到處射,也會有安全上的隱憂吧?如果能「隨手關歪壞」應該會比較安全,也比較環保。

要能夠隨手關歪壞,大概只有自己DIY一途,DIY需要哪些東西?(可能需要一點電子焊接工作) 

1.一組SBC ARM電腦,例如各種Pi,Banana pi Zero, NanoPi Neo, RPi zero……,不需要高規格硬體。
2.作業系統使用Linux,所以需要一些基本的使用經驗。
3.Wifi硬體,SBC板上內建的,或PCIe/MiniPCIe介面的,或USB介面的,最好有外接天線。(可能會遇到某些硬體沒有支援AP mode,或需要自行compile driver,要實際試才知道)
4.紅外線接收頭(有些SBC會內建),網路買一個5元以內(搜尋1838B這一款),紅外線發射器(家裡不用的紅外線遙控器,或壞掉只剩一個按鍵正常的遙控器,因為我們只要用一個鍵就夠了)
5.一個LED(可以是onboard的或接在GPIO腳上)來顯示歪壞On/Off,或是接一個WS2812(NeoPixel)多彩LED,這個好用,只要三支GPIO就能控制幾十個RGB LED。
6.板上內建的MCU或外接的MCU(例如RPi pico 或 RP2040-zero),用來解讀紅外線訊號,下指令控制歪壞的開、關。
7.用某種語言來寫控制介面,例如常見的python,以及MCU上面的程式(例如circuitpython)。
8.底層控制程式,一為控制AP的hostapd,另一為dhcpd(可以用dnsmasq或是更簡便的busybox udhcpd)分配IP,以及routing, iptables NAT給client端。

SBC上面內建紅外線接收頭是最方便的,如果沒有,就要在GPIO上面插紅外線接收頭,如果從GPIO插有問題,那就把紅外線接收頭插在USB外接式MCU(RPi pico 或RP2040-zero)上面也可以。

解碼紅外線發射器的某個按鍵所發出來訊號的值,如果是內建MCU,可以在SBC上面執行例如"sudo ir-keytable -c -t"來讀取按鍵值,以便寫入介面程式。如果用RPi pico或RP2040-zero這種外接MCU,可以用"adafruit_irremote"這個circuitpython用的library來讀取按鍵值。

用bash寫一個同時啟動dhcpd以及hostapd的介面程式。

最後寫一個銜接MCU到OS的介面程式,來「開」「關」歪壞AP。
1.紅外線『發射器』送出訊號
2.紅外線『接收頭』收到訊號
3.MCU確認這個訊號是要控制歪壞AP,而非其他按鍵
4.MCU向介面程式傳達『收到了』
5.介面程式檢查hostapd,若是未執行,就執行bash介面,啟動hostapd及dhcpd
6.介面程式檢查hostapd,若是執行中,就執行bash介面,中斷hostapd及dhcpd

完成之後,按下遙控器上某一個鍵,歪壞就開啟,LED就亮,再按一下同一鍵,歪壞就關閉,LED就滅,這樣就能「隨手關歪壞」了。

標籤: , , , , , , , , ,

2024-02-07

一位上帝,各自要怎麼表述?

今天看到「馬太 28:20」,查了一些不同語文譯本的文句,意思看起來有所不同.

一些中文本翻成「我所吩咐……遵守,[我就/我要]…與你們同在」
一些英文本用「Teach[ing] them .... to [obey/observe] ..... I will be with you」
一些俄文本用「...... Я буду с вами всегда」
這一類的會因為時間的線性關係,得出「條件A成立 -> 產生B的結果」的邏輯

但在呂振中本是用「…遵守…… 一切日子、我都和你們同在」
或是思高本的「…遵守 ...... 我同你們天天在一起」
或是巴克禮本「kà-sī in siú ...... góa ji̍t-ji̍t kap lín tī-teh」
一些英文本(包括KJV)用「Teach[ing] them .... to [obey/observe] ..... I am with you alway[s]
一些俄文本用「...... Я с вами всегда」
這樣的語句裡看不到時間前後對應,也就沒有「條件A成立 -> 產生B的結果」的邏輯,特別是從英文時式用 am 或 will 可以看出是不是有前後對應的「條件說」?也可以對照俄文有的用 буду 有的沒用,都是相同的時間序列的意思.

標籤: ,

2024-01-31

公教服務是什麼?

最早在馬來西亞檳城的GEORGETOWN 看到一棟建築物外面寫著「公教服務處」,心裡覺得奇怪,怎麼這邊會有跟台灣類似的名稱,再看,原來是Catholic information service, 所以這裡指的是「天主教」的機構。

一樣會在公共場所使用漢字的國家,「公教」兩字卻有天差地別,在台灣指的是「公務人員、教師」,在馬來西亞指的是「Roman Catholic(羅馬公教[台灣為天主教])」。

在台灣,人們普遍會把「天主教」、「基督教」、「東正教」想成不同的宗教,但是在西方文化裡,這幾個只是教派差異,他們的用詞是Roman Catholic, Protestant, Orthodox, 通通都是Christian(基督教),只不過他們對神的解釋(神學)以及宗教儀式上有一些差異,那麼台灣的翻譯是不應該改成「羅馬公教」、「新教」、「東正教」才不會造成普遍的不正確認知?

說到這些,甚至可以進一步把Christian, Islam, Judaism視為兄弟教,因為他們都是奉侍亞伯拉罕(Abraham/Ibrahim閃族人的共認祖先)所宣講的神,而這位神就是祖先亞伯拉罕所認的唯一一位,只因後代的神學解釋不同,導致代代子孫打得鼻青臉腫。

不過話說回來,西方文化對是非的堅持,是不是同樣也是來自這樣的認知精神?而不是見人說人話,見鬼說鬼話,想討好一切的人、神?

標籤: , , ,

2023-12-30

安慰劑、效果、中藥

安慰劑原本是用來給新藥進行盲測實驗時做為對照用,就是新發明的藥在受藥者身上發生的效果,一定要比用了安慰劑的人還要高出特定的百分比,才能斷定這個新藥是有效的。但隨著累積的案例增多之後,意外發現有些受試者雖是服用安慰劑,但也產生相當明顯的療效。

然後衍生出來的實驗是,原本盲測是不讓受藥者知道自己是吃了治療藥或安慰劑,改成讓他們明確知道自己所服用的是安慰劑,而不是真的治療藥,甚至告知安慰劑裡的成份是什麼。(稱為open label placebo,相對於盲測)

奇異的是,有些安慰劑受藥者跟用了治療藥的人有相同的治療結果!

當然不是所有人都有這樣的反應,但確實有些人既知道自己用的是安慰劑,又產生與使用治療藥的人產生同樣效果。

讓我想到,中藥之所以對有些人有效,對有些人卻無效,會不會也是類似安慰劑效應?尤其在華人文化圈裡,普遍意識認為中藥是有治療效果。

(從網路上的資料看到的是,不是所有人、不是所有疾病,都產生安慰劑效應,而只是部份)

標籤: , ,

2023-10-27

UV-K5 firmware資訊更新

使用了一段時間之後,在收接飛航通訊方面效果最好的是使用
https://github.com/egzumer/uv-k5-firmware-custom
這個github的firmware,它針對AM mode改良,所以聽起來不輸Uniden的scanner.

它包括spectrum功能,可以開啟頻譜模式來掃描飛航通訊,而且可以用到12.8MHz寬的範圍來掃描。

 

 按F以及5啟動頻譜模式,以截圖中的掃描來說,凸出來這一支訊號就是128.5MHz, 所謂12.8MHz寬,是在頻譜模式按4切換成128,再按1(7減少)增加到100.00k,最左端是118.1MHz最右端是130.9MHz。這個範圍掃描時會停在ATIS,因為它是不間斷發射(RCSS ATIS=127.4),所以按一下PTT下方的第一個按鍵Fn1,會把這個頻率列為不接收,下一輪掃到這裡就跳過,如果你所在環境還有其他強雜訊,使得掃描時停在那個訊號,就按一下Fn1來跳過。

 這裡說切換為100.00k是因為幾乎全部的通訊都落在小數後一位,即NNN.M,例如127.4 118.1 125.5 119.7 128.5,除了131.95外都適用。

 幾個重要按鍵:
1/7 增減掃描頻率間隔
4 掃描總數(循環改變)
2/8 增減掃描時改變頻率的間隔(按上/下鍵來改變頻率)
5 直接輸入你要起始的頻率(用*來輸入小數點)
3/9 改變收聽訊號的dB值
6 收聽頻率的頻寬
0 切換FM/AM/SSB
F/# 改變squelch線的高低
Fn1(PTT下面第一個鍵) 把出現的頻率列為跳過
Fn2(PTT下面第二個鍵) 頻譜掃描中,按Fn2可以切換背光
PTT 可以停在掃到的頻率

 從頻譜掃描來找出會出現的頻率,然後把頻率寫入記憶,常態收聽時切換到記憶模式(非VFO模式),按*鍵啟動記憶掃描。

 記憶掃描途中可以長按*鍵來切換 I 跟 II 兩個群組或是不分群組全部掃描
在非掃描時的記憶頻率,按5可以把這個頻率切換為第I或第II群組,或不屬群組.

 

 這是非掃描時的畫面,同時顯示兩個記憶頻道名稱及頻率,目前收到的是119.7000

 如果不想用web界面的方式燒錄(在Linux只能用chrome,不能用firefox),可以用k5prog這個工具,它已經修正bug,可以正常使用(之前版本會在半途中斷無法完成)。
https://github.com/sq5bpf/k5prog
在使用k5prog燒錄之前,要把下載來的bin或自己compile出來的bin拆解開,工具是這一支程式 https://github.com/amnemonic/Quansheng_UV-K5_Firmware/blob/main/uvmod_kitchen/qsfirm.py

 進入燒錄模式的按鍵是
1.先關機,插入連接線(3.5mm/2.5mm耳機接頭)
2.按住PTT不放,開電源,這時螢幕無顯示,照明用LED必須亮起來

執行方式如以下這一行
qsfirm.py unpack abc-xyz.bin k5flash.bin abc-xyz_ver.bin
"unpack" 這個就是拆解出給k5prog燒錄的格式
abc-xyz.bin 就是下載來或自行compile出來的bin檔
abc-xyz_ver.bin 只是看看它是什麼版本用的,與燒錄無關
k5flash.bin 是要交給 k5prog 燒錄用的格式檔bin,然後開始燒錄

k5prog -b k5flash.bin -YYYYY -F
這裡一定要加 -YYYYY -F
開始它會列出一些資訊,其中包括firmware的大小:
Writing blocks from address 0x0 until 0xf000, firmware size is 0xefec
然後看它的最後一行是不是 0xef00 跟 0x00ec
*** FLASH at 0xef00 length 0x00ec  result=1
這樣就表示全部燒錄完成了

記憶頻道的管理要用chirp, 請找next裡新的版本才有支援UV-K5機種
https://trac.chirp.danplanet.com/chirp_next/

標籤: , , , ,