第1步:材料
在開始之前,您需要注意以下幾點:
跳線
面包板
Arduino開發板
第二步:下載
轉到http://www.mingw.org/wiki/Getting_Started,然后下載mingw-get-setup.exe。請遵循安裝說明。進入軟件包選擇和安裝時,請確保安裝msys-base,mingw32-base和mingw-developer-toolkit。
下一步,請訪問https://git-scm.com/下載/贏得下載Windows版Git Bash。下載.exe文件,然后按照其上的安裝說明進行操作。
轉到https://curl.haxx.se/download.html并將curl-7.49.1.zip下載到您的計算機。提取.zip文件夾,您就可以開始使用!
最后,從https://en.osdn.jp/projects/ttssh2/releases/下載Tera Term并按照安裝說明進行操作。
步驟3:M2X入門
轉到https://m2x.att .com/并創建一個帳戶。
在設備選項卡下,單擊左側面板上的“新建”按鈕,然后選擇創建新設備。
創建后設備上,添加新的流。創建它之后,您現在可以登錄并將值保存到其中。
步驟4:創建腳本
打開Git Bash在計算機上,然后導航到要保留腳本的文件夾。 Git Bash使用Linux之類的命令(cd,vim,mkdir等)。要轉到文件夾,請使用不帶引號的“ cd”。例如,我想將文件保留在桌面上,因此在git bash中,我鍵入了“ cd desktop”。
鍵入“ vim script_name.sh”以創建一個新的腳本文件(并替換為您的腳本名稱)。復制腳本并將其粘貼到文件中。
腳本的運行方式如下:
腳本將連續運行,直到到達文件末尾,并且每次讀取一行時,腳本都會保存任何內容它讀入一個名為‘line’的變量
接下來,我們獲得ISO8601格式的日期(YYYY-MM-DDTHH:MM:SS.nnnZ),因為我們需要這樣做才能將數據發送到M2X云使用curl
現在將讀取的值(行)發送到設備并使用curl流化。確保使用您自己的設備信息替換curl命令中的“設備ID”,“流名稱”和“設備API密鑰”。
將curl請求的響應保存到名為“ send”的變量中。
從send變量獲取狀態。如果被接受,則繼續該文件。否則,請退出程序。
第5步:Arduino代碼
我們將使用來自的SoftwareSerial庫Arduino IDE,以便Arudino可以將數據發送到HC-05藍牙模塊,該模塊隨后將通過藍牙將數據發送到計算機。
將HC-05的TX連接到Arduino的數字引腳10。
將HC-05的RX連接到Arduino的數字引腳11。
將HC-05的GND連接到Arduino上的GND。
將HC-05的VCC連接到Arduino上的5V。
如果要更改發送數據的時間間隔,請確保腳本和Arduino代碼中的時間間隔相同。
注意:我只是向云發送隨機數,但是您總是可以獲取一個傳感器,并修改Arduino代碼以讀取傳感器輸入,然后將該數據發送到HC-05模塊,而不僅僅是向其發送隨機數。
步驟6:一切就緒
現在是時候將計算機與HC- 05模塊!轉到設置-》更改PC設置-》 PC和設備-》藍牙。確保計算機上的藍牙已打開,并確保HC-05模塊已打開(模塊上的紅色LED指示燈將快速閃爍)。從藍牙設備列表中選擇HC-05,然后輸入配對代碼。如果您的HC-05具有默認設置,則配對代碼應為 1234 。
打開Tera Term并連接到HC-05。與它配對后,應該會顯示兩個COM端口。選擇編號較低的一個。如果成功連接HC-05,則其上的紅色LED指示燈應大約每1或2秒快速閃爍兩次。
我們現在需要記錄HC-05發送的所有數據。轉到文件-》日志。..,然后選擇保存日志的位置。
步驟7:運行程序
現在您已經有了Tera Term的日志,可以將所有傳入數據保存到文件中,您可以將Arduino程序上傳到Arduino。一旦上傳,您的數據值應該開始以固定的時間間隔出現在Tera Term窗口中。該數據將保存在文件中,因為我們選擇了記錄會話。
通過打開Git Bash并轉到腳本的位置來運行腳本。要運行該腳本,請鍵入“ 。/script_name.sh file_name”,并將您的腳本名稱和Tera Term日志作為文件名。
現在,您可以登錄M2X并看到其中的數據值您的設備流!
步驟8:AT&T流程
使用M2X,我們可以看到已發布的值的列表或圖形。此步驟將向您展示如何在AT&T Flow中檢索這些值,以便您可以對數據進行某些操作(發送電子郵件或文本通知等)。
在flow.att.com上創建一個帳戶。然后單擊左下角附近的(+)圖標以創建新流程。
從“注入”節點開始。將其設置為在開始時注入,并將時間間隔設置為與Arduino代碼和腳本設置為相同的時間間隔。
添加一個Function節點(我稱為mine Get M2X Value)以從M2X獲取數據值,并將Inject節點的輸出連接到Function節點的輸入。功能節點的代碼在上圖中。
添加一個M2X節點,并將其連接到功能節點。
將M2X節點的輸出連接到JSON節點,以便將M2X數據轉換為javascript對象。
將JSON節點的輸出連接到另一個函數節點(我稱為mine Parse Output)。上圖中是第二個功能的代碼。此函數從msg.payload中查找并獲取值,并將其轉換為數字。如果您的流發送非數字數據,則需要更改函數以不將值轉換為數字。另外,您可能需要根據每個值的大小來更改從中獲取值的索引。
-
藍牙
+關注
關注
116文章
6042瀏覽量
173274 -
Arduino
+關注
關注
189文章
6493瀏覽量
190191
發布評論請先 登錄
評論