文章類型
開發平台
解決方案
關注主題
文章類型
開發平台
解決方案
關注主題

【開箱文】順利上手WisCam WiFi遠端監控功能

作者:Ryan Hu

RAK WisCam WiFi Camera開發套件

最近我有幸拿到 RAK(瑞科慧聯) 近期很紅的一塊模組 – WisCam,相信在上一篇 Ches 拔的開箱文後,有興趣的 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 做出控制。

結論

最後,文章的結尾我想說WisCam 的確可以讓 Maker 快速上手,是一個好玩的開發套件,不過還是仍不免俗的還有改進的空間,以下提出兩點建議。

第一,它雖然支援 Arduino,的確可以利用 UNO 接 5V, 甚至是用 UART 來做通訊,但我覺得對於 WisCam本身可以發揮的空間就顯得不足,即便整包 WisCam 原始碼都可以下載下來,但會不知道從何發揮起 (大概是因為我還太菜的原因)。

其次就是 WisCam 目前看似只能於 Linux 下做更多的嘗試,對於不是使用 Linux 的 Maker 來說,並不是件友善的事情。

不過總體來說體驗是非常好的,對於想要快速體驗 IP camera 但卻沒有太多銀彈的 Maker 們,可以嘗試看看這款 WisCam,CP 值頗高!

(責任編輯:葉于甄)


◎加入我們的Line,獲得更多及時文章更新&活動資訊→

加入好友

Ryan Hu

Ryan Hu

政大休學生,對於 IOT 軟硬整合相關有極大興趣,鍾愛無人機,目前獨自完成的專案像是瓦力號、GPS 自動語音導覽系統、NTP 網路自動校時時鐘,喜歡流浪。
Ryan Hu

上一篇: | 下一篇:

468 ad

我想回應

你的電子郵件位址並不會被公開。 必要欄位標記為 *

成城共創股份有限公司版權所有、轉載必究.Copyright(c) 2017 MakerPRO