Difference between revisions of "Debian Jessie"
(→Connect to DVP Camera CAM500B) |
(→Only Support H3 Platform) |
||
Line 220: | Line 220: | ||
==Only Support H3 Platform== | ==Only Support H3 Platform== | ||
+ | ===Connect to DVP Camera CAM500B=== | ||
+ | Note: this function is only supported in Linux-3.4.y<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> | ||
+ | [[File:NanoPi-M1-cam500a.jpg|frameless|500px|NanoPi-M1-cam500a]] <br> | ||
+ | Follow the hardware setup presented in the above picture to 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": | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ cd /root/mjpg-streamer | ||
+ | $ make | ||
+ | $ ./start.sh | ||
+ | </syntaxhighlight> | ||
+ | The mjpg-streamer application is an open source video steam server. After it is successfully started the following messages will be popped up: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 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|600px|mjpg-streamer-cam500a]] <br> | ||
+ | The mjpg-streamer soft-encodes data with libjpeg and you can hard-encode its data with ffmpeg which will greatly increase CPU's efficiency and speed up data encoding: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ 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 | ||
+ | </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. | ||
+ | |||
===Check CPU's Working Temperature=== | ===Check CPU's Working Temperature=== | ||
You can use the following command to read H3's temperature and frequency | You can use the following command to read H3's temperature and frequency |
Revision as of 07:19, 21 December 2017
1 Download debian image file
1.1 S5P4418 Boards
Get the following files from:download link,Image filename:
s5p4418-debian-sd8g-20171017.img.zip | Debian8-Desktop |
1.2 S5P6818 Boards
Get the following files from:download link,Image filename:
s5p6818-debian-sd8g-20171102.img.zip | Debian8-Desktop |
2 Working with Debian
2.1 Ethernet Connection
- If the board is connected to a network via Ethernet before it is powered on, it will automatically obtain an IP after it is powered up.
2.2 Wireless Connection
Under Debian you can manage your network with NetworkManager.
After Debian boots click on the network icon on the bottom right of the task bar a NetworkManger menu will pop up and all the available networks will be listed. If there is an active wireless network you will see something similar to the following screenshot:
You can click on a WiFI AP and connect your board to it.
For more details refer to:NetworkManager.
2.3 Setup Wi-Fi AP
Follow the steps below. Since our OS image by default already has the NetworkManager utility you will be prompted to uninstall it first:
sudo turn-wifi-into-apmode yes
After you uninstall the NetworkManager reboot your board.
After your board is rebooted run the above commands again and you will be prompted to type in a WIFI's name and password. Type in your wanted name and password
If this is successful you will be able to find and connect your board to a WIFI. Login to your board at 192.168.8.1:
ssh root@192.168.8.1
Type in a password. In our system the password is "fa".
To login smoothly via SSH we recommend you turning off WIFI's power save mode by running the following commands:
sudo iwconfig wlan0 power off
You can check your WiFi's mode by running the following command:
sudo cat /sys/module/bcmdhd/parameters/op_mode
Number 2 means your WiFi is in AP mode. You can switch to the Station mode by running the following command:
sudo turn-wifi-into-apmode no
2.4 Bluetooth
Here are the steps to transfer a file from T2 to a mobile phone. Run the following command to search a surrounding Bluetooth device:
hcitool scan
In our example a mobile phone was detected and the following messages were listed:
Scanning ...
38:BC:1A:B1:7E:DD MEIZU MX4
These messages indicated that a MEIZU MX4 mobile phone was detected. We then checked the Bluetooth services this phone supported with its MAC address presented in front of its device name
sdptool browse 38:BC:1A:B1:7E:DD
Note: you need to use your device's name and its MAC address when you run these commands.
The command listed all the services the phone supported. We needed the "OBEX Object Push" service which is for file transfers.
Service Name: OBEX Object Push
Service RecHandle: 0x1000b
Service Class ID List:
"OBEX Object Push" (0x1105)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 25
"OBEX" (0x0008)
Profile Descriptor List:
"OBEX Object Push" (0x1105)
Version: 0x0100
From the above messages we could get the channel number 25 for the "OBEX Object Push" service. We input this number to the "ussp-push" by running the following command:
ussp-push 38:BC:1A:B1:7E:DD@25 example.jpg example.jpg
Note: you need to use your device's name, its MAC address and channel number when you run these commands.
Usually after the above commands are run a popup window will show on the phone that communicates with T2 and you can start file transfers.
Common Issues:
1) If T2 cannot find a Bluetooth device you can try this command to restart its Bluetooth:
rfkill unblock 0
2) If any of these commands is not installed you can try this command to install it:
apt-get install bluetooth bluez obexftp openobex-apps python-gobject ussp-push
2.5 Install Debian Packages
We provide a Debian Jessie image. You can install Jessie's packages by commanding "apt-get". If this is your first installation you need to update the package list by running the following command
apt-get update
You can install your preferred packages. For example if you want to install an FTP server you can do this:
apt-get install vsftpd
Note: you can change your download server by editting "/etc/apt/sources.list". You can get a complete server list from [1]. You need to select the one with "armhf".
2.6 Audio Output from HDMI or 3.5mm Jack under Debian
Our default Debian image doesn't support audio output. If you want to enable this function you need to install the alsa package.
- Make sure your Debian OS is our latest version and your board has access to the internet;
- Power up your board and run the following commands on your board's commandline utility to install the alsa package:
apt-get update apt-get install libasound2 apt-get install alsa-base apt-get install alsa-utils
- After the installation is done copy a ".wav" audio file to your board, connect your board to a earphone or speaker and try playing this audio file(By default Debian's audio output is from the 3.5mm audio jack):
aplay music.wav
- By default Debian's audio output is from the 3.5mm audio jack. If you want audio output from the HDMI you need to change the setting by editing the "/etc/asound.conf" file:
pcm.!default { type hw card 1 device 0} ctl.!default { type hw card 1}
card 0 stands for the 3.5mm audio jack and card 1 stands for the HDMI audio. After you make your change reboot your board to make it effective.
2.7 Login via VNC and SSH
If your board is not connected to a display device you can login to your board from a mobile phone. You need to download and install a "VNC Viewer" from here on a mobile phone and login to the board via VNC at port 1. Its default password is "fa123456".
Here is a screenshot which shows how it looks like when users login to the board from an iPhone via VNC:
In our case our board's IP address is 192.168.1.230. You can login via SSH by running the following commands:
$ ssh root@192.168.1.230
The password is fa.
2.8 Test USB WiFi
Our OS system has support for popular USB WiFi drivers. Many USB WiFi modules are plug and play with our system. Here is a list of models we tested;
Number Model 1 RTL8188CUS 802.11n WLAN Adapter 2 RT2070 Wireless Adapter 3 RT2870/RT3070 Wireless Adapter 4 RTL8192CU Wireless Adapter 5 mi WiFi mt7601
- Check device list
$ nmcli dev DEVICE TYPE STATE CONNECTION eth0 ethernet connected Wired connection 1 wlan0 wifi disconnected -- lo loopback unmanaged --
Note: if the status of a device is "unmanaged" it means that device cannot be accessed by NetworkManager. To make is accessed you need to clear the settings under "/etc/network/interfaces" and reboot your system.
- Start WiFi
$ nmcli r wifi on
- Scan Surrounding WiFi Sources
$ nmcli dev wifi
- Connect to a WiFi Source
$ nmcli dev wifi connect "SSID" password "PASSWORD"
The "SSID" and "PASSWORD" need to be replaced with your actual SSID and password.
If a connection succeeds it will be automatically setup on next system reboot.
For more details about NetworkManager refer to this link:Use NetworkManager to configure network settings
2.9 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
2.10 Use OpenCV to Access Camera
- The full name of "OpenCV" is Open Source Computer Vision Library and it is a cross platform vision library.
- Make sure your board is connected to the internet and an HDMI monitor, Boot Debian and login.
- Install OpenCV libraries:
$ apt-get update $ apt-get install libcv-dev libopencv-dev
- Refer to the instructions in the previous sections to make sure the camera works
- Compile and run a code sample(Official Code Sample in C++ provided by the OpenCV organization):
$ cd /home/fa/Documents/opencv-demo $ make $ ./demo
Here is what you expect to observe:
3 Only Support H3 Platform
3.1 Connect to DVP Camera CAM500B
Note: this function is only supported in Linux-3.4.y
The CAM500B camera module is a 5M-pixel camera with DVP interface. For more tech details about it you can refer to Matrix - CAM500B.
Follow the hardware setup presented in the above picture to 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:
The mjpg-streamer soft-encodes data with libjpeg and you can hard-encode its data with ffmpeg which will greatly increase CPU's efficiency and speed up data encoding:
$ 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.
3.2 Check CPU's Working Temperature
You can use the following command to read H3's temperature and frequency
cpu_freq
3.3 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.
3.4 Test GPU
Note: this function is only supported in Allwinner Linux-3.4.y.
After OS loads please login from a terminal and run the following command:
glmark2-es2
3.5 Test VPU
Note: this function is only supported in Allwinner Linux-3.4.y
Visit this link download link to download files
After OS is loaded login from a terminal and run the following commands:
$ sudo apt-get install mpv $ video_play mpv ./big_buck_bunny_1080p_H264_AAC_25fps_7200K.MP4
In our test it could do hard coding and play 1080P video fluently.