課程內容
Linux是一套作業系統,且Linux的源碼和架構都是開放的。發展迄今,整個設計體系已經相當穩定,並化繁為簡,開發彈性大,因此從網站到物聯網系統開發,Linux無所不在,如果你自認自己是科技知識份子,那麼選擇Linux應該是理所當然。 而C語言是計算機程式的共同基礎,具備熟稔的C語言能力,從事硬/韌體的相關開發,才會有更好的效率。
若您有志朝嵌入式系統軟底層、MCU韌體、IC驅動程式開發、物聯網應用開發等以Linux、C語言為主軸的專業來發展,本課程將幫助您快速學會工程師必備的Linux與C語言能力,並教您運用C語言來進行Raspberry Pi 的基本操作,並搭配艾鍗獨家設計I/O子板,擴充了原Raspberry Pi 板的功能,並對其中所有軟硬體控制原理進行透徹解說,讓你可以在實作中驗證自己的學習成效,讓你可以成為創客 (Maker) 來實作各種有趣點子,也為踏入進階工程領域(像是嵌入式Linux開發、MCU韌體開發等)前建立紮實基礎。
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
►類比界面