最近我有幸拿到RAK(瑞科慧聯)近期很紅的一塊模塊– WisCam,有興趣的Maker 早已不迫及待地想要嘗試這塊迷人的Camera module。有關WisCam 開發板的硬件規格(CPU、FLASH、Camera、I/O、WiFi module)等信息都可以在Ches 拔的那篇文章中找到詳細的介紹,所以我就不在這里多做說明。這篇文章主要想跟大家分享的是,我在使用WisCam 時用到的一些功能和心得。
RAK 這次的WisCam 產品真的很嚇人,不僅價格親民(非常適合像我這樣子窮窮的maker ),WisCam 整個套件的完整度讓Maker 可以非常快速的上手(基本上只要會插電、下載APP、連WiFi 就可以使用)。此外,另一個亮點就是這次的WisCam 有支持兼容Arduino,這對還是菜鳥Maker 的我來說無疑是一大福音。
在App 上看到camera 鏡頭成像后,立馬決定來研究這個最近在Maker界聲量極高的WisCam 到底還有什么厲害之處。在玩WisCam 之前,有段時間有小小研究過webcam 做影像辨識,所以這次對于研究WisCam 莫名有點感覺,當然我會這樣說是因為WisCam也可以做到相同的效果。
WisCam 本身分為兩種working mode,分別為UVC (USB camera :webcam 的形式)和WiFi Camera。這兩種working mode 是利用不同的接電方式,若要使用UVC mode 就像webcam 一樣,插上micro USB 接筆電或PC 即完成;使用WiFi camera 的話是透過Arduino UNO 接5V 供電,或是將WisCam 開發版直接用micro USB 接電源。
這樣接線就是讓Wiscam 在WiFi camera 的模式下運行
(題外話:如果不用他們家的原廠線,用自己的micro USB 接我的MAC 竟然會是WiFi camera mode!真神奇!但我還沒去厘清這是為什么。)
WisCam 最簡單、普遍的應用就是在WiFi camera mode 之下,利用手機里下載好的App (RAK 這次很有心,iOS、Android 系統App 都開源給大家使用,可直接Google 即可找到下載連結)連上WisCam 的AP,就可以立即從手機觀測鏡頭影像。
由于我想要嘗試的是WisCam 的遠程觀測功能,因此先撇開UVC mode,專注在分享有關于WiFi camera mode 的使用上。
特別想嘗試RAK 說的「遠程監控」,是因為原本我在玩webcam 時,要讓別人從不同的network 看到我這顆webcam 的畫面,是靠著ngrok 做到的(其實ngrok 本來就不是這樣用,但for fun 已經夠用),所以我就非常好奇WisCam 是如何做到遠程監控,發現原來在里面內建一個Nabto P2P cloud 的功能。
Nabto platform 運作機制圖
Nabto P2P cloud 的運作如同上圖所示,Device 端是一個具有聯網功能的開發版(像是Arduino MEGA2560 + Wiznet W5100 Ethernet Shield),透過在appmyproduct(以下會做說明)上注冊的unique device ID & License Key 在Nabto Basestation 辨識出自己,而Client 透過App (與appmyproduct 有關)若要access 該聯網的裝置,在送出request 的同時,也會把access device 的Device ID 一起送到Nabto Basestation,實現P2P 聯機。
Device 或是Client (app) 要有可以和Nabto Basestation 建立關系的功能,勢必要加上他們家的SDK – uNabto SDK。這個SDK 之強大,他可以支持許多常見的連網開發版,連我最愛用的ESP8266 也在其內!真的讓我心癢癢,一個很想玩的概念!
上面提到的appmyproduct 就是Nabto 為了加速「遠程監控」應用程序的開發,所以釋出一套具有和Nabto platform 直接溝通的App 模板,意思是如果你愿意花時間也是可以自己寫原生的mobile app,只是要加上uNabto SDK 才能利用Nabto cloud 實現遠程監控,不過我相信大家不會想把心力放在開發App 上面。
還有針對不同的scenario 設計不同的App 形式,根本超友善!除了App 模板,剛提到注冊Device ID ,以及License Key 也是在appmyproduct 上完成。只要申請賬號,就可以建立項目,生成License Key (就會一并出現Device ID)如下圖。
這個Device ID 和License Key 就是要放進Device 的code 里面,讓Device 可以依據以上信息告訴Nabto Basestation 我是誰,讓App 順利的遠程監控Device 的某些行為。
那WisCam 又是怎么一回事?其實把剛才舉Arduino MEGA2560 + Wiznet W5100 Ethernet Shield 的例子換成WisCam 就大功告成了。也就是說文件里面的一句「WisCam 支持Nabto P2P cloud 的功能」WisCam 的情況是這樣,在WiFi camera mode 之下用筆電WiFi 連上WisCam 后在Browser 的網址欄打上:http://192.168.100.1/cgi-bin/param.cgi?action=list&group=nabto就可以看到類似下圖的信息:
上面的Nabto id 就好比在appmyproduct 注冊好的Device ID,而在RAK 本身釋出的開源App 當然也就已經具備uNabto 的SDK,可以從App 中輸入該WisCam 的Nabto id 去做配對。
但這樣直接嘗試連接后發現,出現了「NTCS_CLOSED」的結果,一查才發現是「端設備未連接」的情形,為什么會這樣呢?我在一開始提到WisCam 在WiFi camera mode 的使用,這種簡易的使用default 是AP mode (也就是只能讓),原來如果要讓WisCam 真的可以遠程監控,它勢必要先轉成STA mode,才可以順利連上網絡。
在這里,先澄清一下,所謂遠程控制是Device 和App 在不同的network 底下,App 仍然可以透過網絡去access 到Device,甚至設計對Device 做出控制。
RAK WisCam結合Arduino 的應用
RAK WisCam 這次的camera module我覺得很大的優點和優勢是和Arduino 兼容,既然可以和Arduino 兼容,我又有什么理由不好好發揮一點創意來實作應用呢,看了看手邊為數不多的零件,突然靈光乍現,想到了個有趣的東西。
既然這顆camera module 擺著只能定向觀測,不如我把手邊的游戲桿模塊加上兩顆SG90 的伺服馬達結合底座,讓這顆camera module 可以觀測不只一個方向的畫面,而主控版就用Arduino nano 即可。
其實會想到這樣的應用,是因為公司常常會有客人拜訪,如果只是定向觀測的話很容易漏掉畫面(因為不可能隨時盯著手機app 的畫面),但倘若可以看到一定范圍內(也就是馬達角度的極限)的畫面,或許會有點幫助。以下是我的系統架構圖:
用WisCam加Arduino NANO做出多角度監視器的架構圖(制圖:Ryan Hu)
由于手邊組件缺乏,目前只做到這樣的地步,不過我目前的想法是利用游戲桿模塊遠程操控馬達(近期補完貨再加上去),讓我可以清楚地在手機的app 上看到多種角度的畫面。
至于實作細節,本文就不一一詳述了,這里僅提供一些學習資源,例如Arduino馬達控制可參考葉難大大這篇《Arduino練習:伺服馬達以Tower Pro SG90為例》,Joystick游戲桿控制可參考Motoduino這篇《XY雙軸模擬游戲桿模塊》,至于如何用Arduino來運用游戲桿控制馬達,則可在巴貝縵的這篇《Arduino 以游戲桿控制服務器馬達》文章中找到教學解答喔。
P.S 如果能做影像辨識,那就更好玩了!
結論
最后,文章的結尾我想說WisCam 的確可以讓Maker 快速上手,是一個好玩的開發工具包,不過還是仍不免俗的還有改進的空間,以下提出兩點建議。
第一,它雖然支持Arduino,的確可以利用UNO 接5V,甚至是用UART 來做通訊,但我覺得對于WisCam本身可以發揮的空間就顯得不足,即便整包WisCam 原始碼都可以下載下來,但會不知道從何發揮起(大概是因為我還太菜的原因)。
其次就是WisCam 目前看似只能于Linux 下做更多的嘗試,對于不是使用Linux 的Maker 來說,并不是件友善的事情。
不過總體來說體驗是非常好的,對于想要快速體驗IP camera 但卻沒有太多銀彈的Maker 們,可以嘗試看看這款WisCam,CP 值頗高!
Wiscam 淘寶購買鏈接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-14938546650.18.638a2e6T0NUOm&id=543901093786
-
wiscam
+關注
關注
0文章
3瀏覽量
5434 -
瑞科慧聯
+關注
關注
0文章
12瀏覽量
7612
發布評論請先 登錄
相關推薦
評論