課程簡介 | 學習菜單 | 課程預覽 | 課程諮詢 | 加入會員 | 合作專區 |
★ 數位學習優惠中 ★ 歡迎電洽02-2316-7736,或填表預約專業諮詢服務
Linux是一套作業系統,且Linux的源碼和架構都是開放的。發展迄今,整個設計體系已經相當穩定,並化繁為簡,開發彈性大,因此從網站到物聯網系統開發,Linux無所不在,如果你自認自己是科技知識份子,那麼選擇Linux應該是理所當然。 而C語言是計算機程式的共同基礎,具備熟稔的C語言能力,從事硬/韌體的相關開發,才會有更好的效率。
若您有志朝嵌入式系統軟底層、MCU韌體、IC驅動程式開發、物聯網應用開發等以Linux、C語言為主軸的專業來發展,本課程將幫助您快速學會工程師必備的Linux與C語言能力,並教您運用C語言來進行Raspberry Pi 的基本操作,並搭配艾鍗獨家設計I/O子板,擴充了原Raspberry Pi 板的功能,並對其中所有軟硬體控制原理進行透徹解說,讓你可以在實作中驗證自己的學習成效,讓你可以成為創客 (Maker) 來實作各種有趣點子,也為踏入進階工程領域(像是嵌入式Linux開發、MCU韌體開發等)前建立紮實基礎。
- ü學會Linux入門操作(系統安裝、遠端連線、系統結構、常用指令…)
- ü學會工程師必懂的Linux技術(編輯器vi使用、檔案系統與系統結構、硬碟分割與掛載、核心編譯…)
- ü學會工程師必懂的服務器安裝(APACHE、VSFTP、NFS、Samba、MySQL、LAMP…)
- ü清楚掌握C語言的基本及進階觀念,尤其是針對pointer、Struct與位元處理等主題
- ü認識前處理器、指標、特殊宣告等嵌入式系統常用的技巧
- ü了解程式設計架構的可維護性、模組化
- ü學會何利用C程式在Raspberry Pi 讀取感測器與控制I/O裝置
- ü學會基礎I/O控制:GPIO (LED、Push Button、Switch)、Relay 控制110V家電控制
- ü學會感測器介面技術 - 數位(I2C, SPI)、類比 (ADC)
- ü學會PWM控制-伺服馬達控制
• 課程總時數 : 29小時
• 觀看天數:60天
• 課程所附教材 : 精編講義、範例程式碼
※ 課程單元可依需求選擇,歡迎填表免費預約諮詢
Part1-Linux職能精修
- ►什麼是Linux
- ►Linux系統安裝(點選展開)
- ►Hyper-V
- ►VMwarePlayer
- ►Virtualbox
- ►如何連線遠端Linux(點選展開)
- ►RemoteConnectLinux - 讓你清楚的明白,什麼是遠端連線
- ►檔案系統與系統結構(點選展開)
- ►系統結構
- ►檔案系統 (ext2、ext3、ext4、xfs)
- ►檔案類型與權限 (chown、chmod) 單元5 套件安裝與常用指令
- ►套件安裝與常用指令(點選展開)
- ►關閉IPV6 & 變更Source.lst
- ►如何安裝需要的套件 (apt-get、dpkg)
- ►常用指令
- ►編輯器的使用 vi
- ►必懂的Linux操作(點選展開)
- ►核心升級 (apt-get、dirt-upgrade)
- ►網路設定 (ifconfig、route)
- ►時區設定及校時 (ntpdate)
- ►硬碟分割與掛載 (fdisk、mkfs、mkfs.ext2、 mkfs.ext3、mount)
- ►使用者帳號管理 (useradd、adduser、deluser、userdel)
- ►檔案壓縮與備份 tar
- ►Ubuntu核心編譯
- ►APACHE服務的安裝與設定
- ►服務器安裝 Vsftpd + windows應用
- ►NFS服務的安裝與設定
- ►SAMBA 服務的安裝與設定 + windows應用
- ►PHP
- ►服務器安裝 Mysql
- ► LAMP整合安裝 (tasksel install lamp-server)
Part2-精通C語言
- ►程式語言導論(點選展開)
- ►C語言開發流程&規範
- ►整合式開發環境
- ►C程式介紹(點選展開)
- ►程式架構
- ►基本輸出與輸入函數
- ►運算式
- ►流程控制(點選展開)
- ►資料流程與架構
- ►函式巨與集(點選展開)
- ►函數定義
- ►遞迴呼叫
- ►巨集
- ►陣列與指標(點選展開)
- ►陣列
- ►多維陣列與指標
- ►泡沫排序法
- ►使用C語言開發驅動程式
- ►字串處理
- ►變數範圍(點選展開)
- ►全域變數&區域變數
- ►檔案管理(點選展開)
- ►C語言檔案處理
- ►NEW data Type(點選展開)
- ►typedef型態定義
Part3-C語言控制Raspberry Pi I/O
- ►Raspberry Pi 使用(點選展開)
- ►Raspberry Pi 簡介
- ►Raspberry Pi 使用 (包含Linux系統檔案系統與常用指令說明)
- ►數位介面(點選展開)
- ►感測器介面與Pi子卡介紹
- ►數位感測器讀取
- ►GPIO
- ►使用BCM2835 Peripheral Library
- ►LED, Button, PIR, Relay
- ►PWM (SG90伺服馬達控制)
- ►I2C 工作原理
- ►I2C OLED (SSD1306Z)
- ►I2C G-Sensor (LIS3DH)
- ►SPI 工作原理
- ►UART Interface - PM2.5
- ►Modbus over RS485
- ►類比界面
【用心教學 值得您的肯定,專業技術 值得您的信賴】
有實際硬體,學驅動程式才真正有感!為了傳達正確的嵌入式Linux學習觀念與學習重點,艾鍗獨家設計I/O子板,以擴充原Pi3板的功能,並對其中所有軟硬體控制原理進行透徹解說,使你可以透過主題式Lab,實踐嵌入式Linux核心技術與架構。
ü內建ADC晶片,可讓Raspberry Pi 連接類比感測器。
ü具硬體PWM訊號腳及驅動電路,使Raspberry Pi可以直接連接DC馬達與伺服馬達。
ü內建PL2303晶片,可直接連接PC的USB當作Debug Console。
ü內建IR紅外線發送器及接收器,讓Raspberry Pi 當作多媒體的應用平台或IR遙控器。
ü可連接OLED顯示狀態資訊。
ü可連接光敏電阻進行光度感測。
ü可連接2.4GHz無線網路模組進行無線通訊。
ü內建G-Sensor可感測Raspberry Pi 在X, Y, Z軸方向的移動狀態。
DEMO: Raspberry Pi 顯示OLED狀態 (使用C語言)
Raspberry Pi讀取G-Sensor (STMicro LIS3DH)
Raspberry Pi I/O 讀取ADC
Raspberry Pi (BCM283x 晶片) I/O程式控制說明
明天過得好不好,取決於你今天怎麼過。加入艾鍗的學習行列,助你成功圓夢。若您希望對本課程有更多了解,歡迎留下您的資料,或撥服務專線(02)2316-7736,艾鍗學院將竭誠為您服務喔!
※點選問題可展開
Q1.什麼是Linux ?
-
Linux是一套作業系統。Linux的源碼和架構都是開放的,你可以從中學到很多作業系統原理。Linux的整個哲學體系繼承自UNIX,發展的年頭要比Windows長很多時間,整個設計體系已經相當穩定,並化繁為簡,開發彈性大。 Linux的穩定性很好。在PC上,Linux要比Windows穩定的多。由於Linux與Windows的存儲方式不同,所以Linux可以長時間的持續運轉,也不需要對磁碟進行碎片整理。Linux下的各種工具基本上都是免費的。更方便的,使用package manager下載編譯好的版本。
Linux永遠提供一個機會,讓你可以深究作業系統與開源碼程式的內部,如果你自認自己是科技知識份子,那麼喜歡選擇Linux應該是理所當然。
Q2.不同的Linux版本會影響學習嗎?
-
艾鍗課程的教學著重在使用方法與思維,版本的不同不會影響到。只有在未來的中階高階應用,版本才有影響性。
Q3.為什麼課程內容不以Linux桌面系統來教呢?
-
為什麼課程內容不以Linux桌面系統來教呢? 因為職場上不會用。Linux桌面系統會吃大量的記憶體,影響效能。所以在業界上,用Linux桌面系統的工程師,不是真正的Linux工程師。
Q4. Visual C, Borland C, GNU C 到底差在那裡?
-
這些都是由廠商或社群團體各自所開發出來的工具(編譯器)而已,每家會強調它們對程式碼編譯最佳化的能力。但...就學習一個程式語言本身,工具不是重點,畢竟這不是強調工具教學。艾鍗的C語言注重的是,C語言特性與debug能力,並能學習建立好的程式架構以產出一個具可維護性、模組化的軟體程式
Q5.上了課就一定會寫程式嗎?
-
我們教學方法,都是從實際生活中應用拿來作為實際案例撰寫, 你上課跟著做,你將突然發現原來幾百行程式在課堂中就這麼輕鬆完成。當然程式除了理解外,時常練習是一定要的(基本語法也才記得住嘛!)
Q6.Embedded C 和 C 有何差異?
-
一樣是在學C語言, 只是課程內容上, 會有一些篇幅在描述 C語言對硬體暫存器讀寫的作法 (其實就是C語言的位元操作), 程式設計優化的問題,如程式code size及 Run time 佔記憶體空間大小的問題, Multi-Byte Ordering , Alignment等問題。而這些都是在一般嵌入式系統或單晶片開發上要特別"注意"的地方,畢竟一般高階應用程式並不會特別注意到這個部份,不過本質上還是C語言,因此程式設計的邏輯與架構才是根本,對那些要注意的地方,課程上老師都會提出來說明。