Raspberry Pi

Raspberry Pi

Connection Type
Wi-Fi
Audio Support
Yes
Camera Support
Yes

Raspberry Pi is a small and affordable computer that you can use to control a robot by running either EZ-Builder or the EZBPi Server... or both! Below is a break-down of both options with links on how to get them running for your Synthiam powered robot.

Run EZ-Builder on the Pi

You can run EZ-Builder on the Raspberry Pi and connect to external micro controllers, such as Arduino or EZ-Robot's EZ-B v4. This is a connection through WiFi, generally. Although USB adapters can be used for direct connection on supporting micro-controller products.

You can download the Raspberry Pi installation on the software page by clicking here.

Turn Pi into an EZBPi Server

This server program turns a Raspberry Pi into an EZ-B that robot components can connect to and EZ-Builder 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 EZ-Builder with this server. The server turns the Raspberry Pi into an EZ-B. If you are running EZ-Builder 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 EZ-Builder connection can be remote from an external computer over WiFi (or LAN). Or the EZ-Builder 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.)

EZBPi Server Install Instructions

1) Install Mono

sudo apt install mono-devel

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

3) Unzip the archive.

unzip EZBPi.zip

4) Navigate into the newly created directory

cd EZBPi

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

sudo mono ./EZBPi.exe

6) Connect to the EZBPi server from EZ-Builder. If the EZ-Builder instance is on a different computer, enter the IP Address of the Pi in the connection control. If the EZ-Builder instance is running on the Pi, enter the address 127.0.0.1 in the connection control.


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 EZ-Builder controls that use the UART (such as Dynamixel) or Script commands will default to using this port.

In order to get the UART to work, a few configurations need to be made on the Raspberry Pi.

  1. From command-line, type: sudo raspi-config
  2. Select the Interfaces menu option
  3. Select the Serial menu option
  4. Answer NO to the question about login shell
  5. Answer YES to the question about serial hardware port
  6. Save and exit the raspi-config menu
  7. 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...

sudo mono EZBPi.exe -h

Related Content

tutorial
Create Auto Position Actions From EZ-Script

Create Auto Position Actions From EZ-Script

This tutorial uses the ControlCommand() EZ-Script command that instructs the Auto Position control to create a frame and...
live hack
DJ's 6Th Live Hack Event (Raspberry Pi & Neopixel With Arduino)

DJ's 6Th Live Hack Event (Raspberry Pi & Neopixel With...

In this 6th installment of DJ's Live Hack Events, we'll be installing EZ-Builder on a Raspberry Pi, install plugins and...
live hack
DJ's 7Th Live Hack (Neopixel, Arduino, Raspberry Pi Ezbpi Server)

DJ's 7Th Live Hack (Neopixel, Arduino, Raspberry Pi Ezbpi...

Today's live hack, we'll play with the Arduino and see if we can get it to control NeoPixels by using the existing...
question
Dynamixel With Ezbpi Server

Dynamixel With Ezbpi Server

I am trying to control my Dynamixel AX-12a with the EZBPi, but when I try to connect EZ-Builder it disconnects shortly...
live hack
DJ's 9Th Live Hack - Raspberry Pi + Dynamixel... Together For Ever!

DJ's 9Th Live Hack - Raspberry Pi + Dynamixel... Together...

This is a short live hack where I will demonstrate how to... 1) Install EZ-Builder on Raspberry Pi 2) Install EZBPi...
live hack
DJ's Apple II Pi Hack (Part 2/2)

DJ's Apple II Pi Hack (Part 2/2)

In this hack, I'll continue the Apple II conversion to the Pi. I created an Arduino PCB that converts the Apple II...
question

Ez-B With Computer Vision

I apologize if this is a redundant question: but with EZ-pi software used for EZ-b, raspberry pi, does the camera system support identifying and...
question
Found This Nice One And Thought Its Worth Sharing

Found This Nice One And Thought Its Worth Sharing

Did anyone see this already, I thought it is beautiful how such a reduced build can produce this emotional impact. And...
live hack
Make Your Own Giant 3D Printer Vol 2

Make Your Own Giant 3D Printer Vol 2

Pushed back live feed , I have the day off tomorrow on Saturday so I will pick up then. Second installment of building...
live hack
Make Your Own, Giant 3D Printer Build Vol. 4

Make Your Own, Giant 3D Printer Build Vol. 4

The 4th video for this Giant 3d Printer build. We are to the point that the heated bed is about to be mounted on the...
question

Raspberry Pi Or Arduino

