Arduino 入門與物聯網應用 台中教育大學 資訊科學系 李宗翰
大綱 • • • •
Arduino介紹 Arduino實作 Inetnet of Things 物聯網 Internet of Things 應用
Arduino介紹 • 何謂”Arduino” • Arduino架構 • 軟體 • 硬體 • 社群
何謂Arduino? • 義大利Italy • 設計者 – – – – –
• • • •
Massimo Banzi David Cuartielles Tom Igoe Gianluca Martino David Mellis.
2005.10.1第一批 快速開發prototype: artists、designers、 hobbyists OPEN SOURCE 軟體+硬體+社群
Arduino架構_軟體_OPEN魅力 • 開放IDE軟體原始碼,可針對底層做修改。 • 相同軟體平台,透過OPEN,快速累積應用範例。 • 玩家、廠商提供多元函式庫
Processing.org
Fritzing.org
Arduino架構_硬體 • • • • •
數位I/O腳 PWM腳 類比輸入腳 供電系統 電源輸出
數位 I/O腳位:P0~P13 6組PWM輸出
雙供電系統 10Bit解析度 類比訊號輸入 三種電源輸出供應 Vin、5V、3.3V
Arduino架構_硬體_OPEN魅力 • Arduino不生產周邊硬體不綁死周邊裝置價格 平實 • 周邊裝置搭配arudino腳位開發 • 硬體電路開放,可自行製作與開發 • 硬體資源說明文件多 • Arduino.cc/playground
DIY Arduino
Freeduino系列
Ardupilot
Relayduino
Boarduino
Openlog
brasuino
Seeeduino
Fio
擴充Shield
MP3播放板
SD卡模組
WIFI模組
GPRS模組
AV端子顯示模組
COLOR LCD模組
CAN BUS模組
RFID模組
MIDI 訊號模組
Arduino架構_社群
玩家 官方提供Blog資料: 近200處 http://www.arduino.cc/playground/Main/People
周邊廠商 • 超過200家周邊製造商與代理商 – – – – – – – – – – – – –
RFrobot Seeed Studio DIYDrones Sparkfun Pololu Adafruit Make Magzine OceanControl Robotshop ModernDevice
Arduino架構_軟體 • Bootloader預先載入的程式 • 流程: 1. 2. 3. 4. 5. 6.
編寫Arduino Code PC端 Arduino IDE USB(RX、TX) Arduino IO板 Bootloader程式轉換機器碼 Arduino Work
• 高階C語言函式化的指令 • 類似裝置:Basic Stamp
Arduino開發環境 • 軟體下載: http://arduino.cc/en/Main/Software
2012/8/28
Arduino開發環境
編譯
停止
開啟檔案
開新檔案
儲存檔案
載入 終端機顯示 2012/8/28
Arduino開發環境
2012/8/28
Arduino開發環境
2012/8/28
Coding in Arduino
void setup () { //... setup pins } void loop () { //... main loop }
Arduino開發環境
2012/8/28
Arduino開發環境
2012/8/28
Arduino使用語法
2012/8/28
Arduino使用語法
2012/8/28
Arduino使用語法
2012/8/28
Arduino使用語法
2012/8/28
實作_ Arduino實作練習
2012/8/28
實作_ Arduino實作練習
2012/8/28
Arduino實作練習 • 練習一: 載入Basics範例的Blink
2012/8/28
Blink •LED腳位: 長腳+
2012/8/28
Arduino實作練習 • 練習二: 載入Digital範例的Blinkwithoutdelay
2012/8/28
BlinkwithoutDelay •LED腳位: 長腳+
2012/8/28
Arduino實作練習 • 練習三: 載入 Basic 範例的 DigitalReadSerial
2012/8/28
Digital Read Serial (UART to USB)
2012/8/28
Arduino實作練習 • 練習四: 載入 Analog 範例的 AnalogInput
2012/8/28
Analog INPUT
1
電阻成指數遞增,代號A 電阻成線性遞增,代號B
電阻 電壓 2012/8/28
2
3
10bit解析度
Arduino實作練習 • 練習五: 載入 Analog 範例的 Fading
2012/8/28
PWM 脈波寬度調整Pulse Width Modulation 方波寬度 HIGH
5V
方波高度 LOW
0V 週期
2012/8/28
PWM •模擬類比電壓輸出 •腳位3.5.6.9.10.11 •PWM頻率 •980Hz : 5,6 •490Hz :3, 9, 10, 11
•PWM Duty Cycle
Analog output in PWM
Arduino實作練習 • 練習六: 載入 wire 範例的 Master Writer/Slave Receiver
2012/8/28
I2C 傳輸實驗 • Master Writer/Slave Receiver • 本範例將利用I2C連結二組Arduino,並同步傳送與接收數 位資料 • Master – 每0.5秒,傳送 6 bytes 資料至Slave.
• Slave – 當接收到Master所傳來之資料後,將會顯示在Arduino's serial window.
以 I2C 連接兩組 Arduino • 連接兩組Arduino之pin 4 (the clock, or SCL, pin) 與 pin 5 (the data, or SDA, pin). • 確認兩組 Arduino 採用共用接地方式連接. • Slave Arduino 須以USB連接PC並開啟 Arduino Serial Window觀察其 接收資料的狀況.
Internet of Things 物聯網 • 概念 • 應用
物聯網概念 • 物聯網(The Internet of things)的定義是:通過射頻識 別(RFID)、紅外感應器、全球定位系統、鐳射掃描 器等資訊傳感設備,按約定的協定,把任何物品與互聯 網連 接起來,進行資訊交換和通訊,以實現智慧化識 別、定位、跟蹤、監控和管理的一種網路。 • 物聯網就是“物物相連的互聯 網”。 這有兩層意思: – 第一,物聯網的核心和基礎仍然是互聯網,是在互聯網基礎 上的延伸和擴展的網路; – 第二,其用戶端延伸和擴展到了任何物品與物品之間,進行 資訊交換和通訊。
物聯網發展 • 物聯網(The Internet of things)的概念是在1999年提出:Foundation of Auto-ID center of MIT (RFID technology) • 2003 SUN article: Toward a Global “Internet of Things” (Via) • 2005年11月17日:在突尼斯舉行的資訊社會世界峰會(WSIS)上, 國際電信聯盟(ITU)發佈《ITU互聯網報告2005:物聯網》 • 2009年1月23日:IBM Smart Planet,奧巴馬針對IBM首席執行官 彭明盛首次提出“智慧的地球”這一概念,做出回應:物聯網技術 美國在21世紀保持和奪回競爭優勢的方式 • 2009年9月:Internet of Things – An action plan for Europe 歐盟行 動計畫 • 物聯網(Internet of Things, IoT)的興起與快速發展,依據美國 Forrester預測至2020年全球物物互聯的服務量,跟人與人通信的 服務量相比,將達到 30比 1,被稱為是下一個十兆元級的資通訊 創新應用。
物聯網的新思維 • 物聯網打破了傳統思維。物理基礎設施和IT基礎設施 • 物聯網時代:鋼筋混凝土、電纜將與晶片、寬頻整合為統一的基 礎設施。 • 物聯網的世界裡每個物件具備識別ID、感知與理解能力、控制與 管理功能,並透過網路彼此連結,經由智慧的感知、可靠的傳遞 與智慧的處理,賦予物件智慧,實現「人與人」、「人與物」、 「物與物」間的溝通和對話功能。依功能面區分,物聯網基本架 構可分為: – 「感知/設備層」 – 「網路層」 – 「中介/平台層」 – 「服務層」 – 「消費層」
物聯網概念
感知/設備層 • 由許多可擷取及量測資訊之感知元件/設備所組成 – 具感知與理解能力可以監測所在位置的物理或環境狀況(例 如:溫度、濕度、照度、速度等); – 控制與管理功能可以接受遠端設定、操作。
• 為了連結廣泛分布的「感知/設備層」元件,低耗電、 低成本、支援大量網路節點的無線感測網路 (Wireless sensor network)通訊技術被引用,這當中 技術包括: – ZigBee、Z-Wave、6LowPAN (IPv6 over Low power Wireless Personal Area Networks)等。 – WSN Gateway從分散的WSN測量節點匯總數據並扮演通信 協定轉換的角色,串聯「感知/設備層」與「網路層」。
網路層 •包含有線與無線網路技術,提供可靠的IP(v4/v6) 網路傳送技術將感知元件蒐集的資訊整合、匯流 到物聯網資料中心。 •對物聯網服務「網路層」必須具備支援服務品質 QoS的擁塞與負載控制與支援設備移動性管理等機 制,提供一個安全、穩定的網路環境。
中介/平台層 • 為發展物聯網服務的核心 • 過去的服務多為在某一特定領域的專門、封閉式 垂直服務,資訊無法有效共用,面對物聯網大量 資訊處理與不同服務協同運作之需求,建構一個 開放式水平服務平台為未來發展趨勢 • 主要任務為收集來自各感知設備的數據資料,並 進行業務邏輯分類與分析判斷,以服務導向架構 (SOA) 在開放式水平服務平台上建構各個垂直服 務。
服務層 • 即智慧聯網的各種應用領域 • ETSI M2M 強調的應用服務包括:Smart Metering, eHealth, Connected Consumer, Automotive, City Automation等。
消費層 • 使用者可以各式資訊終端在任何時間、任何地點 取得各項服務。
物聯網應用_nabaztag
物聯網應用 mir:ror
物聯網應用 Sports tracker
Arduino物聯網應用_Pachube
……………………………………The End