總網頁瀏覽量

2021年11月30日 星期二

南開科技大學 與 Nantou.py使用者社群 所撰寫的優秀 Android App 藍牙技術參考文章! 科技大學絕對可以像這樣很務實傑出!

附件網頁 是 Nantou.py使用者社群 以及  南開科技大學 福祉中心&USR辦公室團隊的 優秀技術資料。

網址: https://cheng-min-i-taiwan.blogspot.com/2012/01/android-bluetooth-hellobtuartrs-232.html?fbclid=IwAR2lACoKm5QdZGtZz3upVE4HqebJto2UKbdgJX7kJGzOSfdQjgZ--n2m1FU

個人當年的 成功大學碩士論文(包含一些訊號處理演算法的整合應用開發、穿戴裝置的嵌入式系統開發、Android App開發等等) 之中,關於藍牙傳輸的Android App程式實作開發的部份,也有reference參考到這篇優秀的技術文章的相關內容! 這比一堆學術界的論文績效孩實際有用得多了!! 這些專業內容是很多普通大學名校電機資工系的教授們所不會的!

而我的下一屆成大碩士班學弟們,當時參加經濟部競賽的作品之中的藍牙傳輸的app的開發方面,一樣也有參考到這篇的內容!

南開科大 與 Nantou.py使用者社群 能有這類的技術分享,實在很優秀,就算名校(成功大學)的研究生甚至業界工程師做專案開發,也得來尋求參考這些專業技術研發資料!! 科技大學只要務實,就是可以這麼優秀! 只要務實,任何科大都可以在專業上表現得比名校大學還好!

註: 南開科技大學福祉中心 是由 南開科技大學 林正敏 副校長/教授 所主持。


9年前還在海科大讀大四時,推甄錄取 成功大學生物醫學工程系碩士班的小故事(面試時被問 工程數學)

小故事,覺得時間過得很快。

9年前,在高雄海洋科大讀大四上學期時,推甄研究所碩士班(一般生)。

 當時有報名 成功大學 生物醫學工程系碩士班(一般生)的 生醫電子組,這個組當時有40幾個人報名,正取人數是8人。

註: 成大的方面,我只報名兩個系所(生物醫學工程學系 和 工程科學系)。

而生醫電子組碩士班面試時,他們系當時的面試教授之一(同時也是當時成大生醫工程系的系主任)看到我大學的必修學科 「工程數學」 兩個學期的分數(95分、99分)之後,他說他剛好也在他們系上負責教工程數學,於是就當場問我傅立葉轉換的觀念(蠻親切的),我也當場回答出來,他很滿意。

後來放榜時,我是這個生醫電子組的 正取5 ,雖然後來我沒有選擇讀這個系所。


我在讀高雄海洋科大時,大學二年級 修 工程數學的課本是Erwin Kreyszig的Advanced Engineering Mathematics 9th edition (下方如照片所示),很多教授當年讀大學修工程數學時,課本也是這本書的較舊版本,這本算是bible等級的工程數學課本,



或者有些人是用另一位O'Neal作者寫的另一本工程數學Bible。

個人從大學開始很喜歡這些數學科目,常思考一些應付考試所需以外的數學意義。

2021年11月27日 星期六

從 統一入學測驗(統測) 電機與電子群電子類(資電類)報名人數 來看少子化

隨便挑個幾年的四技統測報名人數來看,

98年 電機與電子群電子類  報名人數: 15390

105年  電機與電子群資電類 報名人數: 9813

110年 電機與電子群資電類 報名人數: 7223

(註: 資電類就是當年的電子類,後來改叫資電類)

98年是我考科技大學(四技日間部)的那一年,後面的報名人數少得非常多... 105年 的 電子類(後來改叫 資電類) 居然比98年還少了 6千人, 而到現在(110年)人數居然只有我們當時的一半不到。


Ref: 

[1] 98學年度四技二專統一入學測驗群(類)別報考人數統計, https://www.tcte.edu.tw/four/majtype98.php

[2] 105學年度四技二專統一入學測驗群(類)別報考人數統計,  https://www.tcte.edu.tw/four/majtype105.php

[3] 110學年度四技二專統一入學測驗群(類)別報考人數統計, https://www.tcte.edu.tw/four/majtype110.php

#統測 #統一入學測驗 #技職 #高職 #科技大學 #四技二專 

2021年11月26日 星期五

軟韌體工程師,可以完全沒有任何硬體電路基礎背景嗎?

負責電腦系統底層系統的軟韌體工程師,可以完全沒有任何硬體電路基礎背景嗎?

舉個例子,

如果軟韌體工程師沒有一點硬體背景,碰到MCU/SoC晶片外部沒有或漏掉被上料(接上pull up resistor), I/O又沒有enable internal pull-up resistor,那I/O狀態如果又是open-drain output,許多週邊裝置根本連動都不會動,因為根本無法輸出digital high level voltage,例如I2C。

