2020年8月16日 星期日

IoT 好書介紹

IoT 是這幾年被炒到爛的話題,其實 IoT 並不是什麼新玩意,10 年前就有了,小弟過去參與過 Wireless Remote IO,HMI,IPCam...都算廣義範圍的 IoT

很多人想進入這一行,市面上也有一堆書,但筆者翻閱的結果,這些書大部分就是教你拿個 Arduino、Raspberry Pi DIY 幾樣東西,跟過去那些 8051 單晶片比起來可說換湯不換藥,對於真正實務上需要的東西付之闕如,簡單來說就是玩票性質。

無論做的是不是 IoT 產品都離不開下面三件事

  1. 效能分析
  2. 除錯
  3. 測試

以 #1,#3 來說,過去筆者在做 Wi-Fi 相關產品時,會用 2.4G Shielding Box 加上衰減器,用 iperf 測試頻寬的上限,去空曠、沒有干擾的場所(如停車場、河濱公園)用米輪尺測試最長傳輸距離。

#2 方面,要知道用什麼軟體除錯(Wi-Fi 最常用的是 omnipeek),要有能力看懂 802.11 封包,甚至筆者幾位資深的同事雖然也是軟體工程師,但也有能力操作頻譜分析儀(小弟還沒練成就因健康因素登出),另外像是鄰頻干擾、SNR 這些基本 RF 常識就算你跟筆者一樣不是 RF 工程師多少也要知道一些。

市面上那些中文書大部分對於 #1-#3 可說是一片空白,下面介紹物聯網嵌入式軟件(原名: Embedded Software for the IoT)的這本書就比較不一樣,這本書把實務上需要的 know-how 全部介紹一遍。當然靠這麼一本薄薄的小冊子要學會所有的知識是不可能的,但至少告訴你哪些是重要的,雖然這些可能不如玩 Arduino 來的速成有成就感,但依筆者的實務經驗來說這些才是重要的東西,下面隨便舉幾個亮點。

首先是資安,現在賣到歐盟的網路產品沒有強調 GDPR 的話可說沒有競爭力可言,但若 IC 沒有提供硬體層級的加密,會使效能大打折扣,這個筆者有切身經驗,筆者之前在做 RTMP(Real-Time Messaging Protocol) 時走 https,AES 有硬體支援尚且勉強過關,但碰到 RSA 就慘了,CPU loading 立刻衝上 99%,這也給現代工程師一個省思,加解密可能要優先評估,有可能因為加密因而效能只剩原來的 1/10,哈哈哈~

至於無線封包的偵錯,這本書 Wi-Fi 用的是 Wireshark,實務上筆者沒有看過有什麼人用 Wireshark(幾乎都是用 Omnipeek),但也起碼比完全不提的那些中文出版品要強,此書也提到了 Wi-Fi 網路速度的理論計算,很多人以為 54Mbps 就真的有 54Mbps(務必好好跟老闆說明),實際上理論計算出來的 payload 也沒有到這個數字,實務上可能只剩 60%-70%(由交大老師寫的無線區域網路一書有更清楚的說明),筆者之前測某 SPI Wi-Fi IC,SPI bus 用到 25M,但 802.11g 6Mbps 用 iperf 測出來只有 ~3Mbps 而已。

以筆者實務上的經驗,最常碰到的是頻寬跟延遲的問題,以前面的例子來說,3Mbps 可能是極大值,最小值搞不好 < 1Mbps(干擾,距離,系統資源都會影響),筆者在做頻寬測試時甚至還要用 Excel 跑數據跟圖表,看頻寬是否符合常態分佈,測試延遲時則用碼表對著鏡頭,然後用手機錄影下來慢速播放看差零點幾秒,甚至是把對手產品的封包錄下來,然後跟自家的比對,觀察每個封包間的間距。這本書就有接觸到這個議題,所以筆者相信該作者是有經驗的工程師,而不是只顧著賣開發板跟課程的講師。

這本書在最後還花了一整個章節講數位訊號處理,個人覺得不需要寫那麼多,大概講一下觀念跟介紹應用跟幾本好書就夠了。所有寫 firmware 的工程師這一生至少都會寫那麼一次 Low Pass filter(ChamberPlus 前輩寫過一系列專文),聲光影音更不用說逃不開 FFT,不過筆者知道這些的重要性時已經離開學校很久了, 這也告訴我們 IoT 不需要特別去學,你把學校的基礎打好就有進入這行的本錢了。

PS.

前陣子 ChamberPlus 前輩說他唸國立大學的兒子在課堂上就收到一堆免費開發板,看來這個風潮還真是勢不可擋,連台大都降貴紆尊出了一本物聯網ABC,作者還是電機博士,真的是有點浪費人才(或者是有補助經費?)。

沒有留言:

張貼留言