WisCAM:一个基于Linux的IP Camera的快速上手

电子说

1.3w人已加入

描述

介绍:本教程将逐步介绍如何使用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或者Nuwicam UVC工具就可以观看视频

· 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来获取视频流,

 

wiscam

选择Media-打开网络串流:将弹出下面对话框

wiscam

在对话框中输入上面提供的RTSP URL并点击播放,将会收到来自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连接参数如下:

wiscam

可以通过下面两个url命令设置STA模式下的 SSID和密码,{}中的是需要你修改的

http://{IP-Address of camera}/cgi-bin/param.cgi?action=update&group=wifi&SSID={wifi name}

http://{IP-Address of camera}/cgi-bin/param.cgi?action=update&group=wifi&AUTH_KEY={wifi

password}

其他重要设置:

如上一节所述,开发板提供视频流,nabto和restart.cgi两个脚本,分别设置摄像头参数和内置的Nabto配置。 我们将在另一个教程中通过Nabto P2P连接到开发板。

wiscam

开发板的Linux相关说明

很有意思的是,该主板上运行的是Linux 2.6内核版本。这是精简版的Linux版本,上面运行了很少的服务和应用程序。所以不要指望像包管理器,GUI这样的应用程序

然而,这在个简单的开发板里面增加了很多关于摄像头相关的配置和处理能力。和其他嵌入式Linux类似,安装了许多重要的服务和程序

· busybox.1.15.2 Linux 工具http://www.busybox.net/about.html

· dnsmasq-2.60 DHCP 服务器 http://www.thekelleys.org.uk/dnsmasq/doc.html

· Hostapd Wi-Fi 热点和认证服务器http://hostap.epitest.fi/wpa_supplicant/

· spook-20050207 RTSP 服务器 http://www.litech.org/spook/

· wireless-tool.29 网络配置 utilities http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html

· wpa_supplicant IEEE 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模式。

wiscam

下拉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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分