SlideShare a Scribd company logo
1 of 37
Download to read offline
樹莓派透過無線傳輸協定
傳送資料
日期:2018/05/10
2
樹莓派之間要透過網路互相傳送訊息,必須先確定他們
分配到的IP是在同一個區域網路或者IP可以對外連線。
ATTENTION
3
晶片天線
(Wi-Fi和藍牙v4.1)
樹莓派上的兩種無線傳輸功能Wi-Fi和藍牙
Bluetooth Protocol Stack
4
樹莓派上的
藍牙模組
Connects upper protocol to
application (partial list)
Bluetooth serial port
User data
Connects host to module
Link management
Packet construction
Physical link
APPLICATION
RFCOMM
L2CAP
Link Manager
Baseband and Link Controller
Radio
Host Controller Interface
OBEX WAP TCS SDP
Two-Way
Voice
Data
Control
Host
Module
RFCOMM和L2CAP
• RFCOMM協定可以模擬 RS-232 序列埠,讓上層協定使用,使用
RS-232介面的軟體都可以在RFCOMM 之上進行資料傳輸。
• L2CAP可以用多工的方式傳送多個不同的上層協定的資料,使不
同協定共享同一份資料,並負責當上層送來的封包過大時,將封
包切成適當的大小往下層送,好讓下層可以處理,反之亦然。
5
樹莓派之間透過藍牙傳輸資料
6
7
點這個圖示左鍵
8
9
搜尋藍牙裝置
10
藍牙-Server端
11
藍牙-Client端
樹莓派之間透過Wi-Fi傳輸資料
12
TCP/IP通訊模組
13
• TCP/IP它是一種網路協定,它定義了點對點如何的傳輸,如何將
資料封裝、定址、傳輸、路由以及在目的地如何接受,全部都加
以標準化,它基本上可以分為應用層、傳輸層、網路互連層與網
路介面層
TCP/IP 各種應用協定 功能
應用層 HTTP、FTP、SMTP、POP3、NFS、SSH 應用服務
傳送層 TCP、UDP 傳輸服務
網路層 IP、ICMP 連線服務
鏈結層 Ethernet、Token Ring、Modem、ATM、Serial 實體接線
什麼是Socket ?
• Socket是在應用層與傳輸層之間的一個抽象層,它是一組接口,
隱藏了底層的複雜操作,同時你也可以把他想成一個雙向的
endpoint(Client和Server),可以給人連線或連線它人,而且由於它
有綁定一個特定的port所以這也代表傳輸層它們那邊可以用它來
定位應用程式。
• 從網路的角度來看,socket就是通訊連結的端點;從程式設計者
的角度來看,socket提供了一個良好的介面,使程式設計者不需
知道下層網路協定運作的細節便可以撰寫網路通訊程式。
14
15
Client A
(192.168.100.1:1101)
Server B
(192.168.100.2:80)
1
2
3
建
立
連
線
傳
輸
資
料
關
閉
連
線
TCP資料傳輸三階段 TCP Socket資料傳輸
Client A
(192.168.100.1:1101)
Server B
(192.168.100.2:80)
listen()
accept()
connect()
read()
write()
read() write()
close() close()
連線請求
連線建立
傳輸資料
傳輸資料
斷線請求
斷線確定
16
Wi-Fi-Server端
TCP UDP Terminal
輸入樹莓派的IP
輸入訊息
17
樹莓派之間透過MQTT
傳輸資料
18
什麼是MQTT ?
• MQTT is a machine-to-machine (M2M)/"Internet of Things"
connectivity protocol. It was designed as an extremely lightweight
publish/subscribe messaging transport.
19
鏈結層
圖片來源:https://swf.com.tw/?p=1002
封包格式
20
HTTP封包格式 MQTT封包格式
圖片來源:https://swf.com.tw/?p=1002
MQTT是一種「發布∕訂閱」機制的訊息傳輸協定
• Publisher: Sends messages.
• Broker: Forwards messages to registered subscribers.
• Subscriber: Receives messages through the broker.
21
MQTT 訊息傳遞架構
Broker
Client
Server
Client
Publisher
Publisher
Publisher
Topic
Subscriber
Subscriber
Subscriber
Topic
22
本MQTT實作範例為了方便操作將publisher和broker的
角色寫在同一個python檔,在實際的應用中publisher、
broker和subscriber是三個獨立的裝置。
ATTENTION
23
24
25
Publisher和Subscriber分開執行
課後實作基本題:訊息推播
• 目的:練習物聯網的MQTT無線傳輸技術。
• 需求:模擬商品推播功能,以PIR偵測是否有人,如果有人就進
行商品推播。
• 敘述:
26
MQTT
樹莓派A 樹莓派B
拿手機的人
時間軸 時間軸 時間軸
PIR偵測到人
Socket
課後實作進階題:同步控制
• 設定:用兩台樹莓派,可以一人或兩人一組
完成進階題。
• 目的:練習物聯網的無線傳輸技術。
• 無線傳輸方式:無線網路或藍牙。
• 敘述:用智慧型手機透過Wi-Fi或藍牙,同時
傳送指令使LED燈發亮。
27
附註
28
查看MAC位址
29
安裝python藍牙函式庫
30
1
2 執行sudo python3 -m pip install pybluez
31
執行sudo apt-get install bluetooth bluez blueman
安裝python MQTT套件
32
33
34
安裝方式一
安裝方式二
App下載
• Android系統
• TCP/UDP Terminal
• iOS系統
• Telnet Client Terminal
35
MQTT特性
• 了解了Publish/Subscribe的機制之後,讓我們來看看MQTT有哪些特性:Publish/Subscribe的
訊息傳送模式,來提供一對多的訊息分配。
• 使用TCP/IP來提供基本的網路連結。
• 三種訊息傳送服務的qualities:
• "At most once",最多一次,訊息遺失或是重複發送的狀況可能會發生;這種quality適合應用在環境感
測,不在意資料是否會遺失,因為下一次的資料取樣很快就會被published出來。
• "At least once",至少一次,這種quality保證訊息會送達,只是可能會發生重複發送訊息的狀況。
• "Exactly once",確定一次,確認訊息只會送到一次。這種quality適合用在計費系統,系統只要有重複
收到資料、或是資料遺失狀況發生,就會造成系統錯誤。
• 由於他的header固定長度為2byte,因此可以減少封包傳送時的額外負載,並減少所需的網
路頻寬。
• 當異常斷線發生時,會使用最後遺囑(Last Will and Testament)的機制,通知各個感興趣的
client。
36
無線網路-Client
import socket
host = '127.0.0.1'
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
addr = (host,5555)
mysock.connect(addr)
try:
msg =b"nhi, This is connection from python network client n"
mysock.sendall(msg)
except socket.errno as e:
print ("This is Socket Error!", e)
finally:
mysock.close()
37

