Difference between revisions of "Template:FriendlyCoreAllwinnerH3/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(连接USB摄像头模块(FA-CAM202))
(updated by API)
 
(45 intermediate revisions by 3 users not shown)
Line 9: Line 9:
 
===连接DVP摄像头模块(CAM500B)===
 
===连接DVP摄像头模块(CAM500B)===
 
{{FriendlyCoreAllwinner-DVPCam/zh|NanoPi-NEO-Air}}
 
{{FriendlyCoreAllwinner-DVPCam/zh|NanoPi-NEO-Air}}
 +
| NanoPi-Duo2 = 
 +
===连接DVP摄像头模块(OV5640)===
 +
{{FriendlyCoreAllwinner-DVPCam/zh|NanoPi-Duo2}}
 
}}
 
}}
 
 
===连接USB摄像头模块(FA-CAM202)===
 
===连接USB摄像头模块(FA-CAM202)===
FA-CAM202是一款200万像素的USB摄像头模块, 连接测试USB摄像头的方法请参考 <[http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_CAM500B/zh 连接DVP摄像头模块(CAM500B)> 章节]。<br>
+
FA-CAM202是一款200万像素的USB摄像头模块,连接开发板和摄像头,然后上电启动系统,连接网络,以root用户登录终端并编译运行mjpg-streamer:
请自行修改start.sh, 确保使用正确的/dev/videoX节点, 下列命令可以用来确定FA-CAM202摄像头的video节点:
+
<syntaxhighlight lang="bash">
 +
$ cd /root/C/mjpg-streamer
 +
$ make
 +
$ ./start.sh
 +
</syntaxhighlight>
 +
请自行修改start.sh, 确保使用正确的/dev/videoX节点, 下列命令可以用来确定摄像头的video节点:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
$ apt-get install v4l-utils
 
$ apt-get install v4l-utils
$ v4l2-ctl -d /dev/video1 -D
+
$ v4l2-ctl -d /dev/video0 -D
 +
# fa-cam202有2个型号
 
Driver Info (not using libv4l2):
 
Driver Info (not using libv4l2):
 
         Driver name  : uvcvideo
 
         Driver name  : uvcvideo
         Card type    : HC 3358+2100: HC 3358+2100
+
         Card type    : HC 3358+2100: HC 3358+2100 / USB 2.0 Camera: USB 2.0 Camera
 
         Bus info      : usb-1c1b000.usb-1
 
         Bus info      : usb-1c1b000.usb-1
 
...
 
...
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
上述信息表示/dev/video0是摄像头的设备节点。mjpg-streamer是一个开源的网络视频流服务器,在板子上成功运行mjpg-streamer后会打印下列信息:
===命令行查看CPU工作温度===
+
在串口终端执行如下命令,可以快速地获取CPU的当前温度和运行频率等信息:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ cpu_freq
+
$ ./start.sh
CPU0 online=1 temp=26581 governor=ondemand cur_freq=480000
+
i: Using V4L2 device.: /dev/video0
CPU1 online=1 temp=26581 governor=ondemand cur_freq=480000
+
i: Desired Resolution: 1280 x 720
CPU2 online=1 temp=26581 governor=ondemand cur_freq=480000
+
i: Frames Per Second.: 30
CPU3 online=1 temp=26581 governor=ondemand cur_freq=480000
+
i: Format............: YUV
 +
i: JPEG Quality......: 90
 +
o: www-folder-path...: ./www/
 +
o: HTTP TCP port.....: 8080
 +
o: username:password.: disabled
 +
o: commands..........: enabled
 
</syntaxhighlight>
 
</syntaxhighlight>
上述信息表示当前有4个CPU核心在线, 温度均约为26.5摄氏度, 运行的策略均为根据需求来决定运行频率, 当前的运行频率均为480MHz。
+
start.sh脚本里执行了下列2个命令:
 +
<syntaxhighlight lang="bash">
 +
export LD_LIBRARY_PATH="$(pwd)"
 +
./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -y 1 -r 1280x720 -f 30 -q 90 -n -fb 0" -o "./output_http.so -w ./www"
 +
</syntaxhighlight>
 +
mjpg_streamer相关参数的含义如下:<br>
 +
-i: 选择输入插件,input_uvc.so表示从摄像头采集数据;<br>
 +
-o: 选择输出插件,output_http.so表示使用http协议传输数据;<br>
 +
-d: 输入插件的子参数,指定摄像头设备节点;<br>
 +
-y: 输入插件的子参数,指定摄像头采集数据的格式,1:yuyv, 2:yvyu, 3:uyvy 4:vyuy,如果不使用-y参数,则表示采集MJPEG格式;<br>
 +
-r: 输入插件的子参数,指定摄像头采集分辨率;<br>
 +
-f: 输入插件的子参数,指定想使用的摄像头采集fps,具体是否支持依赖于驱动;<br>
 +
