專題成果發表暨企業徵才活動 http://bit.ly/2JL52hK 工程師就業養成班 http://bit.ly/2PQRnJT 在物聯網(IOT)的應用領域中,常需要用到多種感測器達成特定功能,每種感測器(Sensor)要能在微控制器(MCU)或微處理器(MPC)上正常運作,都需要由驅動程式(Driver)來驅動感測器。 此專題主要是在樹莓派(Raspberry Pi)上開發溫濕度感測器(DHT 22)、電子羅盤(GY-273)和超音波距離感測器(HC-SR04)的Linux驅動程式;首先必須先對感測器的硬體規格和通訊協定有所了解,包含感測器的工作電壓、最大工作電流、取樣頻率、溝通介面(GPIO、I2C)和資料數據格式;接著必須建立樹莓派Linux驅動程式的開發環境,並且在Linux Kernel規範的驅動程式架構下,用C語言編寫系統呼叫和中斷服務程序的進入點函式,同時需要了解在核心空間 (kernel space)編寫程式的相關知識;最後在Linux系統內建立各個感測器對應的裝置檔,並且由應用程式讀取感測裝置的數值。