More Related Content

What's hot

無線網路資訊安全概論 講義
無線網路資訊安全概論 講義無線網路資訊安全概論 講義
無線網路資訊安全概論 講義Hayashi Yoshiki
 
智能广域网及开源项目更新
智能广域网及开源项目更新智能广域网及开源项目更新
智能广域网及开源项目更新Bertrand Duvivier
 
无线Vpdn产品宣介
无线Vpdn产品宣介无线Vpdn产品宣介
无线Vpdn产品宣介xuelili
 
第17讲 广域网基础
第17讲 广域网基础第17讲 广域网基础
第17讲 广域网基础F.l. Yu
 
第18讲 Hdlc和Ppp
第18讲 Hdlc和Ppp第18讲 Hdlc和Ppp
第18讲 Hdlc和PppF.l. Yu
 
傅譯賢成功案例
傅譯賢成功案例傅譯賢成功案例
傅譯賢成功案例Jerry Fu
 
Ep01 storage san-type
Ep01 storage san-typeEp01 storage san-type
Ep01 storage san-typeSeason Chu
 
第19讲 Isdn
第19讲 Isdn第19讲 Isdn
第19讲 IsdnF.l. Yu
 
I pv6 ipv6網路管理與安全_企業網路課程_0901
I pv6 ipv6網路管理與安全_企業網路課程_0901I pv6 ipv6網路管理與安全_企業網路課程_0901
I pv6 ipv6網路管理與安全_企業網路課程_0901宏義 張
 
