EZBPi Server

Raspberry Pi
Hardware Platform
Raspberry Pi

This server program turns a Raspberry Pi into an EZ-B. The Raspberry Pi Camera, Digital Ports and UART are just some of the peripherals of the Raspberry Pi that can be controlled by ARC with this server. If you are running ARC on the Pi at the same time, connect to the EZBPi server with address 127.0.0.1.

If the EZBPi server is used, the ARC connection can be remote from an external computer over WiFi (or LAN). Or the ARC connection can be running on the Raspberry Pi by connecting to 127.0.0.1 (localhost). There are limitations to the EZBPi Server, in that PWM servos are not supported, but Bi-Directional UART/Serial servos are (Robotis Dynamixel, LewanSoul, etc.)

You can connect to Raspberry Pi to control the ports and watch the live camera feed from a Windows PC using this program.

Use The Pi as an EZBPi Server

This server program turns a Raspberry Pi into an EZB that robot components can connect to and ARC connects to the server. The Raspberry Pi Camera, Digital Ports, and UART are just some of the peripherals of the Raspberry Pi that can be controlled by ARC with this server. The server turns the Raspberry Pi into an EZB.

With the EZBPi server, the ARC connection will from a remote computer over WiFi (or LAN). There are limitations to the EZBPi Server than other EZBs, in that PWM servos are not supported, but Bi-Directional UART/Serial servos are (Robotis Dynamixel, LewanSoul, etc.)

EZBPi Server Install Instructions

1) Install Mono

Code:


sudo apt install mono-devel



2) Download the EZBPi Server ZIP file from the firmware list above


3) Unzip the archive.

Code:


unzip EZBPi.zip



4) Navigate into the newly created directory

Code:


cd EZBPi



5) Execute the server with sudo and mono. Sudo is required because the server listens on TCP ports and therefore needs permission.

Code:


sudo mono ./EZBPi.exe



6) Connect to the EZBPi server from ARC by entering the IP Address of the Pi in the connection skill.




EZBPi Server UART

The Raspberry Pi has a hardware UART that is connected to GPIO14 (TX) and GPIO15(RX). These are physical pins 8 and 10, respectively. Any ARC skills that use the UART (such as Dynamixel) or Script commands will default to using this port.
User-inserted image




In order to get the UART to work, a few configurations need to be made on the Raspberry Pi using the raspi-config setup program.

From command-line, type: sudo raspi-config
- Select the Interfaces menu option
- Select the Serial menu option
- Answer NO to the question about login shell
- Answer YES to the question about serial hardware port
- Save and exit the raspi-config menu
- Reboot




EZBPi Server Command-Line Arguments

The EZBPi server accepts command-line arguments for configuration values. With these command-line arguments, the default TCP ports for the EZB and Camera can be changed. Also, the verbose logging can be changed. To view the list of available arguments, enter...

Code:


sudo mono EZBPi.exe -h


About this version
Fix for turning off and reading GPIO pins
Supported Capabilities
  • Broadcasts to ARC's PnP network scanner
    Controller broadcasts itself on the network using the ARC PnP network scanner protocol. This is so ARC can find devices on the network which may have dhcp assigned addresses.
  • Can stream video v4 codec
    The controller supports the streaming Video v4 codec on a TCP or UART or USB connection.
  • Hardware UART TX/RX with DMA buffer and adjustable baud rate
    Contains 1 or more hardware UARTs with TX/RX functionality and DMA RX buffering.
  • Native WiFi Connectivity from ARC
    Controller supports WiFi connectivity using TCP between your computer with ARC.
  • Read/Write Digital I/O Ports
    The ports marked as being digital will respond to Read and Write commands of boolean logic. The status of the digital port will be either TRUE or FALSE when voltage is detected or not, respectively.
  • Reports CPU temperature
    Reports CPU temperature

About this version
Fix for slower devices (i.e. Zero) where UDP broadcast for EZB broadcaster may still be running on next timer event.
Click to show supported capabilities
Supported Capabilities
  • Broadcasts to ARC's PnP network scanner
    Controller broadcasts itself on the network using the ARC PnP network scanner protocol. This is so ARC can find devices on the network which may have dhcp assigned addresses.
  • Can stream video v4 codec
    The controller supports the streaming Video v4 codec on a TCP or UART or USB connection.
  • Hardware UART TX/RX with DMA buffer and adjustable baud rate
    Contains 1 or more hardware UARTs with TX/RX functionality and DMA RX buffering.
  • Native WiFi Connectivity from ARC
    Controller supports WiFi connectivity using TCP between your computer with ARC.
  • Read/Write Digital I/O Ports
    The ports marked as being digital will respond to Read and Write commands of boolean logic. The status of the digital port will be either TRUE or FALSE when voltage is detected or not, respectively.
  • Reports CPU temperature
    Reports CPU temperature

About this version
Fix for UDP Broadcast (Access Denied message)
Click to show supported capabilities
Supported Capabilities
  • Broadcasts to ARC's PnP network scanner
    Controller broadcasts itself on the network using the ARC PnP network scanner protocol. This is so ARC can find devices on the network which may have dhcp assigned addresses.
  • Can stream video v4 codec
    The controller supports the streaming Video v4 codec on a TCP or UART or USB connection.
  • Hardware UART TX/RX with DMA buffer and adjustable baud rate
    Contains 1 or more hardware UARTs with TX/RX functionality and DMA RX buffering.
  • Native WiFi Connectivity from ARC
    Controller supports WiFi connectivity using TCP between your computer with ARC.
  • Read/Write Digital I/O Ports
    The ports marked as being digital will respond to Read and Write commands of boolean logic. The status of the digital port will be either TRUE or FALSE when voltage is detected or not, respectively.
  • Reports CPU temperature
    Reports CPU temperature

About this version
What's New
 - Improved camera feed performance

Known Issues
 - Server program crashes occasionally when the feed is disconnected from camera control in EZ-Builder
Click to show supported capabilities
Supported Capabilities
  • Can stream video v4 codec
    The controller supports the streaming Video v4 codec on a TCP or UART or USB connection.
  • Hardware UART TX/RX with DMA buffer and adjustable baud rate
    Contains 1 or more hardware UARTs with TX/RX functionality and DMA RX buffering.
  • Native WiFi Connectivity from ARC
    Controller supports WiFi connectivity using TCP between your computer with ARC.
  • Read/Write Digital I/O Ports
    The ports marked as being digital will respond to Read and Write commands of boolean logic. The status of the digital port will be either TRUE or FALSE when voltage is detected or not, respectively.
  • Reports CPU temperature
    Reports CPU temperature