I am building a humanoid robot and was wondering which is better to use?  I am starting on the head from a book that I received on the Mark 1 robot...
question

Ezbpi Server Camera Error

I realized that I am not able to flip the Raspberry Pi's camera, I get the following error message? Error Camera.SetCaptureImage:...
question

Ezbpi Server And Lewan Soul Servos

Hey guys, I am about to start building the Unity rig for my new robot ZOE, and I was wondering... Would I be somehow able to drive the Lewan Soul...
question
Raspberry Pi 4, Or Lattepanda Enbeded On My Inmoov

Raspberry Pi 4, Or Lattepanda Enbeded On My Inmoov

I want to install a mini PC and 7inch touch screen on my InMoov, and can't decide either buying the new Raspberry Pi 4...
question
Ezbpi Server - Access To The Pi Gpios

Ezbpi Server - Access To The Pi Gpios

Hi, I have successfully connected EZ-Builder to the Pi using the EZBPi server, but I don't understand how to access the...
question

Pimoroni Pan And Tilt HAT For Rpi 3 B+

hi i just purchased the pan tilt hat. i know it works because i tried the python examples. But how can i get ez-builder to recognize it? I do have the...
question

Using An Rpi As A Ez-B

As in can a raspberry pi be used for the iOS instead of a ez-b board?
tutorial
Raspberry Pi & EZ-Builder

Raspberry Pi & EZ-Builder

In this Tutorial we will go over the Raspberry Pi and its integration with the Synthiam Platform.
question
EZ-Builderpi / Ezbpi On Raspberry Pi 3 Errors

EZ-Builderpi / Ezbpi On Raspberry Pi 3 Errors

Hello, I am trying to run EZ-BuilderPi and EZBPi on a Raspberry Pi 3. I have tried installing them on two different...
question

Starting Page For Robot Showcase Threads

Hey guys, I just realized how many robotic projects are deviating a lot from the original concept! Including my own, and eg the Terminator build... It...
question

Voice Recognition And Usb Camera On Raspberry Pi 4 With Ez Builder?

Hello all, I just got a Pi 4 and I have not had time to mess around , but I did want to ask about a couple features as I know things have really...
live hack
Astro Boy Live Hack....So It Begins!

Astro Boy Live Hack....So It Begins!

Astro Boy Live Hack (Part 1) ***Update*** 7:45 start time The eighties Astro Boy cartoon was likely the majority of the...
Synthiam
#1  
Updated with a new version that broadcasts it's address
#2  
:DGreat to see the updating happening,Nice!
Canada
#4  
Hello.  

I'm trying to get the EZ Pi server running on my Pi and I'm getting the following error.  Any help would be greatly appreciated!

Broadcast error. The broadcast service has stopped. Here is why: System.Net.Sockets.SocketException (0x80004005): Access denied
at System.Net.Sockets.UdpClient.Connect (System.String hostname, System.Int32 port) [0x001b0] in :0
at System.Net.Sockets.UdpClient..ctor (System.String hostname, System.Int32 port) [0x00044] in :0
at EZBPi.Broadcaster.doSendUDP (System.String str) [0x00001] in :0
at EZBPi.Broadcaster._timer_Elapsed (System.Object sender, System.Timers.ElapsedEventArgs e) [0x00050] in :0
Synthiam
#5  
The instructions for launching the pi server requires sudo (root) permission to use certain server features on the OS. Look above at the instructions to launch the pi server and type the same command.
Canada
#6   — Edited
Hello DJ Sures,

Thank you for your quick reply.  I have ran the above exactly as the commands on two different pi's with a fresh image three times between them now.  Two different places just to make sure something on my network wasn't messing with it and I still get the same error when running sudo mono ./EZBPi.exe.  Tried a version 3 and version 2 also, one on ethernet and the other with wifi and ethernet.  Once I run the command it shows as it should ( I watched the live hack night as well and made sure to follow each step) and once it hits the part to hit esc to exit, about 5 seconds later the above errors keep going over and over.

