未来已来——工作空间 WorkSpace 和物联网 IoT (2)
? 光說不練假把式。上一篇介紹了Octoblu這個好玩的IoT平臺,可是光放一些截圖,沒啥意義。好不好玩,容不容易上手,那得搞個Demo~
??? 說實話,雖然我的賬號注冊了辣木久,一直沒正經玩過Octoblu,直到這次從美國回來…… 以前我也沒想到工作空間和物聯網啥關系,直到今年見識了900+的PM 2.5……
??? 于是,我就想,這兩者有啥關系呢?既然現在能夠實現隨時隨地的靈活工作空間,能不能結合物聯網的特點,讓工作空間變得自動而有趣呢?比如,像展望未來的那個視頻……
??? 那就搞搞吧~
?
??? 我最初的想法,是由PM 2.5觸發開會的選擇,如果天氣好,自動叫車去公司;如果霧霾嚴重,那就自動轉成在線會議,用郵件和短信等通知與會人員~
??? 怎么樣,很酷吧?很人文關懷吧?
??? 可是我發現貌似老外暫時沒有現成的PM 2.5站點連接器,于是我上taobao搞了一個塵粒傳感器,準備連到樹莓派上,再輸出到Octoblu。很明顯,這兩種方式都需要開發連接器……
??? 為了盡快完成實驗,我決定把PM 2.5改成溫度。比如,溫度高于0度,打車去開會,等于低于0度,改成在線會議~
?
??? 這個可以有。
??? 首先,注冊Octoblu的賬號,然后,打開https://app.octoblu.com,創建flow,我們就可以在一張圖紙上,描繪我們的美好藍圖了~
????
??? 一番拖拖拽拽,加上和技術團隊在線聊聊天,這個功能就搞定了。
??? 有趣吧?一起來看看我是如何在享受下午茶的間隙搞定這個Demo的。相信我,你也可以~
?
??? 前文書說過,Octoblu是消息驅動的IoT自動化平臺。你可以在基于瀏覽器的設計器中,添加“Things”,然后使用Tools等將這些東西連接起來,讓消息流轉起來,進行處理,推動自動化動作。
??? 看看上圖就容易理解了。為了實現基于溫度的自動判斷,首先我們需要一個溫度的輸入。例如,天氣服務~
????
??? 添加一個天氣對象,這個對象是由Octoblu直接提供的,可以根據地點直接輸出天氣信息。在對應的網站上,有相應的API介紹:
????
??? 可以看到,其實挺簡單的。按照輸入的地點,請求天氣信息,當然,包括溫度。如果做的考究一點,你也可以判斷下雪了才改成在線會議。為了簡單測試,我把條件搞成低于15°c,這樣我在上海現在的氣溫下,立刻就能觸發~ 當然,你可以選擇輸出是攝氏度還是華氏度。
??? 如何得知一個對象輸出了哪些消息,又如何去使用這些消息呢?一個最簡單的方法,就是打開這個組件的Debug開關,這樣,對象能輸出那些信息,一目了然。怎樣使用這些信息變得很容易。
??? 正是這樣的設計,使得創建一個IoT自動化flow,變得像一個親子活動——你完全可以指導自己的孩子來做他/她喜歡的設計~
???
??? 判斷可以通過漏斗狀的工具進行。將天氣對象輸出的信息,以消息方式進行引用,然后進行比較。在這個例子里,溫度從天氣對象輸出的眾多信息中挑選出來,因此我們可以使用`msg`.`temperature`來表示,從天氣對象的msg信息中,挑選temperature這個對象。如前所述,天氣對象的消息包括了溫度、最低溫度、最高溫度、氣壓、濕度、風向、風速、天氣等信息。完全可以發揮想象力來搞事情~
????
??? 溫度和判斷有了,接下來我希望來觸發一個在線會議,比如,GoToMeeting~
??? 添加一個GoToMeeting對象。為了啟用,需要對這個對象進行設置。對于GoTo Meeting來說,就是提供GoToMeeting的賬號以創建管理在線會議。輸入我的GoToMeeting賬號,就可以繼續設置GoToMeeting了~
??? 必要的信息有:GoTo Meeting的動作,例如創建會議;會議主題;會議起始時間/結束時間;等等
??? 同樣,我們打開Debug,就能夠看到這個對象被觸發后,有著怎樣的消息輸出。
??? 我能告訴你的是,這里有個坑,讓我幾乎花了一周時間和支持的技術人員研究~ 這個坑就是,不論我如何調整,調用GoToMeeting對象的`msg`.`joinURL`之類,始終顯示null……
??? 你能發現這里的消息輸出和前一個對象有什么不一樣嗎?大家來找茬~哈哈~
?
??? 是的,多了一個 [ 。這位在美國的支持人員在幾輪在線聊天和郵件溝通后,終于告訴我,消息除了前面我們看到的格式之外,也有基于Array的……比如這個有 [ 字符的,就說明輸出的消息,是一個array……
????
??? 好吧……讓我們把這個消息改成 {{msg[0].joinURL}}……
??? 為了讓消息看起來更加可讀,我用了一個文本模板來定制郵件和短信正文:
????Hi,
??? Due to wather reason, please join meeting via:?
??? {{msg[0].joinURL}}
??? GoToMeeting:在線會議,從未如此簡單!
??? 后面順手來個GoTo Meeting的廣告,其實我是為了測試是不是支持多字節文本比如中文~
??? Debug信息顯示,終于不是null了……費了老大勁,所謂好事多磨?
????
??? 接下來,我要把郵件主題和郵件正文,拼成一個郵件,發給與會者。
??? 這工作可以交給Octoblu的郵件對象。在網站上同樣可以找到相關的API介紹。非常簡單~
????
??? 郵件創建成功,意味著就發出去了~ 友情提醒,一直收不到郵件的,請到垃圾郵件里翻翻……別問我為啥這么提醒(淚奔)
????
??? 既然郵件通知了,順手也做個短信提醒吧。其實我是想試試能不能發短信給國內的手機……
????
??? 一樣……Octoblu的短信API也是無比的簡單…
?
??? 大功告成,雙兒,來,香一個~
??? 首先到GoToMeeting的站點上,確認下我們的在線會議是否正確的創建出來了。
????
??? 當然,還有郵件,是不是正確的收到了(此處再次紀念null問題解決10秒……)
????
??? 再次提醒哦,找不到郵件的時候,除了debug和trouble-shooting,一定記得去翻翻垃圾郵件……
??? 讓我驚喜的是~ 短信也順利收到了!
????
??? 還支持中文哦~
???
??? 你問我為啥不介紹如果天氣好,就Uber叫車那部分?大哥……叫車要給錢的…自己試試叫車吧,哈哈哈~
???
??? 還猶豫什么,現在就打開網站,注冊賬號,開始玩IoT吧!
? ? ?本文轉自HaoHu 51CTO博客,原文鏈接:http://blog.51cto.com/haohu/1899677,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的未来已来——工作空间 WorkSpace 和物联网 IoT (2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes K8s 平台中po
- 下一篇: 有关HP笔记本电脑的售后服务问题