介紹:本教程將逐步介紹如何使用RAK Wireless的WisCAM攝像頭開發板,開發板運基于Linux系統,可以很方便的輸入RTSP流。我們還將深入討論Linux相關內容、串口調試和無線連接。最后,我們將看到如何使用內建的ser2net功能,發送HTTP請求來修改模組設置。
Wiscam 淘寶購買鏈接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-14938546650.18.638a2e6T0NUOm&id=543901093786
開發板
WisCAM是一款功能強大、基于嵌入式Linux的IP攝像頭,通過rtsp協議可以輕松獲取視頻流。模塊核心硬件基于ARM926EJ-32位RISC CPU內核的Nuvoton N32905R3DN處理器, 頻率可達200MHz @ 1.8V。在這樣資源受限的硬件上能夠運行功能強大的linux還是挺不可思議的!
Rakwireless WisCAM模組
開發板其他功能:
·Wi-Fi:硬件上的網絡功能是通過板載的RTL8189FTV Wi-Fi芯片提供,該芯片支持IEEE802.11 b/g/n協議、外置天線和SDIO接口
·SD卡和擴展板:開發板有一個帶有USB HOST和SD卡接口的擴展板
·攝像頭:包含一塊性能不錯的攝像頭模組,可以通過采集圖像來做更多功能
·支持Nabto 的點對點通信。Nabto點對點通信已經集成,下一次我們將演示怎么遠程獲取視頻
開發板為我們預留了很多非常實用的功能,具有大量的GPIO、外設接口及視頻功能,很適合DIY!
下面框圖展示了開發板怎么傳輸視頻流的
WisCAM 軟件框圖
GPIO:
開發板預留很多GPIO,并兼容Arduino,下面是WisCAM的引腳對應圖,包括一個10-bit的ADC,一個麥克風,一個UART,一個揚聲器和十二個GPIO(連接不同的擴展板,GPIO的序號也會有變化)
一些重要的引腳映射如下所示:
WisCAM PinOUT
引腳默認配置
·HUR_TXD/PWM1/GPD[1] UART 透明傳輸輸出引腳,3.3V
·HUR_TXD/PWM1/GPD[1] UART 透明傳輸接收引腳,3.3V
·IOH1高電平使能揚聲器:默認關閉
·BOOT/GPA7 恢復模式/正常工作模式:
上電檢測如果為高電平進入恢復模式,如果為低電平則進入燒寫模式
·URTXD/ GPA10系統調試輸出引腳,3.3V
·URTXD/ GPA10系統調試接收引腳,3.3V.
·直流5V輸入,也可以通過micro-USB供電
讓板子跑起來!
在這之前,確保你已經在ios或android安裝了RAKVideo app,如果你想在電腦上觀看視頻,那必須確保你在windows或者linux上安裝了VLC
·iOS:https://itunes.apple.com/us/app/rakvideo/id1107121689?mt=8
·Android:https://www.pgyer.com/wiscam
USB模式:電源接口和UVC模式
開發板的Micro-USB接口連接電源和電腦是有不同的功能
UVC模式:
UVC模式就像一個USB攝像頭,用AMCap或者NuwicamUVC工具就可以觀看視頻
·AMCap:https://amcap.en.softonic.com/
·GTK+ UVC Viewer:http://guvcview.sourceforge.net/
picture showing the placement of status LED on WisCAM
畫面狀態LED
UVC模式:
UVC是IP攝像機中的常見標準,并有合適的庫來處理UVC標準。 LibUVC可以在https://github.com/ktossell/libuvc上找到,有關如何使用庫的文檔可以從以下網址獲得:https://int80k.com/libuvc/doc/
電源模式:
當通過micro USB將開發板連接到電源時,開發板將進入電源模式。 WLAN0 和 WLAN1將被激活,WLAN1工作在SOFT-AP模式, SSID為WisEye-xx-xx-x-xx-x。 默認加密方式為WPA2PSK,密碼為12345678。
建立本地流服務
開發板可以本地獲取視頻和廣播視頻流到連接的設備。 WLAN1接受來自STA設備的請求,允許連接到Wiseye AP。 一旦連接,開發板的IP固定為192.168.100.1,所有連接到開發板的設備都可以獲取視頻流。
也可以在Android(或iOS)上安裝Wiscam APP,打開APP后,在啟動頁面中單擊右上角的鉛筆圖標,會顯示一個彈出窗口,填上上面講到的RTSP URL地址,然后單擊確定。 如果開發板連接到了電源,并且手機連接了Soft AP,那么說明開發板正在運行,并且已經準備好將視頻傳輸到Android/iOS設備。
Android app 截圖
正在連接開發板App 截圖
Windows上使用:
如果你的電腦連接到了wisap的SSID,可以安裝VLC來獲取視頻流,
選擇Media-打開網絡串流:將彈出下面對話框
在對話框中輸入上面提供的RTSPURL并點擊播放,將會收到來自Wiscam的視頻流
提示:如果播放失敗
·確認開發板已經上電并且藍燈閃爍。表明正在傳輸視頻,并且確保電源是5V 2A規格
·確認你的設備已經連接到開發板的SOFTAP
通過STA模式連接開發板:
由于這是一個帶無線功能的linux開發板,所以終端用戶可以將開發板連接到另一個AP,而不是作為AP。
HTTP方式:
開發板提供了一個基于ser2net程序的HTTP接口,瀏覽器可以使用網絡功能來完成設置。AP或 Station模式都可以使用。
下面列出了通過HTTP GET命令的接口:
(http://192.168.100.1/cgi-bin/param.cgi?action=list&group=xxxx
這里的xxxx選項有:wifi/stream/nabto
Wi-Fi連接參數如下:
可以通過下面兩個url命令設置STA模式下的SSID和密碼,{}中的是需要你修改的
http://{IP-Addressof camera}/cgi-bin/param.cgi?action=update&group=wifi&SSID={wifi name}
http://{IP-Addressof camera}/cgi-bin/param.cgi?action=update&group=wifi&AUTH_KEY={wifi
password}
其他重要設置:
如上一節所述,開發板提供視頻流,nabto和restart.cgi兩個腳本,分別設置攝像頭參數和內置的Nabto配置。 我們將在另一個教程中通過Nabto P2P連接到開發板。
開發板的Linux相關說明
很有意思的是,該主板上運行的是Linux 2.6內核版本。這是精簡版的Linux版本,上面運行了很少的服務和應用程序。所以不要指望像包管理器,GUI這樣的應用程序
然而,這在個簡單的開發板里面增加了很多關于攝像頭相關的配置和處理能力。和其他嵌入式Linux類似,安裝了許多重要的服務和程序
·busybox.1.15.2Linux 工具http://www.busybox.net/about.html
·dnsmasq-2.60DHCP 服務器http://www.thekelleys.org.uk/dnsmasq/doc.html
·HostapdWi-Fi 熱點和認證服務器http://hostap.epitest.fi/wpa_supplicant/
·spook-20050207RTSP 服務器http://www.litech.org/spook/
·wireless-tool.29網絡配置 utilitieshttp://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
·wpa_supplicantIEEE 802.11i supplicant http://hostap.epitest.fi/wpa_supplicant/
·ser2net-2.10.0串口轉網絡
·http://ser2net.sourceforge.net/
·boa-0.94.13輕量級web服務器http://www.boa.org/
STA恢復模式!!!!:
可能會發生這樣的情況:我們通過ser2net設備發送HTTP命令,導致STA配置失敗,這樣的話我們需要恢復到出廠AP模式。
下拉GPA5
保持GPA5下拉5秒,開發板將會恢復出廠并重啟!
USB串口連接:
為了方便調試,需要將開發板串口連接到Windows或Linux PC以查看系統信息。 我們可以使用FTDI串口線,接線如下:
·串口線GND連接開發板GND
·串口線RX連接開發板TXD
·串口線TX連接開發板RXD
連接完成后,打開串口工具,例如putty,設置參數波特率115200-8-N-1
這樣你就可以訪問linux終端,輸入一些常用的命令試試吧!
其他有意思的玩法:
開發板可以應用于圖像識別、可視化編程等用途。 下面是介紹:
Processing: Processing是一種基于Java的創意編程語言,可幫助程序員使用創意編碼繪制畫布。該平臺已經很穩定,現在對于視頻應用項目來說非常成熟:
Resources:
https://processing.org/
Procesing + OpenCV library:https://github.com/atduskgreg/opencv-processing
Processing + gstreamer implementation for video processing:https://github.com/processing/processing-video/wiki
OpenFrameworks:openFrameworks是一個開源的C++工具包,可以通過提供一個簡單的實驗性框架來協助創作
Openframeworks and Gstreamer:https://github.com/arturoc/ofxGStreamer
Openframworks rtsp stream handling (MacOS example):http://blog.geoffdonaldson.com/2013/02/14/using-the-gstreamer-sdk-in-openframeworks-under-osx-10-8-mountain-lion/
硬件
PCB 和原理圖
https://github.com/RAKWireless/WisCam/blob/master/Files/WisCam_1V2_SCH%26PCB_2017.07.06.zip
源代碼
WisCam git
開發板Linux固件和其他程序
https://github.com/RAKWireless/WisCam
Nuwicam
Nuwicam例程 可以運行在WisCam上
https://github.com/OpenNuvoton/NuMaker_NuWicam_Samples
-
wiscam
+關注
關注
0文章
3瀏覽量
5418 -
瑞科慧聯
+關注
關注
0文章
12瀏覽量
7596
發布評論請先 登錄
相關推薦
評論