第二章、 文獻探討
2.1 雲端簡介
2.1.6 雲端缺點:
(1) 沒有網路就不能使用 (2) 可能有駭客侵入
2.2 物聯網(IOT)
把網路全都連結在一起的東西,叫做 Internet ( 網際網路 ),那把所有 的東西都連在一起,那就叫做「Internet of Things 」,意思就是「所有東西的 網際網路」,中文翻譯都叫做「物聯網」,「物聯網」不只是把東西串起一個
2.2.2 互聯網跟物聯網的區別
4https://www.inside.com.tw/2016/05/03/the-past-present-and-future-of-iot
2.2.4 風險存在
2.2.5 IOT與IEEE
隨著IoT的前景逐漸統合起來,部分的裝置和服務目前已進入市場,對於 共同語言表達的技術、以及定義明確以供實作的結構框架這兩項都是必要的。
IEEE 推動了 IEEE Internet of Things Initiative,為未來的開發者提供了一個 共同的平台。6
2.3 Arduino
這是個智慧型手機流行的年代,大家一定都聽過 Android,但對於 Anduino 卻充滿了陌生感。和 Android 相同的地方在於,兩者皆是使用開放原始碼的
5https://www.inside.com.tw/2016/05/03/the-past-present-and-future-of-iot
6https://www.inside.com.tw/2016/05/03/the-past-present-and-future-of-iot
圖 2-2 Arduino 2.3.1 Arduino的特色
開發簡單,參考資料多。在以往的硬體環境中,要開發微控制器的程式,
開發者需要具備電子、電機及相關科系的背景,一般人需花費大量時間能有 機會進入這個開發環境中。Arduino 學習門檻較為簡單,不需要電子電機相 關科系的背景,也可以很容易學會 Arduino 相關互動裝置的開發。由於 Arduino 以公開共享為基礎,多數人都樂於分享自己的的創品,網路上能找 的創作案子非常豐富。以此會基礎,有時只需要參考分享者的作品,依據自 身的需求行調整,就可以在短時間內完成自己的創作。
2.3.2 Arduino具備哪些東西
主要可區分為三大類,分別是 Arduino 硬體、Arduino 軟體及 Arduino 擴 充原件。
硬體部分可購買現成的版子或是依據網路下載的電路途自行組裝,出學者建 議購買現成的,根據 Arduino 官方網站所寫,台灣地區具有官方合法授權的 代理商為藝科資訊 Aroboto Studio、PlayRobot 飆機器人/普特企業有限公司、
iCshop (台灣)電子零件,電子材料,當然,還有別的商家,到網路上搜尋一 下可找到不少,拍賣網站上也有,甚至也可以到國外網站去買。
2.3.3 Arduino優點
2.4.2 指紋鎖缺點
2.5.2 指紋辨識的優缺點
2.6 ESP8266
了解Wifi 晶片 ESP8266 with Arduino,有兩種常用架構,在 Arduino+ESP8266 和手機控制之間。一種需要透過架設一個網頁資料庫伺服器,一種則是直接 一個韌體,可以下指令組態進行 wifi 設定,也可以運用 Arduino+ESP8266 相 互結合 ,當成一個 Arduino 來寫運用。
2.6.2 耗電量
耗電最多是 200mA 平常是 100mA,可傳送距離的測試,原始板子的天 線可達到 366M,外掛天線可達 479M!
2.6.3 韌體
ESP8266 的firmware 預設會支援一種ATCommand的協定,可以從 Serial連進去以後,下指令時會把設定寫入flash中,重開機也還會在,設成 AP or wifi client 模式或者連線,設定查詢wificonfig與實際測試。如同一個
介面能夠簡化的與Arduino溝通。7 ESP8266,而可以改用 Arduino 去連接,並對 ESP8266 發送指令。
(一)讓 ESP8266 跟電腦連接
ESP8266使用的通訊方式,叫做序列(Serial)通訊的方式。這種通訊方式 和一般的 USB 通訊方式是不同的。
要讓 ESP8266 跟電腦通訊,需要一個「USB 轉 Serial」的轉換器,這
7https://mlwmlw.org/2015/07/深入淺出-wifi-晶片-esp8266-with-arduino/
8http://lolwarden.pixnet.net/blog/post/82031214-arduino-wifi(esp8266)
種轉換器另有「USB 轉 TTL」和「USB 轉 UART」等不同的名稱。下圖為
「USB 轉 Serial」轉換器 CP2102。
圖 2-4「USB 轉 Serial」轉換器 CP2102
熟悉的 USB 接頭,CP2102 的另外一端有六隻腳,包括:3v3、TXD、
RXD、GND 和 5V。其中有幾隻就是要用來跟 ESP8266 連接的,大部分的轉 換器的接腳都大同小異。
下面就是 ESP8266 的接腳說明圖:
圖 2-5 ESP8266 的接腳說明圖
可以看到,左邊的 8 個點,就是它的八隻接腳,旁邊的八串英文字,就 是這八支接腳的代號名稱。
圖中的 GND 代表 Ground,即電源負極接腳。VCC 則代表電源正極接 腳。ESP8266 需要 3.3V,電源輸入,若使用 5V 電源會把它燒毀!
要特別注意的是,ESP8266 的電流消耗可達 200~300mA,電源必須能提 供足夠的電流,以確保它正常運作。
然而,大部分的「USB 轉 TTL」轉換器,例如 CP2102,雖然有提供 3.3V 的電源輸出,但是卻無法提供足夠的電流。因此我們需要使用其他的裝置做 為電源。例如電源供應器或 Arduino。
圖中的 UTXD 和 URXD,是主要用來與電腦連接通訊的兩個接腳,TX 表示它是用來發送訊號,RX 則表示它是用來接收訊號。
ESP8266接線。首先接電源。使用 Arduino 做為電源。接法如下:
1. 【Arduino】3.3V →【ESP8266】VCC 2. 【Arduino】3.3V →【ESP8266】CH_PD 3. 【Arduino】GND →【ESP8266】GND 4. 【Arduino】GND →【CP2102】GND
需要注意的是,Arduino 的電流供應其實還是不夠大。雖然這對 ESP8266 在一般運作時的影響不大。但要更新韌體的時候,就必須要改用電源供應器 來供電,要將訊號線與 CP2102 連接,接法如下:
1. 【CP2102】TXD→【ESP8266】URXD 2. 【CP2102】RXD→【ESP8266】UTXD TX是發送端,所以要接到 RX 接收端。
和 ESP8266 通訊。在網路上可以找到很多種不同的序列埠通訊軟體。
(二)幫 ESP8266 更新韌體
要更新韌體,是為了讓 Arduino 可以跟 ESP8266 通訊。更新韌體時,
ESP8266會消耗更大的電流,所以不能用 Arduino 作為電源,而必須把 Arduino換成電源供應器,或其他可以提供更大電流的電源。
(三)透過指令(AT Command)去操作 ESP8266
當 ESP8266 完成韌體更新之後,要重新與 ESP8266 連接,輸入「AT」
與「AT+GMR」這兩個基本指令去測試它。測試成功後,可以繼續用其他指
指令「AT+CWJAP」
「AT+CWJAP=<SSID>,<Password>」連線到已存在的無線網路。
「AT+CWJAP?」查詢已連線到的無線網路。
SSID:無線網路的識別名稱(要加引號)。
Password:無線網路的密碼(要加引號)。
如果需要切斷 Wifi 連線,我們可以也可使用這個指令:
指令「AT+CWQAP」
切斷已連線的無線網路。 9
9http://lets-make-games.blogspot.tw/2015/04/wifi-esp8266-wifi.html
2.6.6 與目標裝置連線
<port>:網路連接埠號碼。10
10http://lets-make-games.blogspot.tw/2015/04/wifi-esp8266-wifi.html
要讓 ESP8266 扮演客戶端,對伺服器進行連線,需要使用以下指令:
指令「AT+CIPSTART」
「AT+CIPSTART=?」:查詢目前已經建立的連線資訊。
<id>:範圍 0~4。推測最多可以連線到 5 台伺服器,這是用來代表此連線的 代號。
<type>:連線類型,可為"TCP"或"UDP"(要加引號)。
<addr>:連線的 IP 位址,如"192.168.43.31"(要加引號)。
<port>:伺服器接受連線的連接埠(Port)號碼(這個不用加引號)。
圖 2-7 FT232 兩大功用:
1.用來燒錄 ESP8266 內建韌體。
2.可以隨時用簡單的 Realterm(終端機)來測試 ESP8266 是否正常。
圖 2-8 FT232 與 ESP8266
圖 2-9Arduino 與 ESP8266
圖 2-10 Arduino 與指紋辨識器
2.7 ESP01
ESP01 有八個腳由左到右,由上到下,由內到外,依序為 TX、GND、
CH_PD(must be 1 to enable WiFi)、GPIO02、GPIO01、RST(Reset)、VCC(3.3V)、
RX。11
圖 2-11ESP8266, ESP-01 電路板接腳名稱 ESP8266, ESP-01 AT 指令簡介:
ESP8266無線模組的指令主要分為:基礎 AT 指令、WiFi 功能 AT 指令、
11http://ruten-proteus.blogspot.tw/2014/12/esp8266-at-command.html
TCP/IP 工具箱 AT 指令等,根據韌體版本的不同,會新增或修改 AT 指令以
操作 ESP8266,ESP-01AP+STA(混和模式) 三種模式來間接說明無線 模組的 AP (無線網路基地台)、STA (個人工作站)模式指令,方法步驟如下:
PC 與手機測試軟體下載與安裝,取得無線網路的 SSID(無線網路的名稱 或識別碼)與密碼
ESP8266,ESP-01 無線模組通訊接線 指令「AT+CWMODE」
「AT+CWMODE?」:查詢當前模式
「AT+CWMODE=2」:將模式設定為第 2 種(AP 模式) 指令「AT+CWLAP」:顯示可連線的 Wifi 網路清單
由於 ESP8266 無線模組的韌體一直在更新當中,因此若是韌體版本不
ESP8266, ESP-01 的接法可以分為直接通訊,與外接電源是接法。前者 不需要另一個外接電源介入;後者需要另外一個外接電源提供足夠的電流。
直接接線通訊方式:
圖 2-12 通訊的電路接線
圖 2-13ESP8266, ESP-01、USB 轉 TTL 模組
在未接線之前,先將 USB 轉 TTL 模組插上 PC,確認驅動程式是否正常 驅動?以及系統所給的 COM 埠號碼是多少?
照著下面照片先將四條線接上 USB 轉 TTL 模組,再分別將黃線與綠線接 到 ESP8266, ESP-01 的 URXD 和 GND 接腳
圖 2-14 兩條杜邦線與下排接腳
圖 2-15 ESP8266, ESP-01 的 UTXD 接腳
圖 2-16 與 VCC 連接
圖 2-17 插上 USB 轉 TTL 模組到與 PC 的 USB 插槽連接
圖 2-18ESP8266 的電源燈亮起
當接線正確時,模組通電的時候就會看到紅燈與藍燈一起亮起,且藍燈會閃 爍之後滅掉只剩下紅燈一直亮著,藍燈只有在通訊時會閃爍!13
2.8 PL2303HX
PL2303HX 下載線電路板被包覆在 USB 塑膠殼內, 拆開來可看到裡面有 3.3V 電源接線孔,若需要輸出 3.3V 電源需自行焊線拉出去,ESP8266 會 消耗 200~300mA 左右的電流,而一般下載線即使有 3.3V 電源輸出,但無 法輸出這麼多電流, 所以無法啟動 ESP8266。
PL2303HX規格,其最大操作電流是 25mA,也是不夠的,所以其 3.3V 輸 出不能用,必須使用麵包板電源模組的 3.3V 電源,如下圖右上角處,把跳 線帽移到 3.3V 處,旁邊的接點就是輸出 3.3V 。
13http://ruten-proteus.blogspot.tw/2014/12/esp8266-at-command.html#!/2014/12/esp8266-at-com mand.html
圖 2-19 PL2303HX
雖然 PL2303HX 接電腦 USB 的 5V 電源,其信號輸出卻是 3.3V 準位,所以 其 TX/RX 可以直接與 ESP8266 的 UXRD/UXTD 相接。
PL2303HX 有四條線,其中+5V 不能用 PL2303HX
+5V:不可接 (會讓 ESP8266 燒毀)
GND:接 ESP8266 與 3.3V 電源板的 GND (三個 GND 共接) TXD:接 ESP8266 的 URXD
RXD:接 ESP8266 的 UXTD
PL2303HX與 ESP8266 的GND都接到電源模組的GND,ESP8266 的 CH_PD 與VCC都接到電源模組的 3.3V,然後PL2303HX的RX接ESP8266 的UXTD,
TX接ESP8266 的URXD。14
14http://yhhuang1966.blogspot.tw/2015/07/esp8266-wifi-at-command.html
圖 2-20 PL2303HX 與 ESP8266
PL2303HX插入電腦USB槽,按下電源模組按鈕送電,當有資料傳送時 ESP8266旁的藍色LED會閃一下,當有電源時紅色 LED會亮起來 15
圖 2-21 PL2303HX 插入電腦 USB 槽
15http://yhhuang1966.blogspot.tw/2015/07/esp8266-wifi-at-command.html
2.9 各種 AT 指令參考 :
AT+GMR : 取得韌體版本 AT+RST : 重新起始 ESP8266
AT+CIOBAUD? : 查詢鮑率 (位元速率) AT+CIFSR : 查詢 IP 位址
AT+CWMODE? : 查詢目前工作模式 AT+CWLAP : 列出附近偵測得到的基地台 0 OPEN (不加密)
AT+CWJAP="SSID","PWD" : 連線指定之基地台 AT+CWJAP? : 查詢目前連線到哪一個基地台
AT+CWQAP : 離開目前連線的基地台 AT+CIPSTART : 建立 TCP/UDP 連線 AT+CIPSTATUS : 查詢目前 IP 連線狀態 AT+CIPCLOSE : 關閉 IP 連線
AT+CIPMUX? : 詢問目前 TCP/UDP 連線模式
AT+CIPMUX=1 : 設定 TCP/UDP 連線模式為多重連線 AT+CIPSTO? : 查詢伺服器逾時計時器設定值 (秒)
第三章、專題規劃
我們大部分所了解的雲端可能只是運用在上傳資料或者是照片,我們想藉由 這次專題讓大部分的人了解說我們所知道雲端,不只是有那些功能還可以結 合在其他地方像是辦公室或家裡或餐廳都可以利用雲端來達到更方便的環 境。
3.1 研究方法.
我們系統開發的方法是利用螺旋法的方式來去做,在一開始還不知道怎
我們系統開發的方法是利用螺旋法的方式來去做,在一開始還不知道怎