Pi/Xojo as a GUI for industrial instrumentation

Hi,

I’m new to xojo & have never touched a Pi, however I’d appreciate any upfront thoughts on the following:

It’s always a challenge writing a decent, graphical GUI for an embedded system. The GUI can take longer to develop than the actual instrumentation.

Small tft displays with some kind of 3rd party graphics library is the normal route, but it’s always a real chore.

Ideally, the GUI would be a tiny PC or Pi-like system, making the GUI much easier to develop.

How viable is a Pi option to act purely as a display, do you think?

As a basic example, let’s say we dedigned an instrument to measure temperature, but we wanted a cool GUI to go with it.
Typically you’d be able to display, chart & log the temperature, so the display would have a live chart, large fonts for the readings & a few different setup windows/pages.

The Pi would need to boot fairly quickly. No-one wants to power up an instrument & wait 5 minutes for the thing to boot!
It would also need to be illusive & not show that It’s a Pi! We don’t want a bunch of booting text showing on the display as it fires up.

I’m wondering if I could create such a system with Xojo & a Pi.

Any thoughts appreciated.

Thanks
Darren

did you look at the nextion displays ? they incorporate all the code to manage the user interface, so you can have a small device even an arduino that boots fast to do the rest of the job.

to answer the question, yes you can do what you ask, with a bit of work.
I did the same last year, BUT there are a few steps.

firstly you have to learn how linux works, which for me was a real chore, I hate the command line.
second it is possible to get ‘lite’ versions of the operating system that can boot quickly, I think mine was about 4 seconds from power on.
you can get rid of the boot messages with changes system config files.
you can interface easily with serial devices, both at native levels and with a USB converter.

ultimately we scrapped the project for one issue that became apparent, nothing to do with the code from xojo, it was because the SD card would randomly get trashed due to unexpected power loss and we had no way to add a battery back up to it in the final project.

the Pi is a great tool for the correct job, but like anything out there there are limits, in my case none of the issues were to do with xojo, it seemed to work fantastically with it and I would use xojo for any future Pi projects.

and no, I do not work for xojo…

you are welcome to PM if you need details

I’m using the Raspberry Pi 3 in a touch-screen application (Timeclock with fingerprint validation and photo) and it boots up in a reasonable amount of time. Of course my idea of reasonable may not be the same as yours.

To hide the fact that my product is Raspberry Pi based I made a couple of modifications to:

  1. Turn OFF the “rainbow” graphic at boot-up.
  2. Turned OFF the Raspberry Pi raspberry logos at the top of the boot screen.

Now when it boots-up all you see is the scrolling system messages. Nothing to indicate a Raspberry Pi is running the show. Then it auto launches my full-screen touch-screen application.

I understand that you can also hide the scrolling system messages but that didn’t seem necessary to me.

Oh yeah,

As for the SD card corruption seen by Mark Carlton, I haven’t seen this problem except when running services like MySQL that hold files open during their normal operation. When a Raspberry Pi running MySQL or similar dies from a power failure things can get corrupted. But under normal non-server use the Raspberry Pi is pretty robust.

A few months ago I stopped using SD cards and started booting my systems from USB thumb-drives instead (when the Raspberry Pi foundation announced this new boot option). This has really worked out well. From my non-scientific observation it seems that most USB thumb-drives perform more quickly and reliably than SD cards.

Hi all,

Thank you for your replies.

Jean - Nextion looks interesting. I’ve not seen these before and shall try it in the not-too-distant future.
My only concern is that this is a proprietary system. If the product or company is dropped then you’re somewhat stuck.
Whereas I imagine Pi’s, for example, will be around for a very long time.

Mark and Wes - it sounds like it’s possible, but as you say, my expectations may be different to yours.
Reasonable boot-up time would be <= 5 seconds. Between 5 & 10 you’d need to show some kind of loader message or animation.

Ideally I’d like to see a video of such a system in action in order to make a judgement, or of course try it for myself.
I was rather hoping someone had already created something similar and spare me the experimental time.

I particularly like the idea of having a strip-chart on the screen. Not so easy with an embedded display.

Response speed & flicker-less graphics is obviously important. Sluggish, flickering displays are not an option.

Cheers,
Darren

[quote=382856:@Darren Logan]Jean - Nextion looks interesting. I’ve not seen these before and shall try it in the not-too-distant future.
My only concern is that this is a proprietary system. If the product or company is dropped then you’re somewhat stuck.
Whereas I imagine Pi’s, for example, will be around for a very long time.

[/quote]
Nextion, although not officially open source, is quite enough open for me, as the protocol is described.
see https://github.com/itead/ITEADLIB_Arduino_Nextion

Hi Darren,

I work with a Biologics Sensor Manufacturer, and have recently used RPi in an industrial application. The instrumentation you see running on this bench is all RPi, programmed using Xojo, and talking feverishly 24/7 with an Emerson Process Control DCS system. I’m communicating with sensors, a DeviceNet industrial bus, and writing 25+ historical parameters into a historian every second. I have had ZERO outages, the UI is flawless (crisp, clean), and of course the entire experience is as flexible as your imagination and Xojo skills will allow for.

I don’t do any animations, or anything demanding on visual resources - but with generic UI elements the screen refresh is astounding. The RPi itself, even with all the threads and comms etc. is only running at ~10% of it’s CPU’s capacity. And best of all these devices run months and months w/out a reboot.

Hope this is helpful in some way.

Its really easy, making UI for the raspberry its the same as making it for windows or mac.

The bad news is that there are some BUGS on the UI elements, some controls ignore font sizes, for example.

This has been broken sin a couple releases ago, in 2018 some are fixed, but not the Text Field

If you want something more good looking, you had to draw everything in a canvas.

We use dozens of Pi’s for remote stations running VNC and/or a web browser. We’ve found that using high-endurance microSD cards will work much better than standard cards - some we’ve had running for 3+ years without issue.

We’ve used Transcend, Samsung and Silicon Power high-endurance cards in our systems. These cards are meant for use in stand-alone video security cameras.

[quote=384324:@Carlheinz Lucas]We’ve found that using high-endurance microSD cards will work much better than standard cards - some we’ve had running for 3+ years without issue.

We’ve used Transcend, Samsung and Silicon Power high-endurance cards in our systems. These cards are meant for use in stand-alone video security cameras.[/quote]

Very interesting. This is the first time I’ve heard of “high endurance” microSD cards. I may have to try one of these. I stopped using microSD cards a few months ago when the Raspberry Pi Foundation announced that they now support booting from USB thumb drives. So far the thumb drives have been more reliable than the microSD cards.

[quote=384324:@Carlheinz Lucas]We use dozens of Pi’s for remote stations running VNC and/or a web browser. We’ve found that using high-endurance microSD cards will work much better than standard cards - some we’ve had running for 3+ years without issue.

We’ve used Transcend, Samsung and Silicon Power high-endurance cards in our systems. These cards are meant for use in stand-alone video security cameras.[/quote]

Cound you recommend the best card?

Thanks