2015年10月2日 星期五

Qblinks - Qmote Makers module 範例二 溫度+濕度

前面兩篇文章
Qblinks - Qmote Makers module 範例一
http://oaione.blogspot.tw/2015/10/qblinks-qmote-makers-module.html
Qblinks - Qmote Makers module簡介
http://oaione.blogspot.tw/2015/09/qblinks-qmote-makers-module.html
現在很多人喜歡偵測溫濕度,我透過這個例子來結合Qmote makers Module跟IFTTT
我想收集我的環境溫濕度到我的Dropbox,我先在Qmote app創立一個新的pattern,前一篇我設定按一下觸發IFTTT,我在此在新增按兩下觸發IFTTT。
PastedGraphic36-2015-10-2-15-20.png
並在IFTTT官網設定一組Action,Qmote 0D26兩下,觸發Dropbox,把UART message記錄在Dropbox的檔案裡面。
PastedGraphic37-2015-10-2-15-20.png
Action的內容如下,檔案記錄現在的時間跟收到的溫濕度。
PastedGraphic38-2015-10-2-15-20.png

使用86Duino+DHT11+Qmote makers module
PastedGraphic39-2015-10-2-15-20.png
code的部份如下,收集到溫濕度資料後,透過Qmote makers module command發送出去。
配合上面App所設定的,兩下觸發IFTTT,所以ATBN=0x02
下面範例是每10秒偵測一次溫濕度,並把資料送到IFTTT儲存到Dropbox
PastedGraphic40-2015-10-2-15-20.png
打開我的Dropbox,可以看到檔案內容如下,詳細記錄出環境的溫濕度
PastedGraphic41-2015-10-2-15-20.png
PastedGraphic42-2015-10-2-15-20.png


從上面的範例可以想像使用者處理過後的資料,透過UART傳送到Qmote makers module,在結合到IFTTT 兩百多個channel,使用者可以創造出一些有趣例子。

Qblinks - Qmote Makers module 範例一

這一篇我們使用Qmote makers Module來做一個簡單範例,他的腳位如下圖,最簡單的應用就是透過UART去傳送訊息,所以我們只會用到四個腳位。
第一版Maker module只支援3.3v的UART,所以我們只會用到GND、Vdd、TX(3.3v)、RX(3.3v)這四個腳位。
PastedGraphic5-2015-10-2-12-03.png
我使用86Duino+Qmote maker module來做示範,把上面提到四個腳位依序接到86Duino上面
Qmote maker Module
86Duino
GND
GND
Vdd
+3.3v
TX(3.3v)
RX2
RX(3.3v)
TX2
PastedGraphic6-2015-10-2-12-03.png

1.從App store搜尋Qmote並下載iOS版本Qmote app
PastedGraphic-2015-10-2-12-03.png

2.確定系統藍牙有打開
PastedGraphic1-2015-10-2-12-03.png
3.打開Qmote App,點擊+圖片開始進行掃描
PastedGraphic2-2015-10-2-12-03.png
4.App會列出附近的Qmote裝置,點擊你所擁有的Qmote,會跳出詢問是否配對,請點選配對(Pair)
PastedGraphic3-2015-10-2-12-03.png PastedGraphic4-2015-10-2-12-03.png
5.連接Qmote成功後,畫面會顯示如下,左邊實心橘色閃電代表目前已經連接。
1__%252524%252521%252540%252521__PastedGraphic5-2015-10-2-12-03.png
6.點擊App左上角Cloud設定畫面,Sign Up一個Qblinks帳號,並請去你的email信箱收確認信才算註冊成功,註冊成功後,請回到Cloud頁面登入你的帳號
1__%252524%252521%252540%252521__PastedGraphic6-2015-10-2-12-03.png PastedGraphic7-2015-10-2-12-03.png
7.登入Qblinks cloud帳號後,回到App畫面,並設定一組IFTTT Pattern,操作畫面如下:
        a.點擊你的Qmote
        b.選擇點擊的pattern,我選擇一下
        c.選擇最底下IFTTT
        d.點擊右上角Save
        e.儲存成功後會跳回Pattern list,顯示目前已經設定按一下是觸發IFTTT