網路電話
網路電話網路電話
網路電話smauel
 
第20讲 帧中继
第20讲 帧中继第20讲 帧中继
第20讲 帧中继F.l. Yu
 
思科产品速手册 2010年3月版
思科产品速手册 2010年3月版思科产品速手册 2010年3月版
思科产品速手册 2010年3月版cc2012526
 
第5讲 互连Cisco设备
第5讲 互连Cisco设备第5讲 互连Cisco设备
第5讲 互连Cisco设备F.l. Yu
 
Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)
Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)
Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)志弘 李
 
智慧科技-LPWA低功耗廣域網路
智慧科技-LPWA低功耗廣域網路智慧科技-LPWA低功耗廣域網路
智慧科技-LPWA低功耗廣域網路YOU SHENG CHEN
 
04 hou ziqiang
04 hou ziqiang04 hou ziqiang
04 hou ziqiangMason Mei
 
[圣思园][Java SE]Network
[圣思园][Java SE]Network[圣思园][Java SE]Network
[圣思园][Java SE]NetworkArBing Xie
 

What's hot (20)

IPV6
IPV6IPV6
IPV6
 
無線網路資訊安全概論 講義
無線網路資訊安全概論 講義無線網路資訊安全概論 講義
無線網路資訊安全概論 講義
 
智能广域网及开源项目更新
智能广域网及开源项目更新智能广域网及开源项目更新
智能广域网及开源项目更新
 
无线Vpdn产品宣介
无线Vpdn产品宣介无线Vpdn产品宣介
无线Vpdn产品宣介
 
第17讲 广域网基础
第17讲 广域网基础第17讲 广域网基础
第17讲 广域网基础
 
第18讲 Hdlc和Ppp
第18讲 Hdlc和Ppp第18讲 Hdlc和Ppp
第18讲 Hdlc和Ppp
 
傅譯賢成功案例
傅譯賢成功案例傅譯賢成功案例
傅譯賢成功案例
 
Ep01 storage san-type
Ep01 storage san-typeEp01 storage san-type
Ep01 storage san-type
 
Voip介绍
Voip介绍Voip介绍
Voip介绍
 
第19讲 Isdn
第19讲 Isdn第19讲 Isdn
第19讲 Isdn
 
I pv6 ipv6網路管理與安全_企業網路課程_0901
I pv6 ipv6網路管理與安全_企業網路課程_0901I pv6 ipv6網路管理與安全_企業網路課程_0901
I pv6 ipv6網路管理與安全_企業網路課程_0901
 
網路電話
網路電話網路電話
網路電話
 
第20讲 帧中继
第20讲 帧中继第20讲 帧中继
第20讲 帧中继
 
思科产品速手册 2010年3月版
思科产品速手册 2010年3月版思科产品速手册 2010年3月版
思科产品速手册 2010年3月版
 
p2p通信之nat
p2p通信之natp2p通信之nat
p2p通信之nat
 
第5讲 互连Cisco设备
第5讲 互连Cisco设备第5讲 互连Cisco设备
第5讲 互连Cisco设备
 
Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)
Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)
Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)
 
智慧科技-LPWA低功耗廣域網路
智慧科技-LPWA低功耗廣域網路智慧科技-LPWA低功耗廣域網路
智慧科技-LPWA低功耗廣域網路
 
04 hou ziqiang
04 hou ziqiang04 hou ziqiang
04 hou ziqiang
 