而對於應用功能開發而言,軟韌體工程師又是首當其衝。

就算去查軟韌體程式碼查到天荒地老都沒用,因為根本不是軟韌體程式碼的問題。

這是很基本的問題,但確實也是台灣業界常發生的問題,足以讓純軟體背景的工程師不知所措、浪費一堆時間。說真的這些是很浪費時間的事,但問題就出在基礎不紮實。

純軟體背景的主管們,如果只考應徵者一些關於資料結構、排序演算法之類的東西,對於上述這類問題來說,能有幫助嗎?還是只能期望每位硬體工程師每次都很給力?

2021年11月24日 星期三

有人批評現代技職教育體系都變成在升學考試? 但是,「升學考試」不就是台灣社會所崇尚的嗎?

很多人批評說台灣現代的技職教育變成都在升學和考試、不重視技術,以這個理由去歧視和貶低技職教育體系。

但問題在於,「都在升學考試」不就是講這些話的這些人們所喜歡的台清交成等名校大學部的學生的養成模式嗎?

難道考台清交成的普通高中生就有在學專業技術?

如果技職教育改回重視技術而不重視升學考試的話,又會被嫌說技職教育體系的理論基礎不足、學歷不夠高等等。

難道技職教育體系改回重視專業技術教育、不太升學,台灣社會就會認同嗎?我看許多台灣人還是只會盲目喜歡看名校學歷而已吧,一堆教育問題不就是這樣來的?

以前的技職教育體系相對偏重當下的技術教育、比較少人升學,當時就被台灣社會給歧視、被認為學歷不夠高、沒有讀大學碩士好像不夠高尚,政府和企業的用人制度也都在捧有高學歷的人;

(其實就我的了解,以早期技職工程科系來說,理論基礎還是蠻紮實,只是很多人不清楚,只以表面的印象去評斷技職教育體系)

而現在的技職體系會重視升學了,結果又被嫌說技職體系都在顧升學、不重視專業技術教育。

阿都給你們講就好了,一堆自相矛盾、邏輯不通,反正台灣社會許多人就是看技職教育不爽,充滿偏見歧視,怎樣都不順眼、怎樣都要嘴。

我個人是覺得,正規的高職工程科系的理論和實務其實是兼具的,這樣剛剛好,就算考試也是有考專業科目和共同學科科目,恰恰好啊。

個人簡歷: https://sites.google.com/view/wenliangsun/

#技職體系 #技職教育

2021年11月20日 星期六

【從事嵌入式系統軟韌體開發,絕對不能只有看到表層的應用功能,而是要能掌握「電腦」系統】

【從事嵌入式系統軟韌體開發,絕對不能只有看到表層的應用功能,而是要能掌握「電腦」系統】

Joseph Yiu這位作者的The Definitive Guide to ARM® CORTEX®-M3 and CORTEX®-M4 Processors (Third Edition), 2014部分內容有被放在ScienceDirect網頁上(知名學術期刊出版商Elsevier的書籍線上收錄網站),例如關於ARM Cortex-M0/M3/M4 CPU的Exception Return Mechanism的這部份(如該網頁內容): https://www.sciencedirect.com/topics/engineering/exception-return-mechanism?fbclid=IwAR3A4jgqY7IzOIe1vH4iE9qn1cSe0sNHsG_ab4EPyTU-X2R605APd8zYPYg

或者像是Interrupt Vector Table這個部份 (包含數位作者的著作部份內容):https://www.sciencedirect.com/topics/engineering/interrupt-vector-table


你會發現,相較於8051,其實ARM Cortex-M CPU的硬體豐富些、複雜些, 但想要達成的目的(基本原理)是一樣的,或者說是延伸發展而來的。相較於8051內的CPU,ARM是用更豐富的硬體(相對的也變複雜)來達成一些機制目的,算是一些優化的行為。

所以本園區的嵌入式系統基礎課程使用8051 MCU這種小而美、架構相對較簡易(講原理而非只是表層應用的話,對初學者來說已經夠難了)來闡述這些電腦基本的知識原理理論、並搭配實驗/實作驗證基礎原理,如function/subroutine、ISR的branch及return的原理,包含堆疊(stack)的觀念,

很多人可能不知道萬一堆疊(stack)的內容被踩掛了(值被蓋掉),當你呼叫一個函數,在函數執行結束之後就回不來原本的流程了,這就是所謂的bug,不要以為你用高階語言(C語言)就不可能發生,因為編譯器在你Build code時不一定都有噴warning、而就算有噴warning你也不一定會去注意。

這樣才不會淪於「只會」做很表層的應用 、只知道抽象流程、而沒有實際了解處理器在實體層面到底是如何「實現/完成這些流程轉換」 。這也是許多工程師常有的問題、也是很多大學師生對於這方面的技術視野極度侷限的問題  (只想要拿現成的軟硬體模組去湊出功能、以為這樣就很厲害了)。