1__%252524%252521%252540%252521__PastedGraphic5-2015-10-2-12-03.png PastedGraphic9-2015-10-2-12-03.png PastedGraphic10-2015-10-2-12-03.png PastedGraphic11-2015-10-2-12-03.png PastedGraphic12-2015-10-2-12-03.png
8.到IFTTT官網註冊一組帳號,並用該帳號登入IFTTT
PastedGraphic13-2015-10-2-12-03.png
9.選擇上方My Recipes開始建立Recipe,點選Create a Recipe
PastedGraphic14-2015-10-2-12-03.png
10.點選this
PastedGraphic15-2015-10-2-12-03.png
11.搜尋qblinks
PastedGraphic16-2015-10-2-12-03.png
12.點選Connect
PastedGraphic17-2015-10-2-12-03.png
13.彈出一個啟動Qblinks channel視窗,請輸入在App註冊的帳號,不是IFTTT登入帳號
PastedGraphic19-2015-10-2-12-03.png
14.啟動Channel成功後,就會看到下面畫面,點選Press button
PastedGraphic20-2015-10-2-12-03.png
15.點開下拉選單,可以看到我的有一長串列表,這代表你在App所設定Qmote IFTTT pattern,其中最底下一組Qmote 0D26就是在最前面,我透過App新增的一組”按一下觸發IFTTT”,可以參考前面第7步畫面。
PastedGraphic21-2015-10-2-12-03.png
16.接下來我們要設定that
PastedGraphic22-2015-10-2-12-03.png
17.這邊我選擇寄送email當例子
PastedGraphic23-2015-10-2-12-03.png
PastedGraphic24-2015-10-2-12-03.png
18.接下來畫面是設定email的內容
PastedGraphic25-2015-10-2-12-03.png
19.我希望當我觸發Qmote一下時,寄一封email,內容是Qmote名字+UART message,點擊畫面中那個燒瓶符號
PastedGraphic26-2015-10-2-12-03.png
20.下拉選單選擇QmoteName並Add Ingredient,重複此步驟選擇UARTMsg
PastedGraphic28-2015-10-2-12-03.png
21.按下Create Action
PastedGraphic29-2015-10-2-12-03.png
22.最後確認畫面,代表我在IFTTT創見一組action,代表我觸發Qmote 0D26的一下,將會寄送一封email到我信箱,按下Create Recipe儲存起來。
PastedGraphic30-2015-10-2-12-03.png

接下來我們回到Qmote makers Module
我使用86Duino寫一段UART的code
Quote makers Module baud rate是38400
PastedGraphic31-2015-10-2-12-03.png
打開86Duino的序列埠監控視窗,在上面輸入AT傳送,確認畫面出現OK即代表86Duino跟Qmote makers Module連接成功
PastedGraphic32-2015-10-2-12-03.png

你也可以輸入?讓Quote makers Module列出所有AT command
PastedGraphic33-2015-10-2-12-03.png
從列表中我們可以看到有一個ATcommand 是 “ATBN=“,這是在模擬送出按下按鈕的指令。還記得上面我們設定一組IFTTT action,我們設定Qmote一下,送出email,內容是UART message
所以我們的完整指令就是如下,字串要用雙引號””包住
ATBN=0x01,"Hello World"
送出後確認console顯示OK,這時候Qmote makers module就會透過App把這組指令傳送出去到Qblinks cloud,在送到IFTTT
PastedGraphic34-2015-10-2-12-03.png

過一會我就收到一封email,可以看到email的內容就是我們剛剛在IFTTT所設定的,其中UART message就是我們剛剛在console自定的”Hello World”
PastedGraphic35-2015-10-2-12-03.png
以上就是一個簡單的範例,可以發揮想像力,透過Qmote makers module的UART去串接maker常見的開發版,例如Arduino、Raspberry pi,透過UART的command傳送,讓這些開發版可以無痛與IFTTT平台連接。

Qblinks - Qmote Makers module