[圣思园][Java SE]Network
[圣思园][Java SE]Network[圣思园][Java SE]Network
[圣思园][Java SE]Network
 

Similar to 2018 Week 11 Bluetooth and Wi-Fi

防火墙产品原理介绍20080407
防火墙产品原理介绍20080407防火墙产品原理介绍20080407
防火墙产品原理介绍20080407paulqi
 
CH2 Wireless system architecture
CH2 Wireless system architectureCH2 Wireless system architecture
CH2 Wireless system architecturerichtsai
 
Web sockets
Web socketsWeb sockets
Web socketsTom Fan
 
GaoLei\'s Summer Intern Report.pdf
GaoLei\'s Summer Intern Report.pdfGaoLei\'s Summer Intern Report.pdf
GaoLei\'s Summer Intern Report.pdfLeon Gao(高磊)
 
SIP协议及IMS信令流程.ppt
SIP协议及IMS信令流程.pptSIP协议及IMS信令流程.ppt
SIP协议及IMS信令流程.pptpatrickwang85
 
实时消息推送系统
实时消息推送系统实时消息推送系统
实时消息推送系统Yi Feng Yang
 
無線網路資訊安全概論 講義
無線網路資訊安全概論 講義無線網路資訊安全概論 講義
無線網路資訊安全概論 講義Hayashi Yoshiki
 
Fieldbus intro
Fieldbus introFieldbus intro
Fieldbus introcri fan
 
Network Design in Cloud-ready IDC
Network Design in Cloud-ready IDCNetwork Design in Cloud-ready IDC
Network Design in Cloud-ready IDCKae Hsu
 
提高扩展能力的常用模式——黄东
提高扩展能力的常用模式——黄东提高扩展能力的常用模式——黄东
提高扩展能力的常用模式——黄东programmermag
 
ICT-old-ch16-converted.pptx
ICT-old-ch16-converted.pptxICT-old-ch16-converted.pptx
ICT-old-ch16-converted.pptxliutommy1
 
5G產業趨勢暨B5G關鍵議題分析_會員下載精華版.pdf
5G產業趨勢暨B5G關鍵議題分析_會員下載精華版.pdf5G產業趨勢暨B5G關鍵議題分析_會員下載精華版.pdf
5G產業趨勢暨B5G關鍵議題分析_會員下載精華版.pdfJTLai1
 
Ccns 網路基礎概論
Ccns 網路基礎概論 Ccns 網路基礎概論
Ccns 網路基礎概論 世平 梁
 
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验colderboy17
 

Similar to 2018 Week 11 Bluetooth and Wi-Fi (20)

防火墙产品原理介绍20080407
防火墙产品原理介绍20080407防火墙产品原理介绍20080407
防火墙产品原理介绍20080407
 
CH2 Wireless system architecture
CH2 Wireless system architectureCH2 Wireless system architecture
CH2 Wireless system architecture
 
Web sockets
Web socketsWeb sockets
Web sockets
 
05
0505
05
 
06
0606
06
 
網路概論
網路概論網路概論
網路概論
 
GaoLei\'s Summer Intern Report.pdf
GaoLei\'s Summer Intern Report.pdfGaoLei\'s Summer Intern Report.pdf
GaoLei\'s Summer Intern Report.pdf
 
SIP协议及IMS信令流程.ppt
SIP协议及IMS信令流程.pptSIP协议及IMS信令流程.ppt
SIP协议及IMS信令流程.ppt
 
实时消息推送系统
实时消息推送系统实时消息推送系统
实时消息推送系统
 
network1
network1network1
network1
 
無線網路資訊安全概論 講義
無線網路資訊安全概論 講義無線網路資訊安全概論 講義
無線網路資訊安全概論 講義
 
Fieldbus intro
Fieldbus introFieldbus intro
Fieldbus intro
 