Raspberry EZBPi Version: 2019.3.29.0
Verbose logging is: False
Serial port is: /dev/serial0
EZB: TCP Started on port 23
EZ-B Server started on TCP Port: 23
Camera: TCP Started on port 24
Camera Server started on TCP Port: 24
Press ESC to quit
Broadcast error. The broadcast service has stopped. Here is why: System.Net.Sockets.SocketException (0x80004005): Access denied
at System.Net.Sockets.UdpClient.Connect (System.String hostname, System.Int32 port) [0x001b0] in :0
at System.Net.Sockets.UdpClient..ctor (System.String hostname, System.Int32 port) [0x00044] in :0
at EZBPi.Broadcaster.doSendUDP (System.String str) [0x00001] in :0
at EZBPi.Broadcaster._timer_Elapsed (System.Object sender, System.Timers.ElapsedEventArgs e) [0x00050] in :0
#7  
This really has me interested. I love to see all the new options and capabilities we are now adding and I am excited about those to come but don’t understand the benefits using Raspberry Pi instead of EZ-Robot micro controller.  Please clarify why you would use a Raspberry over a EZ-Robot. I get loading EZ-Builder it on Pi as a benefit but not providing PMW has me stumped. I really want to do this but I want to understand the benefits.
Synthiam
#8  
Legion, can you do a sudo apt-get upgrade?

also a sudo apt-get update

perhaps the os versions are out dated. Reading the error you posted, the ezbpi cannot bind to the network interface, which is absolutely required for operation.

Ellis, there’s only benefits to those who need it.
Canada
#9  
Hello,

Thank you for the reply once again.  I did the updates and also tried your new server version from this webpage.  Still same error.

So not sure what else to try.  Has someone recently loaded this and confirmed it's working?  

I even had someone else do this and follow the instructions and came up with the exact same error.  I'm wanting to use the Pi for an event coming up soon for a robot, if I had more time I'd have purchased the EZB4 with wifi but don't.
Synthiam
#10   — Edited
The ezb v4 is by ezrobot and is only one of the options for controller. There’s also arduino and others which can be viewed on the getting started page. 

However, there’s a lot of others running the pi server - and I can’t imagine how it couldn’t work for you if executed as SUDO

sudo executes the application as Root, which is needed for the broadcast and server features. The access denied error is because access is denied:). That’s due to user privileges 

The only other option I can suggest is to use netstat and view the listening and broadcasting ports to see if there’s already an application using it. 

The trouble with attempting to support Linux is that there’s no support for Linux:). Everyone is kinda on their own when it comes to the raspberry pi, but normal installations should work without trouble. 

Access Denied is an error when access is denied due to limited user privileges. That can be rectified by executing as root with sudo
Canada
#11  
Thank you.

I'm definitely using the sudo for raised permissions.  At any rate, I'll change my plans a bit but no biggie.  Really appreciate your responses.  If I find a fix I'll post it.

pi@raspberrypi:~/EZBPi $ sudo mono ./EZBPi.exe
Raspberry EZBPi Version: 2019.3.29.0
Verbose logging is: False
Serial port is: /dev/serial0
EZB: TCP Started on port 23
EZ-B Server started on TCP Port: 23
Camera: TCP Started on port 24
Camera Server started on TCP Port: 24
Press ESC to quit
Broadcast error. The broadcast service has stopped. Here is why: System.Net.Sockets.SocketException (0x80004005): Access denied
at System.Net.Sockets.UdpClient.Connect (System.String hostname, System.Int32 port) [0x001b0] in :0
at System.Net.Sockets.UdpClient..ctor (System.String hostname, System.Int32 port) [0x00044] in :0
at EZBPi.Broadcaster.doSendUDP (System.String str) [0x00001] in <0d7091e22ba140df8312a9ba44fa579a>:0
at EZBPi.Broadcaster._timer_Elapsed (System.Object sender, System.Timers.ElapsedEventArgs e) [0x00050] in <0d7091e22ba140df8312a9ba44fa579a>:0
Broadcast error. The broadcast service has stopped. Here is why: System.Net.Sockets.SocketException (0x80004005): Access denied
#12  
@Legion:

can you post the output of the following commands:

Code:

mono --version

Code:

uname -r

Code:

lsb_release -a

Code:

route
Canada
#13  
mono --version

Mono JIT compiler version 5.18.0.240 (Debian 5.18.0.240+dfsg-3 Sat Apr 20 05:16:08 UTC 2019)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS:
SIGSEGV: normal
Notifications: epoll
Architecture: armel,vfp+hard
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: supported, not enabled.
Suspend: preemptive
GC: sgen (concurrent by default)


uname -r

4.19.57-v7+


lsb_release -a

No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster

route

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default GatewayRouter 0.0.0.0 UG 202 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
#14  
@Legion:

more commands:

Code:

netstat -l -n | grep udp

Code:

cat /proc/device-tree/model
Canada
#15  
etstat -l -n | grep udp