今天不談多軸飛行器,要來介紹一下我們公司最近推出的一個Qmote Makers module。在介紹Makers module前,先大致介紹一下Qmote。
IMG_3556-2015-09-2-11-32.jpg
Qmote在2015年初在Kickstarter 上募資,獲得6,000人贊助,總金額22萬美金,目前已進入量產階段,即將會寄出出第一批貨。Qmote是一個低功率藍牙裝置,外殼設計是金屬髮絲紋,並擁有IPX7防水認證,內部使用CR1620鈕扣電池一顆,搭配的是TI CC2541藍牙晶片,上面有一個按鈕開關。
Qmote的發想設計是解決手機遠端遙控功能,目前人們依賴手機許多功能來輔助生活上的不便,例如要自拍,伸長手臂導致要按下快門不方便,所以市面上有所謂自拍器產品誕生。要音樂控制,所以耳機線上延伸出有音樂控制開關。要找東西需要手電筒、要開車導航,所以許多輔助App也相繼誕生,這一切的目的都是要解決生活上的不便。
但要達到這些目的,使用者必須購買不同廠牌的控制器,操作App或手機功能前要先解鎖、找到App/Widget等等繁雜的步驟。
Qmote提出透過一個按鈕的控制,就可以控制這些日常所需的功能,使用者透過Qmote app設定按鍵功能,例如按一下就是相機快門,按兩下啟動導航回家,按一長一短啟動手電筒等等功能,全部功能可以參考下圖,在iOS和Android手機上會略有不同,主要是因為iPhone本身iOS限制了App開發。
PastedGraphic-2015-09-2-11-32.png
除了單純手機上面的功能控制,我們也與IFTTT 物聯網連接,IFTTT的全名是 if this than that,簡單說就是”this”發生時,觸發”that”。
那什麼是this?什麼是that? 在IFTTT的網頁上有列出兩百多個channel,每一個channel可以是this或that,依屬性不同有所限制。
1__%252524%252521%252540%252521__PastedGraphic-2015-09-2-11-32.pngPastedGraphic1-2015-09-2-11-32.png
所以我們可以在IFTTT上面設定關於天氣UV,當(if)天氣channel偵測台北的UV超過某值,觸發(then)一個訊息通知到IFTTT App。
PastedGraphic2-2015-09-2-11-32.png
兩百多個channel可以發揮你的想像力去組合,例如你也可以設定當我移到某個位置時,發一篇Facebook動態。
PastedGraphic3-2015-09-2-11-32.png
IFTTT目前上面有許多物聯網Channel,例如有名的WeMo、NEST、hue等等,透過IFTTT平台與這些裝置連結,你可以創造出許多有趣的組合,例如你可以設定,每天某個時間點就啟動WeMo。
PastedGraphic4-2015-09-2-11-32.png
我們觀察到許多Makers在動手創造自己的作品時,常常遇到一個問題,在對外的連結必須自己花費很大力氣去整各家API,例如我們今天想用Arduino去做到上面的例子,當偵測到溫度很高時,發一篇Facebook+開啟WeMo開關控制電風扇+寄一封email出來,在過去的作法你必須用以下作法:
1.一個Arduino+溫度 sensor+網路shield
2.寫一大串code去隨時偵測現在溫度,然後偵測到溫度時,去呼叫Facebook 發文章API。
3.寫一段code去呼叫WeMo API
4.再寫一串code去寄email
我們可以發現當每一觸發一件事情,你就要寫一堆code。
因此Qblinks使用一個Qmote makers Module 來幫大家解決問題,概念很簡單,就是透過UART去接收使用者傳送過來的訊息,然後Qmote makers Module會透過App把這些訊息往我們cloud送,我們cloud再把這些訊息往IFTTT送,這樣使用者每一個作品等於間接與IFTTT連結。
2015-09-0211.31.46-2015-09-2-11-32.jpg
Qmote makers Module相關文件可以在 http://qblinks.com/devkit/makers_module/makers_module 下載到,包含腳位、AT command等等說明。
我在下一篇文章會用一些範例,讓大家更了解Qmote makers Module如何使用。