Network Design in Cloud-ready IDC
Network Design in Cloud-ready IDCNetwork Design in Cloud-ready IDC
Network Design in Cloud-ready IDC
 
提高扩展能力的常用模式——黄东
提高扩展能力的常用模式——黄东提高扩展能力的常用模式——黄东
提高扩展能力的常用模式——黄东
 
ICT-old-ch16-converted.pptx
ICT-old-ch16-converted.pptxICT-old-ch16-converted.pptx
ICT-old-ch16-converted.pptx
 
5G O-RAN 架構介紹
5G O-RAN 架構介紹5G O-RAN 架構介紹
5G O-RAN 架構介紹
 
5G產業趨勢暨B5G關鍵議題分析_會員下載精華版.pdf
5G產業趨勢暨B5G關鍵議題分析_會員下載精華版.pdf5G產業趨勢暨B5G關鍵議題分析_會員下載精華版.pdf
5G產業趨勢暨B5G關鍵議題分析_會員下載精華版.pdf
 
vpn_introduce
vpn_introducevpn_introduce
vpn_introduce
 
Ccns 網路基礎概論
Ccns 網路基礎概論 Ccns 網路基礎概論
Ccns 網路基礎概論
 
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
 

More from AkashaC1

How to Prevent DNS Attacks on MikroTik.pdf
How to Prevent DNS Attacks on MikroTik.pdfHow to Prevent DNS Attacks on MikroTik.pdf
How to Prevent DNS Attacks on MikroTik.pdfAkashaC1
 
Config RouterOS openVPN.pdf
Config RouterOS openVPN.pdfConfig RouterOS openVPN.pdf
Config RouterOS openVPN.pdfAkashaC1
 
AR Implementation 1 2016.10.20
AR Implementation 1 2016.10.20AR Implementation 1 2016.10.20
AR Implementation 1 2016.10.20AkashaC1
 
AR Implementation 2
AR Implementation 2AR Implementation 2
AR Implementation 2AkashaC1
 
Post article to KM with Python
Post article to KM with PythonPost article to KM with Python
Post article to KM with PythonAkashaC1
 
2018 Week 7 Data Analysis
2018 Week 7 Data Analysis2018 Week 7 Data Analysis
2018 Week 7 Data AnalysisAkashaC1
 
2018 Week 5 DHT11
2018 Week 5 DHT112018 Week 5 DHT11
2018 Week 5 DHT11AkashaC1
 
2018 Week 4 PIR
2018 Week 4 PIR2018 Week 4 PIR
2018 Week 4 PIRAkashaC1
 
2018 Week 15 Speech Recognition
2018 Week 15 Speech Recognition2018 Week 15 Speech Recognition
2018 Week 15 Speech RecognitionAkashaC1
 
2018 Week 15 Speaker
2018 Week 15 Speaker2018 Week 15 Speaker
2018 Week 15 SpeakerAkashaC1
 
2018 Week 14 HC-SR04
2018 Week 14 HC-SR042018 Week 14 HC-SR04
2018 Week 14 HC-SR04AkashaC1
 
2018 Week 13 Servo Motor
2018 Week 13 Servo Motor2018 Week 13 Servo Motor
2018 Week 13 Servo MotorAkashaC1
 
2018 Week 12 Data Storage and Visualization
2018 Week 12 Data Storage and Visualization2018 Week 12 Data Storage and Visualization
2018 Week 12 Data Storage and VisualizationAkashaC1
 
2018 Week 10 Read Time Data Sending
2018 Week 10 Read Time Data Sending2018 Week 10 Read Time Data Sending
2018 Week 10 Read Time Data SendingAkashaC1
 
2018 Week 10 IoT and Robot
2018 Week 10 IoT and Robot2018 Week 10 IoT and Robot
2018 Week 10 IoT and RobotAkashaC1
 
2018 Week 8 Relay
2018 Week 8 Relay2018 Week 8 Relay
2018 Week 8 RelayAkashaC1
 