-q: 输入插件的子参数,指定libjpeg软编码的图像质量;<br>
 +
-n: 输入插件的子参数, 禁止dynctrls功能;<br>
 +
-fb: 输入插件的子参数, 指定是否在/dev/fbX上显示采集的图像;<br>
 +
-w: 输出插件的子参数, 指定包含网页的目录;<br><br>
 +
成功运行start.sh脚本后,假设开发板的IP地址为192.168.1.230,在PC的浏览器中输入 192.168.1.230:8080 就能浏览摄像头采集的画面了,效果如下:<br>
 +
[[File:mjpg-streamer-cam500a.png|frameless|400px|mjpg-streamer-cam500a]] <br>
 +
 
 +
===查看CPU温度和频率===
 +
命令行查看:
 +
<syntaxhighlight lang="text">
 +
$ cpu_freq
 +
Aavailable frequency(KHz):
 +
        480000 624000 816000 1008000
 +
Current frequency(KHz):
 +
        CPU0 online=1 temp=26548C governor=ondemand freq=624000KHz
 +
        CPU1 online=1 temp=26548C governor=ondemand freq=624000KHz
 +
        CPU2 online=1 temp=26548C governor=ondemand freq=624000KHz
 +
        CPU3 online=1 temp=26548C governor=ondemand freq=624000KHz
 +
</syntaxhighlight>
 +
上述信息表示当前有4个CPU核在线, 温度均约为26.5摄氏度, 运行的策略均为根据需求来决定运行频率, 当前的运行频率均为624MHz,设置频率的命令如下:
 +
<syntaxhighlight lang="text">
 +
$ cpu_freq -s 1008000
 +
Aavailable frequency(KHz):
 +
        480000 624000 816000 1008000
 +
Current frequency(KHz):
 +
        CPU0 online=1 temp=36702C governor=userspace freq=1008000KHz
 +
        CPU1 online=1 temp=36702C governor=userspace freq=1008000KHz
 +
        CPU2 online=1 temp=36702C governor=userspace freq=1008000KHz
 +
        CPU3 online=1 temp=36702C governor=userspace freq=1008000KHz
 +
</syntaxhighlight>
 +
上述命令将4个CPU核的频率设置为1008MHz。<br>
 
<!--
 
<!--
 
===通过Rpi-Monitor查看系统状态===
 
===通过Rpi-Monitor查看系统状态===
Line 46: Line 99:
 
-->
 
-->
  
===测试看门狗===
+
{{#switch: {{{1}}}
使用下列命令可以测试看门狗功能:
+
| NanoPi-M1 =  
<syntaxhighlight lang="bash">
+
| NanoPi-M1-Plus =
$ cd /root/demo/watchdog/
+
$ gcc watchdog_demo.c -o watchdog_demo
+
$ ./watchdog_demo /dev/watchdog0 10
+
Set timeout: 10 seconds
+
Get timeout: 10 seconds
+
System will reboot in 10 second
+
</syntaxhighlight>
+
系统将在10秒之后重启。
+
 
+
 
===测试红外接收===
 
===测试红外接收===
 
{{Linux-IR-Receiver/zh}}
 
{{Linux-IR-Receiver/zh}}
 +
}}
  