udp 0 0 0.0.0.0:68 0.0.0.0:*
udp 0 0 0.0.0.0:53446 0.0.0.0:*
udp 0 0 224.0.0.251:5353 0.0.0.0:*
udp 0 0 224.0.0.251:5353 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp6 0 0 :::5353 :::*
udp6 0 0 :::53523 :::*



cat /proc/device-tree/model

Raspberry Pi 2 Model B Rev 1.1
#16  
I can reproduce your error ! Give me a couple minutes to check some details.
#17  
@Legion:

Can you unzip the file ConsoleApp1.zip
and run the command:

Code:

mono ./ConsoleApp1.exe
Note: No need the root privileges e.g. sudo

Please post the output.
Canada
#18  
=== AddressList ====
Af=[InterNetwork] Addr=[192.168.1.178]
=== Send Udp Message ====
Send Udp message=[EZ-B||Testing||192.168.1.178||23]
#19  
@DJ:
It seems is a bug in the udp code:

please change your code:

Code:

        private void doSendUDP(string str)
{
using (UdpClient udpClient = new UdpClient("255.255.255.255", 4242))
{
byte[] bytes = Encoding.ASCII.GetBytes(str);
udpClient.Send(bytes, bytes.Length);
}
}
to this code:

Code:

        private void doSendUDP(string str)
{
var ipEndPoint = new IPEndPoint(IPAddress.Broadcast, 4242);
using (var udpClient = new UdpClient())
{
var bytes = Encoding.ASCII.GetBytes(str);
udpClient.Send(bytes, bytes.Length, ipEndPoint);
udpClient.Close();
}
}
#20  
@Legion:

Download this fix EZBPi_fixed.zip
do backup copy of the existent EZBPI.exe and then override with the new file.
then run:

Code:

sudo mono ./EZBPi.exe
Let me know if it works.
Canada
#21  
IT WORKED!!!!

Oh ty ty ty so much!
Synthiam
#22  
I’ll get amin to update next week. Thanks guys!!
United Kingdom
#23  
Hi,
I'm having the same problem as above on my RasPi3B when trying to run EZBPi.exe. I've followed all the above checks and the code update but I'm still getting the same response:

pi@raspberrypi:~ $ sudo mono /home/pi/EZBPi/EZBPi.exe
Raspberry EZBPi Version: 2019.3.29.0
Verbose logging is: False
Serial port is: /dev/serial0
EZB: TCP Started on port 23
EZ-B Server started on TCP Port: 23
Camera: TCP Started on port 24
Camera Server started on TCP Port: 24
Press ESC to quit
Broadcast error. The broadcast service has stopped. Here is why: System.Net.Sockets.SocketException (0x80004005): Access denied
at System.Net.Sockets.UdpClient.Connect (System.String hostname, System.Int32 port) [0x001b0] in :0
at System.Net.Sockets.UdpClient..ctor (System.String hostname, System.Int32 port) [0x00044] in :0
at EZBPi.Broadcaster.doSendUDP (System.String str) [0x00001] in <0d7091e22ba140df8312a9ba44fa579a>:0
at EZBPi.Broadcaster._timer_Elapsed (System.Object sender, System.Timers.ElapsedEventArgs e) [0x00050] in <0d7091e22ba140df8312a9ba44fa579a>:0

I also have a Pi ZeroW and a Pi 2B on the network and get the same response. Pi Zero and 3 both running Buster, Pi 2 running Stretch.

I've also tried all the other usual fixes, like disabling firewall etc.

I'm getting a similar response when trying to connect EZ-Builder 2019.05.08.00 from my PC (Win10) to the Pi:

Attempting connection on 192.168.1.183
Connection Failed: System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 192.168.1.183:23
at System.Net.Sockets.Socket.InternalEndConnect(IAsyncResult asyncResult)
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.Sockets.TcpClient.EndConnect(IAsyncResult asyncResult)
at EZ_B.EZB.Connect(String hostname, Int32 baudRate)
Disconnected

I don't have anything else running that might be causing any conflict and I can connect to all my Pi's remotely from my phone using RasPi Check and RaspController.

Regards,
CRW
Canada
#24  
Did you use the exe fix PTP gave?
United Kingdom
#26  
Hi Guys,

Yes, I tried the EZBPi_fixed.zip before I wrote to you last night but it didn't work.

I've just unzipped and executed the new server from the link that DJ sent above and it works! The server's now running and I'm connected to the Pi3B from my PC:
EZ-B temperature is 45.28100456947043676C
Connected
.
I was planning a night off from the PC and Pi tonight, but that plan's just gone out the window.

Thanks for your quick response and the fix. Very much appreciated:D

Regards,
CRW