Difference between revisions of "Template:FriendlyCoreAllwinnerH3"
(updated by API) |
(updated by API) |
||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Connect to DVP Camera CAM500B=== | ===Connect to DVP Camera CAM500B=== | ||
− | |||
The CAM500B camera module is a 5M-pixel camera with DVP interface. For more tech details about it you can refer to [[Matrix - CAM500B]].<br> | The CAM500B camera module is a 5M-pixel camera with DVP interface. For more tech details about it you can refer to [[Matrix - CAM500B]].<br> | ||
connect your H3 board to a CAM500B. Then boot OS, connect your board to a network, log into the board as root and run "mjpg-streamer": | connect your H3 board to a CAM500B. Then boot OS, connect your board to a network, log into the board as root and run "mjpg-streamer": | ||
Line 31: | Line 22: | ||
In our case the board's IP address was 192.168.1.230. We typed 192.168.1.230:8080 in a browser and were able to view the images taken from the camera's. Here is what you would expect to observe:<br> | In our case the board's IP address was 192.168.1.230. We typed 192.168.1.230:8080 in a browser and were able to view the images taken from the camera's. Here is what you would expect to observe:<br> | ||
[[File:mjpg-streamer-cam500a.png|frameless|400px|mjpg-streamer-cam500a]] <br> | [[File:mjpg-streamer-cam500a.png|frameless|400px|mjpg-streamer-cam500a]] <br> | ||
− | + | mjpg-streamer是用libjpeg对摄像头数据进行软编码,Linux-4.x内核的ROM目前并不支持视频硬编码, 但是如果使用Linux-3.x内核的ROM的话, 则可以使用ffmpeg对摄像头数据进行硬编码,这样能大大降低CPU的占用率并提高编码速度: | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ ffmpeg -t 30 -f v4l2 -channel 0 -video_size 1280x720 -i /dev/video0 -pix_fmt nv12 -r 30 \ | $ ffmpeg -t 30 -f v4l2 -channel 0 -video_size 1280x720 -i /dev/video0 -pix_fmt nv12 -r 30 \ | ||
Line 37: | Line 28: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
By default it records a 30-second video. Typing "q" stops video recording. After recording is stopped a test.mp4 file will be generated. | By default it records a 30-second video. Typing "q" stops video recording. After recording is stopped a test.mp4 file will be generated. | ||
+ | |||
+ | ===Connect to USB Camera(FA-CAM202)=== | ||
+ | The FA-CAM202 is a 200M USB camera.<br> | ||
+ | Refer to this link for more details on how to connect to a FA-CAM202: | ||
+ | [[NanoPi_M1#Connect_NanoPi_M1_to_DVP_Camera_CAM500B|Connect NanoPi M1 to DVP Camera CAM500B]] <br> | ||
===Check CPU's Working Temperature=== | ===Check CPU's Working Temperature=== | ||
Line 57: | Line 53: | ||
The wiringPi library was initially developed by Gordon Henderson in C. It contains libraries to access GPIO, I2C, SPI, UART, PWM and etc. The wiringPi library contains various libraries, header files and a commandline utility:gpio. The gpio utility can be used to read and write GPIO pins.<br> | The wiringPi library was initially developed by Gordon Henderson in C. It contains libraries to access GPIO, I2C, SPI, UART, PWM and etc. The wiringPi library contains various libraries, header files and a commandline utility:gpio. The gpio utility can be used to read and write GPIO pins.<br> | ||
FriendlyElec integrated this utility in FriendlyCore system allowing users to easily access GPIO pins. For more details refer to WiringNP [[WiringNP:_WiringPi_for_NanoPi_NEO/NEO2|WiringNP]]<br /> | FriendlyElec integrated this utility in FriendlyCore system allowing users to easily access GPIO pins. For more details refer to WiringNP [[WiringNP:_WiringPi_for_NanoPi_NEO/NEO2|WiringNP]]<br /> | ||
+ | |||
+ | ===Run Qt Demo=== | ||
+ | Run the following command<br /> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ sudo /opt/QtE-Demo/run.sh | ||
+ | </syntaxhighlight> | ||
+ | Here is what you expect to observe. This is an [https://github.com/friendlyarm/QtE-Demo open source Qt Demo]:<br /> | ||
+ | [[File:K2-QtE.png|frameless|400px|K2-QtE]]<br /> |
Revision as of 08:08, 28 March 2018
Contents
1 Connect to DVP Camera CAM500B
The CAM500B camera module is a 5M-pixel camera with DVP interface. For more tech details about it you can refer to Matrix - CAM500B.
connect your H3 board to a CAM500B. Then boot OS, connect your board to a network, log into the board as root and run "mjpg-streamer":
$ cd /root/mjpg-streamer $ make $ ./start.sh
The mjpg-streamer application is an open source video steam server. After it is successfully started the following messages will be popped up:
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
In our case the board's IP address was 192.168.1.230. We typed 192.168.1.230:8080 in a browser and were able to view the images taken from the camera's. Here is what you would expect to observe:
mjpg-streamer是用libjpeg对摄像头数据进行软编码,Linux-4.x内核的ROM目前并不支持视频硬编码, 但是如果使用Linux-3.x内核的ROM的话, 则可以使用ffmpeg对摄像头数据进行硬编码,这样能大大降低CPU的占用率并提高编码速度:
$ ffmpeg -t 30 -f v4l2 -channel 0 -video_size 1280x720 -i /dev/video0 -pix_fmt nv12 -r 30 \ -b:v 64k -c:v cedrus264 test.mp4
By default it records a 30-second video. Typing "q" stops video recording. After recording is stopped a test.mp4 file will be generated.
2 Connect to USB Camera(FA-CAM202)
The FA-CAM202 is a 200M USB camera.
Refer to this link for more details on how to connect to a FA-CAM202:
Connect NanoPi M1 to DVP Camera CAM500B
3 Check CPU's Working Temperature
You can use the following command to read H3's temperature and frequency
cpu_freq
4 Check System Information with Rpi-Monitor
Our OS contains the Rpi-Monitor utility with which users can check system information and status.
In our case our board's IP was 192.168.1.230 and we typed the following IP in a browser:
192.168.1.230:8888
We were directed to the following page:
Users can easily check these system information and status.
5 Access GPIO Pins/Wirings with WiringNP
The wiringPi library was initially developed by Gordon Henderson in C. It contains libraries to access GPIO, I2C, SPI, UART, PWM and etc. The wiringPi library contains various libraries, header files and a commandline utility:gpio. The gpio utility can be used to read and write GPIO pins.
FriendlyElec integrated this utility in FriendlyCore system allowing users to easily access GPIO pins. For more details refer to WiringNP WiringNP
6 Run Qt Demo
Run the following command
$ sudo /opt/QtE-Demo/run.sh
Here is what you expect to observe. This is an open source Qt Demo: