Pi/Xojo as a GUI for industrial instrumentation

  1. 5 days ago

    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

  2. Jean-Yves P

    Apr 15 Pre-Release Testers, Xojo Pro Europe (France, Besancon)

    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.

  3. Mark C

    Apr 15 Pre-Release Testers, Xojo Pro Spain 35510
    Edited 5 days ago

    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

  4. 3 days ago
    Edited 3 days ago

    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.

  5. 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

  6. Jean-Yves P

    Apr 16 Pre-Release Testers, Xojo Pro Europe (France, Besancon)

    @Darren L 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.

    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

or Sign Up to reply!