在學校甚至某些企業內部,甚至常有那種常把重點放在功能是否創新創意打嘴砲、或者著重上層應用演算法以包裝論文的風氣文化,不是說這些部份不好,而是如果只有這些部份,從技術基礎與深度的角度來看,就太過於偏廢,而且事情的發展往往很容易走到這方面來。畢竟拿現成的東西來兜出功能最快了,就人性面的角度來說,多數人(外行人當然多於內行)都只想看到功能,或是只想看到有漂亮應用數學式子的論文,而不管東西是怎麼開發設計的、不管開發者是否理解其架構原理。

千萬不要以為這些重要的理論基礎沒用 (以為和做出表面的應用功能 沒直接相關),事實上,在做產品開發時,當遇到一定困難度的bug時,就會與這些基礎觀念的累積有很大的關係。

我常建議我的學員工程師們,從事嵌入式系統軟韌體開發,絕對不能只有看到表層的應用 (程度只到只會拿現成的函數來兜出應用功能)。工程師們如果希望有比較好的軟韌體職涯出路,需要有一定的技術視野和深度,而不能只會call API(現成函數)做應用,當遇到有難度的bug時或者希望優化增進效能或降低運算功耗時,會發現自己啥都不懂。

畢竟嵌入式系統就是具備特定功能的「電腦系統」,你還是必須要對「電腦」內部組織原理有所掌握,以及對於周邊的電子電路有所理解,電腦晶片內外部的軟硬體基礎知識都需要兼備,這樣才是完整具備 系統設計規劃、系統設計觀 的研發工程師,如果不知道這些部份的存在和重要性,那都不算「完整」的系統設計能力。

而選擇用8051做為課程實驗平台的另一方面原因是,8051比較不會像是ARM CPU based MCU的細節這麼多而複雜 (難以讓初學者吸收理解),就像還不會騎腳踏車的人(還沒掌握基本平衡感),並不該在一開始就去騎多功能的機車(很容易雷殘而導致放棄學習騎車),這是一樣的道理。

如果你平常(長年來)在寫所謂的軟韌體,如果都只有 呼叫(複製、貼上、改參數)現成的函數(API function)在作純應用,那你可能會聽不懂我在講什麼,你會以為你呼叫現成的函數就代表你「懂ARM」了,事實上這是差十萬八千里,就像你在個人電腦(PC)上面用DEV C++ IDE軟體去撰寫一隻呼叫printf標準API去印出"hello world"字串在螢幕上的C語言程式(.c),但你可能完全講不出這台複雜的電腦系統的任何原理一樣。

另外,關於MCU/SoC應用所牽涉的周邊裝置驅動以及基礎介面電子電路的方面的原理和實作實驗,本園區的課程也都會涵蓋。

所以,外行人才會以為8051太老舊、xx平台太老舊,事實上事物的本質是看你怎麼去了解和應用,許多數十年前的演算法也會被用來設計現代的產品 (例子太多講不完,例如Dynamic Time Warping algorithm),很多技術都沒有什麼老舊/不老舊的問題,而是看你怎麼去用它。

很多人常會說xx平台、xx技術太老舊過時,沒用了,

拜託,很多人可能根本不知道,Python的問世時間是1991年 (距今30年前),怎麼不說Python太老舊? 

類神經網路(Neural Network,NN)的計算模型大約是在1943年被創造發展,怎麼不去說Neural Network太老舊?   

所有技術和平台不都是幾十年前開始問世、累積過來的? 難道會空中樓閣、直接空降?

現代微積分是在17世紀被研究發展起來的,都幾百年前的東西了,怎麼不去跟學校要求拿掉微積分必修??

從頭到尾就是人的問題,而不是什麼技術老舊與否的問題。

-----------

‼課程進一步詳情請參見下方blog網頁的課程介紹👇:

 

2021年11月4日 星期四

非本科系學歷出身,卻願意來學電資工程領域的人,可能才真正適合電資!

台灣人很多都會負面思考,例如遇到有名氣的權勢就放棄對抗,或者說做這些都沒用啦、講這些都沒用啦、忍耐吞一下就過了啦....之類的

又例如,很多人有門戶之見,看到非本科系(如文學、食品、機械) 想來學習電資工程,就會有一些歧視,說人家不是本科系學歷出身、沒基礎、沒概念、落後好幾年等等。

但我完全不這麼看。就我的長期觀察經驗,我認為非本科系出身、卻願意來做電資工程相關的人,代表其學習意願很堅定和強大,在學習方面也可能會更嚴謹小心和謙虛,只要給他們一些時間並且加以輔導,絕對會比大多數本科系出身的人還學得好,後續可輕鬆超越本科系多數人。

這樣才叫正面思考。

看事情本來就該正面,不是表面上好像很少批判就代表自己很正面,然後其實是戴著負面有色眼鏡去看別人