===通过WiringNP测试GPIO===
+
{{#switch: {{{1}}}
wiringPi库最早是由Gordon Henderson所编写并维护的一个用C语言写成的类库,除了GPIO库,还包括了I2C库、SPI库、UART库和软件PWM库等,由于wiringPi的API函数和arduino非常相似,这也使得它广受欢迎。
+
| NanoPi-R1
wiringPi库除了提供wiringPi类库及其头文件外,还提供了一个命令行工具gpio:可以用来设置和读写GPIO管脚,以方便在Shell脚本中控制GPIO管脚。<br>
+
| NanoPi-R1S-H3
我们在FriendlyCore系统中支持了这个工具以便客户测试GPIO管脚。详细信息请参看 [[WiringNP:_WiringPi_for_NanoPi_NEO/NEO2|WiringNP]]<br />
+
| NanoPi-R1S-H5
 
+
| NanoPi-Duo2
 +
| ZeroPi =
 +
<!-- do nothing -->
 +
| #default =
 
===运行Qt示例程序===
 
===运行Qt示例程序===
 
执行以下命令:<br />
 
执行以下命令:<br />
Line 73: Line 121:
 
运行结果如下,这是一个[https://github.com/friendlyarm/QtE-Demo 开源的QtDemo]:<br />
 
运行结果如下,这是一个[https://github.com/friendlyarm/QtE-Demo 开源的QtDemo]:<br />
 
[[File:K2-QtE.png|frameless|400px|K2-QtE]]<br />
 
[[File:K2-QtE.png|frameless|400px|K2-QtE]]<br />
 +
}}
 +
{{UbuntuXenial-Armhf-Install-Docker/zh}}
 +
 +
{{#switch: {{{1}}}
 +
| NanoPi-R1 =
 +
===使用RTC===
 +
NanoPi-R1提供了RTC电池接口,使用系统的RTC功能需要连接CR2032带线RTC纽扣电池给板子的RTC电路供电,电池连接如下图所示:<br />
 +
[[File:NanoPi R1-RTC-BAT.png|frameless|350px|]]<br />
 +
[http://wiki.friendlyelec.com/wiki/images/c/c5/1.25mm-2A.pdf RTC电池座尺寸规格书]
 +
***待完善****
 +
}}

Latest revision as of 06:33, 4 July 2022

1 连接USB摄像头模块(FA-CAM202)

FA-CAM202是一款200万像素的USB摄像头模块,连接开发板和摄像头,然后上电启动系统,连接网络,以root用户登录终端并编译运行mjpg-streamer:

$ cd /root/C/mjpg-streamer
$ make
$ ./start.sh

请自行修改start.sh, 确保使用正确的/dev/videoX节点, 下列命令可以用来确定摄像头的video节点:

$ apt-get install v4l-utils
$ v4l2-ctl -d /dev/video0 -D
# fa-cam202有2个型号
Driver Info (not using libv4l2):
        Driver name   : uvcvideo
        Card type     : HC 3358+2100: HC 3358+2100  / USB 2.0 Camera: USB 2.0 Camera
        Bus info      : usb-1c1b000.usb-1
	...

上述信息表示/dev/video0是摄像头的设备节点。mjpg-streamer是一个开源的网络视频流服务器,在板子上成功运行mjpg-streamer后会打印下列信息:

$ ./start.sh 
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 1280 x 720
 i: Frames Per Second.: 30
 i: Format............: YUV
 i: JPEG Quality......: 90
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled

start.sh脚本里执行了下列2个命令:

export LD_LIBRARY_PATH="$(pwd)"
./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -y 1 -r 1280x720 -f 30 -q 90 -n -fb 0" -o "./output_http.so -w ./www"

mjpg_streamer相关参数的含义如下:
-i: 选择输入插件,input_uvc.so表示从摄像头采集数据;
-o: 选择输出插件,output_http.so表示使用http协议传输数据;
-d: 输入插件的子参数,指定摄像头设备节点;
-y: 输入插件的子参数,指定摄像头采集数据的格式,1:yuyv, 2:yvyu, 3:uyvy 4:vyuy,如果不使用-y参数,则表示采集MJPEG格式;
-r: 输入插件的子参数,指定摄像头采集分辨率;
-f: 输入插件的子参数,指定想使用的摄像头采集fps,具体是否支持依赖于驱动;
-q: 输入插件的子参数,指定libjpeg软编码的图像质量;
-n: 输入插件的子参数, 禁止dynctrls功能;
-fb: 输入插件的子参数, 指定是否在/dev/fbX上显示采集的图像;
-w: 输出插件的子参数, 指定包含网页的目录;

成功运行start.sh脚本后,假设开发板的IP地址为192.168.1.230,在PC的浏览器中输入 192.168.1.230:8080 就能浏览摄像头采集的画面了,效果如下:
mjpg-streamer-cam500a

2 查看CPU温度和频率

命令行查看:

$ cpu_freq 
Aavailable frequency(KHz):
        480000 624000 816000 1008000
Current frequency(KHz):
        CPU0 online=1 temp=26548C governor=ondemand freq=624000KHz
        CPU1 online=1 temp=26548C governor=ondemand freq=624000KHz
        CPU2 online=1 temp=26548C governor=ondemand freq=624000KHz
        CPU3 online=1 temp=26548C governor=ondemand freq=624000KHz

上述信息表示当前有4个CPU核在线, 温度均约为26.5摄氏度, 运行的策略均为根据需求来决定运行频率, 当前的运行频率均为624MHz,设置频率的命令如下:

$ cpu_freq -s 1008000
Aavailable frequency(KHz):
        480000 624000 816000 1008000
Current frequency(KHz):
        CPU0 online=1 temp=36702C governor=userspace freq=1008000KHz
        CPU1 online=1 temp=36702C governor=userspace freq=1008000KHz
        CPU2 online=1 temp=36702C governor=userspace freq=1008000KHz
        CPU3 online=1 temp=36702C governor=userspace freq=1008000KHz

上述命令将4个CPU核的频率设置为1008MHz。


3 运行Qt示例程序

执行以下命令:

$ sudo /opt/QtE-Demo/run.sh

运行结果如下,这是一个开源的QtDemo:
K2-QtE

4 Docker在armhf系统下的安装与使用

4.1 安装 Docker

执行下列命令:

sudo apt-get update
sudo apt-get install docker.io

4.2 测试 Docker

执行下列命令运行一个简单的docker image:

git clone https://github.com/friendlyarm/debian-jessie-arm-docker
cd debian-jessie-arm-docker
./rebuild-image.sh
./run.sh