Announcement

Collapse
No announcement yet.

Raspberry Pi Robot Project

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Raspberry Pi Robot Project

    I am working on a project where I use a Raspberry Pi to communicate with a Universal Robots UR5. I have the Raspberry Pi running Python and communicating with the robot via XMLRPC. This is not ideal but XMLRpc is the only structured communication method other than raw sockets. The setup works pretty well for exchanging data between the robot and the Raspberry Pi.

    The next step in the project is to provide user feedback from the data collected on the Raspberry Pi. Python is really lacking in GUI interfaces. There are a bunch of options out there (wxpython, tkinter, pyqt, web) but none are great or easy to implement. I like the idea of using your 7" gen4 diablo screen to show a couple gages and allow for some basic button press input into the Raspberry Pi.

    I have read through many of the post and I think I can accomplish what I need with the serial interface to the screen. Writing code on the Raspberry Pi in python to send data to the screen. What I'm not complete sure of is the following:

    Can I setup all the graphic elements using the visi-geni package and then just feed data through the serial port to display numbers, move bar graphs, etc ? I want all the graphics done in visi-geni. I don't want to have to send graphic manipulation data from python through the serial interface. Example: Can I have a bar graph that goes from 0 to 100% setup in visi-geni and then just send a data string from python through the serial interface to determine the current percentage display ?

    My second question is about the elements available in visi-geni. I need to show a list of available parts on the robot. I have this list in a small SQLite3 database on the Raspberry Pi that I am accessing with Python. I can handle getting the data out of the SQLite database and work wiht it in Python. Is there an element to display a list of values ? Can I populate this element using the serial connection between the RPI and the Gen4 screen ? Do I send an array of values or multiple values over serial that are "collected" in a display container ?

    I really think the Gen4 screens can fill a nice little niche with the single board computers such as the Raspberry Pi. Python continues to grow in capabilities and popularity especially with engineers and scientists. Unfortunately, I don't think there is a good solution for a GUI running on the primary display of the Raspberry Pi in the near future. (Visual Basic 6 has stuck around for at least 15 years as it filled the void of allowing engineers and scientist to develop basic GUI interfaces)

    The 7" Gen 4 is at a nice price point especially when compared with screens used in industrial applications that are typically designed to interface with PLCs or SCADA systems.

    One last comment. I see that you are offering modules that connect directly to the screens to offer additional features. I like the MOTG Esp module for wireless TCP/IP communication to the screens. How about a wired version to allow ethernet communication to the display ?

    Expand your language libraries, add an ethernet connection, and look at supporting some of the more common industrial communication protocols such as MQTT, OPC UA, AB DF1, etc.. and you could have a very competitive industrial HMI panel.

    Thanks in advance for any help you can provide on my questions.

    Best regards,
    Mark Chollett

  • #2
    Hello Mark,

    Welcome to the forum and thank you for choosing our product.

    Can I setup all the graphic elements using the visi-geni package and then just feed data through
    the serial port to display numbers, move bar graphs, etc ? I want all the graphics done in visi-geni.
    - Indeed, this can be accomplished through serial communication. You can check this genie-Raspberry Library
    provided by 4D Systems. https://github.com/4dsystems/ViSi-Genie-RaspPi-Library

    My second question is about the elements available in visi-geni. I need to show a list of available parts on the robot.
    I have this list in a small SQLite3 database on the Raspberry Pi that I am accessing with Python.
    I can handle getting the data out of the SQLite database and work wiht it in Python.
    Is there an element to display a list of values ? Can I populate this element using the serial connection
    between the RPI and the Gen4 screen ? Do I send an array of values or multiple values over serial that are
    "collected" in a display container ?
    - After extracting the data, you can use the "String Widget" to display the data on the display.
    Most likely, you will need to put each data on each "widget" to represent/handle its value.

    Expand your language libraries, add an ethernet connection, and look at supporting some of the more common
    industrial communication protocols such as MQTT, OPC UA, AB DF1, etc.. and you could have a very competitive industrial HMI panel.
    Thank you for your suggestions we'll try and look into it. Although by using the primary display and adapting the GUI packages
    (e.g. PyQt) from the Raspberry Pi you can easily use these libraries (e.g MQTT).


    Best Regards,
    Kevin

    Comment

    Working...
    X