Skip to content

Radxa Zero 3w w/ OpenIPC v1.8.0

Compare
Choose a tag to compare
@JohnDGodwin JohnDGodwin released this 09 Oct 01:25
· 8 commits to master since this release
5922895

This is a prebuilt image for the Radxa Zero 3w to stream OpenIPC video.

V1.8.0 Release Notes:

  • Built using rsdk

  • No need to run the resizefs.sh script anymore.

  • Uses the most up-to-date PixelPilot.

  • Contains a full Gstreamer back-end for advanced users.

  • Everything can be configured from the /config directory that will automount on Windows. Enter your credentials for your home wi-fi for ssh and dvr in the config.txt file, set your screen-mode for your connected hdmi screen, and dvr-fps to the fps your camera is shooting. Boot the image, ssh in, test the system, then enable openipc.service.


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 or root/root (I personally use the radxa user but some prefer using the root account. EVERYTHING IS LOCATED AT /config)

  • Step 4 - no longer needed.

  • 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: Edit the config.txt file in /config to contain connect_wi-fi YOUR_WIFI_SSID YOUR_WIFI_PASSWORD

    Method 2: Enter nmtui, go down to Activate a connection and activate one of the detected wifi networks.

    Method 3: 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 is WxH@fps -- Common values would be 1920x1080@60, 1920x1080@120. 1280x720@60, 1280x720@120
    For smooth DVR playback, set the dvr-fps with sudo nano /config/scripts/dvr-fps to the fps at which your camera is shooting. e.g. 60, 90, 120

  • Step 7 (optional) - Set your WFB-ng channel in /etc/wifibroadcast.cfg and transfer your gs.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. Hit CTRL-C to exit the wfb-cli. Run sudo 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 to x.x.x.x:8080 in a browser, replacing x.x.x.x with your radxa's ip address. . Run sudo 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 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:

radxagpio

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.