Radxa Zero 3w w/ OpenIPC v1.7.0
This is a prebuilt image for the Radxa Zero 3w to stream OpenIPC video.
V1.7.0 Release Notes:
-
Locations have changed with this release -- everything is now located on a separate FAT32 partition mounted to
/config
on boot. This enables the user to make settings changes outside of booting the image. e.g. Plug the SD card into a windows PC and a drive will display named config. Inside is a folder namedscripts
containing the settings files. -
DVR recording location has also changed. It is now saved to
/media
. It can of course still be accessed via a web browser located atx.x.x.x:8080
-- replacex.x.x.x
with your groundstation's local ip address. -
This image assumes the user is using MSP OSD and the PixelPilot osd has been disabled by default. While MSP OSD is recommended, the old mavlink osd can be re-enabled by changing the perimeters passed to the launch of PixelPilot in the stream.sh script.
This image uses the PixelPilot project rather than pure gstreamer to display the video.
On first boot, the stream will not start to give the user the ability to set up the system. Please perform the following steps.
-
Step 1 - Flash the image to either your onboard emmc or a micro SD card.
-
Step 2 - Connect a screen and a wired keyboard to your radxa (you may need a usb-a to usb-c adapter or hub) and boot the system.
-
Step 3 - The system should boot to a CLI. Login as either
radxa/radxa
orroot/root
(I personally use the radxa user but some prefer using the root account. EVERYTHING IS LOCATED AT/config
) -
Step 4 - Change to the
/config/scripts
directory by runningcd /config/scripts
and run./resizefs.sh
to repartition and resize your filesystem. Ignore the red warning text and let the script finish. -
Step 5 - Use the onboard wifi to connect to your home network: (note - if you are running your fpv system on the 5.8ghz channels, it would be ideal to connect the onboard wifi to a 2.4ghz network to avoid any possible interference.)
Method 1: Enter
nmtui
, go down toActivate a connection
and activate one of the detected wifi networks.Method 2: While in the scripts folder, run the wifi-connect.sh. Instructions below.
To check your connection after, run
nmcli
and your wlan0 connection should be green. Make a note of your ip address. We will need this to ssh into the system later. -
Step 6 - Set your desired screen resolution and refresh rate in the
screen-mode
file.sudo nano /config/scripts/screen-mode
and change to your desired specifications. Format isWxH@fps
-- Common values would be 1920x1080@60, 1920x1080@120. 1280x720@60, 1280x720@120 -
Step 7 (optional) - Set your WFB-ng channel in
/etc/wifibroadcast.cfg
and transfer yourgs.key
to/etc
(A standard gs.key and drone.key are now provided) -
Step 8 - Shutdown the system, disconnect the keyboard, and connect your wifi card. Boot the system and SSH from a separate computer.
-
Step 9 - Test the system. Run
wfb-cli gs
and plug in your camera. Make sure you are properly getting video and telemetry packets. HitCTRL-C
to exit the wfb-cli. Runsudo systemctl start openipc.service
and the display connected to the radxa should change to your video feed. Press your DVR button. The stream should stop (the screen will go black for a second) and a new stream being recorded should start. Press the dvr button again to stop the saving stream and go back to the display stream. (Again, the stream should go black for a second. If it doesn't, press the button again) Confirm there is a .mp4 video file in/media
by going tox.x.x.x:8080
in a browser, replacingx.x.x.x
with your radxa's ip address. . Runsudo systemctl stop openipc.service
to stop testing. -
Step 10 - Last and final step. Once you have confirmed the system is working and you have set your desired settings, run
sudo systemctl enable openipc.service
to have the stream begin on boot.
How to flash the image to your onboard emmc
On first boot, connect a keyboard and login is root/root (user/password is radxa/radxa)
Run ./resizefs.sh
to repartition and resize your filesystem. Ignore all the red text and let the script finish.
Run wfb_keygen
(located in your path) and transfer the keys. Run sudo cp gs.key /etc
to transfer your gs.key to the groundstation's /etc directory. To transfer the drone.key file, connect your camera and radxa to your home network, then run scp drone.key [email protected]:/etc
and replace x.x.x.x with your camera's local ip address. (You will need to set up your network accordingly.)
Stock settings will set the display to 1920x1080@60fps. You will want to change this behavior in the screen-mode
file in the scripts folder found in your home directory. -- sudo nano /config/screen-mode
e.g. for HDZ goggles -- change to 1280x720@100
The recommended way of connecting to your home network with the onboard wifi is to use the nmtui
command. Enter nmtui
, go down to Activate a connection
and activate one of the detected wifi networks.
You can use the handy wifi-connect.sh script found in the scripts folder. Run the script with your home network name and password as follows: ./wifi-connect.sh NetworkName NetworkPassword
. Replace NetworkName and NetworkPassword with your home network credentials.
You can also manually setup the onboard wifi for SSH connectivity. (udev rules and networkmanager are already configured in this image, you only need to execute the nmcli commands)
This image includes DVR functionality; It requires a push button to be installed to the gpio header between physical pins 25 and 27 like so:
To record DVR, push the button once. The preview stream will end and the the recording stream will start; DVR will begin recording. When finished, push the button once to stop the recording and save the file. The recording stream will end and the preview stream will return.
DVR is saved to the media folder in your root directory. DVR can be accessed either at /media
or via a media server. Connect your groundstation to your home network and it can be accessed via a web browser at x.x.x.x:8080
-- replace x.x.x.x
with your groundstation's local ip address.