SlideShare a Scribd company logo
1 of 16
IOT感測器驅動程式
在樹莓派上實作
翁O謙 丁O傑 王O斌
王O忠 吳O霖 張O晃
陳O陽
專題動機
• 在物聯網的應用領域中,感知層是物聯網發展的基礎,依各種場景的需要會
使用到不同的感測器來收集資訊,但每種感測器要能在嵌入式系統上正常運
作,都需要由驅動程式來驅動,所以開發或移植驅動程式算是嵌入式系統必
備的技術,因此幾位對Linux驅動程式有興趣的同學決定一起開發感測器驅動
程式,並將此感測器拿來做物聯網的應用。
系統架構圖
電子羅盤
距離感測器
Cloud
Web Application
溫度:27 ℃
濕度 : 59 %
距離:212 cm
X:200
Y:191
Z:-351
GPIO
GPIO
I2C
溫溼度感測器
感測器驅動程式的實現
1.溫濕度感測器(DHT22)驅動程式
2.距離感測器(HC-SR04)驅動程式
3.電子羅盤(GY-273)驅動程式
DHT22
Driver
HCSR04
Driver
GY273
Driver
GPIO
GPIO
IIC
DHT22
HCSR04
GY273
KernelChar
/dev/dht22
/dev/hcsr04
/dev/gy237
Linux驅動程式運作流程
driver_init()
cdev_init()
gpio_i2c_setup()
interrupt_setup()
timer_setup()
device_open()
device_read()
- Trigger_Sensor
- Interrup_Irq
- Data_Analysis
device_close()
File Operations driver_exit()
cdev_exit()
gpio_i2c_free()
interrupt_free()
timer_cancel()
insmod Application rmmod
User Space
Kernel Space
Process_data() {
for( n = 0; n < 40; n++)
if(high_time[n] > 50us)
data_bit[n] = 1;
else
data_bit[n] = 0;
…
dht22_irq_handler() {
irq_counter++;
now = get_time();
if(gpio == low)
high_time[] = now – pre;
if(irq_counter == last)
WORK_QUEUE(process_data());
pre = now;
}
2-1 Linux Driver for DHT22
dht22的通訊機制:
DHT22
DHT22 signal
> 1 ms
dht22_trigger() {
gpio_set_direction(pin, out);
gpio_set_value(pin, low);
udelay(1000);
gpio_set_value(pin, high);
udelay(20);
gpio_set_direction(pin, in);
}
Interrup_setup() {
reuest_irq(pin,
dht22_irq_handler,
FALLING_And_RISING)
}
Hi_H Lo_H Hi_T Lo_T Checksum
Work_Queue
Humidity
= Hi_H x 256 + Lo_H
Temperature
= Hi_T x 256 + Lo_T
Checksum
= Hi_H + Lo_H + Hi_T + Lo_T
Trigger 40-Bit DataResponse
1. interrup_setup
2. trigger
3. interrup_irq
4. process_data
2-1 Linux Driver for DHT22
Ready
for
Trigger
Working Rest
2 sec
Dht22 State
dht22_read()
trigger_sensor()
Application 1
dht22_read()
trigger_sensor()
Application 2
? ?issue
dht22_read()
get_temp()
Application 1
dht22_read()
get_temp()
Application 2
timer_update(2 sec)
trigger_sensor()
update_temp()
Temp.
Value
Revised ProcessInitial Process
2-1 Linux Driver for DHT22
/dev 存取介面 /sys 存取介面
邏輯分析儀驗證波形
2-2 Linux Driver for HC-SR04
hc-sr04的通訊機制:
hcsr04_trigger() {
gpio_set_direction(pin, out);
gpio_set_value(pin, high);
udelay(10);
gpio_set_value(pin, low);
}
hcsr04_measure() {
interrup_setup;
hcsr04_trigger();
wait_event();
elapsed = endT – start;
}
hcsro4_irq_handler() {
if(gpio == high)
startT = get_time();
else {
endT =get_time();
send_event();
}
}
Interrup_setup() {
reuest_irq(pin,
hcsro4_irq_handler,
FALLING_And_RISING)
}
Elapsed
= (end_time – start_time) us
Sound_Speed
= 340 x 10-6 m/us
Distance
= Elapsed / 2 x Sound_Speed
Elapsed
1. interrup_setup 2. trigger
3. interrup_irq
4. process_data
2-2 Linux Driver for HC-SR04
/sys 存取介面
邏輯分析儀驗證波形
2-3 Linux Driver for GY-273
/dev/gy273
applicaiton
I2C-dev
gy273.dtbo
gy273@50{
compatible = “gy273“
reg = <0x1E>;
};
Device Tree Overlay
gy273.ko
I2C Client Driver (I2C-dev)
.driver = {
.name = “gy273”
}
.probe = gy273_probe,
.remove = gy273_remove,
gy273_probe = {
register_chardev();
cdev_init();
cdev_add();
}
當 device的compatible
等於driver的.name時
gy273_probe才會建立
字元裝置
1. add_device_node
2. add_i2c_dirve 3. probe
/dev/gy273
2-3 Linux Driver for GY-273
/dev 存取介面
測試程式讀取 /dev/gy273
IoT應用實例 #1
DHT22
風扇
溫溼度感測器應用
OLED
IoT應用實例 #2
距離感測器 電子羅盤感測器
HC-SR04
GY-273
PIR
IOT Platform
ThingsBoard
Web呈現感測數值

More Related Content

What's hot

[Phind] 2014 凡淂產品簡介
[Phind] 2014 凡淂產品簡介[Phind] 2014 凡淂產品簡介
[Phind] 2014 凡淂產品簡介
Chia-Yu Kuo
 
2013 phind corp. 公司簡介
2013 phind corp. 公司簡介2013 phind corp. 公司簡介
2013 phind corp. 公司簡介
Chia-Yu Kuo
 
9.異質多網智慧照明 王進德
9.異質多網智慧照明 王進德9.異質多網智慧照明 王進德
9.異質多網智慧照明 王進德
Zih-Ming Yang
 
研華物聯網之無線監控技術發展現況_092111
研華物聯網之無線監控技術發展現況_092111研華物聯網之無線監控技術發展現況_092111
研華物聯網之無線監控技術發展現況_092111
Eric Lo
 

What's hot (20)

Project-IOT於餐館系統的應用
Project-IOT於餐館系統的應用Project-IOT於餐館系統的應用
Project-IOT於餐館系統的應用
 
無線監控網路攝影機與控制自走車
無線監控網路攝影機與控制自走車無線監控網路攝影機與控制自走車
無線監控網路攝影機與控制自走車
 
02 IoT implementation
02 IoT implementation02 IoT implementation
02 IoT implementation
 
Iot 自動販賣機
Iot 自動販賣機Iot 自動販賣機
Iot 自動販賣機
 
ICPDAS - 工業物聯網前端智能控制器
ICPDAS - 工業物聯網前端智能控制器ICPDAS - 工業物聯網前端智能控制器
ICPDAS - 工業物聯網前端智能控制器
 
AIoT智能居家燈控系統
AIoT智能居家燈控系統AIoT智能居家燈控系統
AIoT智能居家燈控系統
 
I聯網系列之10:物聯網系統的創新方式
I聯網系列之10:物聯網系統的創新方式I聯網系列之10:物聯網系統的創新方式
I聯網系列之10:物聯網系統的創新方式
 
絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final
絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final
絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座Final
 
USB 韌體課程實作項目說明
USB 韌體課程實作項目說明USB 韌體課程實作項目說明
USB 韌體課程實作項目說明
 
Here we go! 小紅人伸展操
Here we go! 小紅人伸展操Here we go! 小紅人伸展操
Here we go! 小紅人伸展操
 
ICPDAS - 從雲到端 談泓格在物聯網的布局
ICPDAS - 從雲到端 談泓格在物聯網的布局ICPDAS - 從雲到端 談泓格在物聯網的布局
ICPDAS - 從雲到端 談泓格在物聯網的布局
 
[Phind] 2014 凡淂產品簡介
[Phind] 2014 凡淂產品簡介[Phind] 2014 凡淂產品簡介
[Phind] 2014 凡淂產品簡介
 
2013 phind corp. 公司簡介
2013 phind corp. 公司簡介2013 phind corp. 公司簡介
2013 phind corp. 公司簡介
 
AIoT智慧家庭系統
AIoT智慧家庭系統AIoT智慧家庭系統
AIoT智慧家庭系統
 
Iot technology and implementation
Iot technology and implementationIot technology and implementation
Iot technology and implementation
 
體感裝置技術與應用 拷貝
體感裝置技術與應用 拷貝體感裝置技術與應用 拷貝
體感裝置技術與應用 拷貝
 
淺談Arduino對物聯網之變革
淺談Arduino對物聯網之變革淺談Arduino對物聯網之變革
淺談Arduino對物聯網之變革
 
9.異質多網智慧照明 王進德
9.異質多網智慧照明 王進德9.異質多網智慧照明 王進德
9.異質多網智慧照明 王進德
 
研華物聯網之無線監控技術發展現況_092111
研華物聯網之無線監控技術發展現況_092111研華物聯網之無線監控技術發展現況_092111
研華物聯網之無線監控技術發展現況_092111
 
物聯網軟硬體及雲端管理平台簡報
物聯網軟硬體及雲端管理平台簡報物聯網軟硬體及雲端管理平台簡報
物聯網軟硬體及雲端管理平台簡報
 

Similar to IoT感測器驅動程式在樹莓派上實作 IoT Sensor Driver On The Raspberry Pi

Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
MOBINODE
 
Appcan平台介绍
Appcan平台介绍Appcan平台介绍
Appcan平台介绍
36Kr.com
 
Big Data : The Missing Puzzle of Mobile Computing
Big Data : The Missing Puzzle of Mobile ComputingBig Data : The Missing Puzzle of Mobile Computing
Big Data : The Missing Puzzle of Mobile Computing
Jazz Yao-Tsung Wang
 
2020 gops-旷视城市大脑私有云平台实践-刘天伟
2020 gops-旷视城市大脑私有云平台实践-刘天伟2020 gops-旷视城市大脑私有云平台实践-刘天伟
2020 gops-旷视城市大脑私有云平台实践-刘天伟
Tianwei Liu
 

Similar to IoT感測器驅動程式在樹莓派上實作 IoT Sensor Driver On The Raspberry Pi (20)

Webduino 和 溫濕度感應
Webduino 和 溫濕度感應Webduino 和 溫濕度感應
Webduino 和 溫濕度感應
 
Azure IoT Solution Guilde - Traditional Chinese
Azure IoT Solution Guilde - Traditional ChineseAzure IoT Solution Guilde - Traditional Chinese
Azure IoT Solution Guilde - Traditional Chinese
 
嵌入式 RFID 打卡系統
嵌入式 RFID 打卡系統嵌入式 RFID 打卡系統
嵌入式 RFID 打卡系統
 
移动互联网的机遇与挑战
移动互联网的机遇与挑战移动互联网的机遇与挑战
移动互联网的机遇与挑战
 
智能车软件设计浅谈 清华-张天雷-上传版本
智能车软件设计浅谈 清华-张天雷-上传版本智能车软件设计浅谈 清华-张天雷-上传版本
智能车软件设计浅谈 清华-张天雷-上传版本
 
Network security reesjohnson
Network security reesjohnsonNetwork security reesjohnson
Network security reesjohnson
 
CSDN移动电子刊第三期
CSDN移动电子刊第三期CSDN移动电子刊第三期
CSDN移动电子刊第三期
 
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
 
什么是云计算
什么是云计算什么是云计算
什么是云计算
 
How to build your own robot with ibm bluemix&watson
How to build your own robot with ibm bluemix&watsonHow to build your own robot with ibm bluemix&watson
How to build your own robot with ibm bluemix&watson
 
物聯網應用全貌以及微軟全球案例
物聯網應用全貌以及微軟全球案例物聯網應用全貌以及微軟全球案例
物聯網應用全貌以及微軟全球案例
 
Appcan平台介绍
Appcan平台介绍Appcan平台介绍
Appcan平台介绍
 
Big Data : The Missing Puzzle of Mobile Computing
Big Data : The Missing Puzzle of Mobile ComputingBig Data : The Missing Puzzle of Mobile Computing
Big Data : The Missing Puzzle of Mobile Computing
 
Android作業系統移植之智慧電視整合平台
Android作業系統移植之智慧電視整合平台Android作業系統移植之智慧電視整合平台
Android作業系統移植之智慧電視整合平台
 
Android
AndroidAndroid
Android
 
Junior新趨勢: 邊緣運算
Junior新趨勢: 邊緣運算Junior新趨勢: 邊緣運算
Junior新趨勢: 邊緣運算
 
分会场九Windows 7迁移最佳实践
分会场九Windows 7迁移最佳实践分会场九Windows 7迁移最佳实践
分会场九Windows 7迁移最佳实践
 
2020 gops-旷视城市大脑私有云平台实践-刘天伟
2020 gops-旷视城市大脑私有云平台实践-刘天伟2020 gops-旷视城市大脑私有云平台实践-刘天伟
2020 gops-旷视城市大脑私有云平台实践-刘天伟
 
Picoway Company Profile 1.5
Picoway Company Profile 1.5Picoway Company Profile 1.5
Picoway Company Profile 1.5
 
Picoway Company Profile V1.5
Picoway Company Profile V1.5Picoway Company Profile V1.5
Picoway Company Profile V1.5
 

More from IttrainingIttraining

商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
IttrainingIttraining
 
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
IttrainingIttraining
 
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
IttrainingIttraining
 

More from IttrainingIttraining (20)

【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
 
商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
 
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
 
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
 
04_動物姿態識別Pet pose classification
04_動物姿態識別Pet pose classification04_動物姿態識別Pet pose classification
04_動物姿態識別Pet pose classification
 
01_智慧英文評分系統 Evaluate Student Summaries
01_智慧英文評分系統 Evaluate Student Summaries01_智慧英文評分系統 Evaluate Student Summaries
01_智慧英文評分系統 Evaluate Student Summaries
 
03_AI旅宿訂房系統-AI智慧訂房方案
03_AI旅宿訂房系統-AI智慧訂房方案03_AI旅宿訂房系統-AI智慧訂房方案
03_AI旅宿訂房系統-AI智慧訂房方案
 
02_永豐AI GO競賽攻房戰 Dr. House Team
02_永豐AI GO競賽攻房戰 Dr. House Team02_永豐AI GO競賽攻房戰 Dr. House Team
02_永豐AI GO競賽攻房戰 Dr. House Team
 
05_關鍵字提取與廣告文稿評分系統_以化妝品產業為例
05_關鍵字提取與廣告文稿評分系統_以化妝品產業為例05_關鍵字提取與廣告文稿評分系統_以化妝品產業為例
05_關鍵字提取與廣告文稿評分系統_以化妝品產業為例
 
Novozymes Enzyme Stability Prediction
Novozymes Enzyme Stability PredictionNovozymes Enzyme Stability Prediction
Novozymes Enzyme Stability Prediction
 
旅遊推薦系統Tourist Line Spot
旅遊推薦系統Tourist Line Spot旅遊推薦系統Tourist Line Spot
旅遊推薦系統Tourist Line Spot
 
無人商店Unmanned Store
無人商店Unmanned Store無人商店Unmanned Store
無人商店Unmanned Store
 
物件辨識攝影機
物件辨識攝影機物件辨識攝影機
物件辨識攝影機
 
ChatBot問答機器人
ChatBot問答機器人ChatBot問答機器人
ChatBot問答機器人
 
街景門牌實價登錄
街景門牌實價登錄街景門牌實價登錄
街景門牌實價登錄
 
APCS程式設計實作題(Python解題)-物品堆疊/邏輯運算子
APCS程式設計實作題(Python解題)-物品堆疊/邏輯運算子APCS程式設計實作題(Python解題)-物品堆疊/邏輯運算子
APCS程式設計實作題(Python解題)-物品堆疊/邏輯運算子
 
APCS程式設計實作題(Python解題)-解題技巧/特殊編碼/完全奇數
APCS程式設計實作題(Python解題)-解題技巧/特殊編碼/完全奇數APCS程式設計實作題(Python解題)-解題技巧/特殊編碼/完全奇數
APCS程式設計實作題(Python解題)-解題技巧/特殊編碼/完全奇數
 
口罩偵測機 Mask-detection
口罩偵測機 Mask-detection口罩偵測機 Mask-detection
口罩偵測機 Mask-detection
 
居家智能LED調光燈
居家智能LED調光燈居家智能LED調光燈
居家智能LED調光燈
 
AI鏡頭-人臉自動置中_Vision AI-Face Tracking and center aligning
AI鏡頭-人臉自動置中_Vision AI-Face Tracking and center aligningAI鏡頭-人臉自動置中_Vision AI-Face Tracking and center aligning
AI鏡頭-人臉自動置中_Vision AI-Face Tracking and center aligning
 

IoT感測器驅動程式在樹莓派上實作 IoT Sensor Driver On The Raspberry Pi