2018 Week 8 IoT and Wearable Devices
2018 Week 8 IoT and Wearable Devices2018 Week 8 IoT and Wearable Devices
2018 Week 8 IoT and Wearable DevicesAkashaC1
 
2018 Week 7 Photoresistor
2018 Week 7 Photoresistor2018 Week 7 Photoresistor
2018 Week 7 PhotoresistorAkashaC1
 
2018 Week 16 Computer Vision
2018 Week 16 Computer Vision2018 Week 16 Computer Vision
2018 Week 16 Computer VisionAkashaC1
 
2018 Week 4 Data Storage
2018 Week 4 Data Storage2018 Week 4 Data Storage
2018 Week 4 Data StorageAkashaC1
 

More from AkashaC1 (20)

How to Prevent DNS Attacks on MikroTik.pdf
How to Prevent DNS Attacks on MikroTik.pdfHow to Prevent DNS Attacks on MikroTik.pdf
How to Prevent DNS Attacks on MikroTik.pdf
 
Config RouterOS openVPN.pdf
Config RouterOS openVPN.pdfConfig RouterOS openVPN.pdf
Config RouterOS openVPN.pdf
 
AR Implementation 1 2016.10.20
AR Implementation 1 2016.10.20AR Implementation 1 2016.10.20
AR Implementation 1 2016.10.20
 
AR Implementation 2
AR Implementation 2AR Implementation 2
AR Implementation 2
 
Post article to KM with Python
Post article to KM with PythonPost article to KM with Python
Post article to KM with Python
 
2018 Week 7 Data Analysis
2018 Week 7 Data Analysis2018 Week 7 Data Analysis
2018 Week 7 Data Analysis
 
2018 Week 5 DHT11
2018 Week 5 DHT112018 Week 5 DHT11
2018 Week 5 DHT11
 
2018 Week 4 PIR
2018 Week 4 PIR2018 Week 4 PIR
2018 Week 4 PIR
 
2018 Week 15 Speech Recognition
2018 Week 15 Speech Recognition2018 Week 15 Speech Recognition
2018 Week 15 Speech Recognition
 
2018 Week 15 Speaker
2018 Week 15 Speaker2018 Week 15 Speaker
2018 Week 15 Speaker
 
2018 Week 14 HC-SR04
2018 Week 14 HC-SR042018 Week 14 HC-SR04
2018 Week 14 HC-SR04
 
2018 Week 13 Servo Motor
2018 Week 13 Servo Motor2018 Week 13 Servo Motor
2018 Week 13 Servo Motor
 
2018 Week 12 Data Storage and Visualization
2018 Week 12 Data Storage and Visualization2018 Week 12 Data Storage and Visualization
2018 Week 12 Data Storage and Visualization
 
2018 Week 10 Read Time Data Sending
2018 Week 10 Read Time Data Sending2018 Week 10 Read Time Data Sending
2018 Week 10 Read Time Data Sending
 
2018 Week 10 IoT and Robot
2018 Week 10 IoT and Robot2018 Week 10 IoT and Robot
2018 Week 10 IoT and Robot
 
2018 Week 8 Relay
2018 Week 8 Relay2018 Week 8 Relay
2018 Week 8 Relay
 
2018 Week 8 IoT and Wearable Devices
2018 Week 8 IoT and Wearable Devices2018 Week 8 IoT and Wearable Devices
2018 Week 8 IoT and Wearable Devices
 
2018 Week 7 Photoresistor
2018 Week 7 Photoresistor2018 Week 7 Photoresistor
2018 Week 7 Photoresistor
 
2018 Week 16 Computer Vision
2018 Week 16 Computer Vision2018 Week 16 Computer Vision
2018 Week 16 Computer Vision
 
2018 Week 4 Data Storage
2018 Week 4 Data Storage2018 Week 4 Data Storage
2018 Week 4 Data Storage
 

2018 Week 11 Bluetooth and Wi-Fi