Author Topic: raspberry pi gui language  (Read 629 times)

0 Members and 1 Guest are viewing this topic.

Offline snarkysparky

  • Regular Contributor
  • *
  • Posts: 167
  • Country: us
raspberry pi gui language
« on: September 21, 2019, 06:09:22 pm »
I will start work developing controller for a machine. It needs a touchscreen and an OS for Ethernet communications.

The first take suggests using a raspberry pi but what environment to develop in. 

The project will outlive me so a primary concern is not have a great number of "magic steps" to modify and build the code.

How about Mono running a c# program?

I think the company would buy a development environment if available.

What is the easiest to get started in and most reliable.   And supported down the road.

Thanks

 

Online MarkF

  • Super Contributor
  • ***
  • Posts: 1383
  • Country: us
Re: raspberry pi gui language
« Reply #1 on: September 21, 2019, 06:48:34 pm »
Where I use to work, we used Qt to develop our programs so that they were executable on both Windows and Linux.
It is C/C++ and has support for graphics, GUI's, network TCP/UDP.
A quick search shows they now support Raspberry Pi:
   https://wiki.qt.io/Raspberry_Pi_Beginners_Guide

In our case we were able to use their "(L)GPL v3 license" (so no cost).
   https://www.qt.io/download
 
The following users thanked this post: I wanted a rude username

Offline snarkysparky

  • Regular Contributor
  • *
  • Posts: 167
  • Country: us
Re: raspberry pi gui language
« Reply #2 on: September 21, 2019, 07:27:44 pm »
MarkF

Qt looks awesome.  I have two hurdles to overcome.

Commercial version 5500/yr  may be a non starter.

License restrictions for free version may not be acceptable.

Thanks for the suggestion.  Will propose to this and see what happens.

 

Offline FreddieChopin

  • Regular Contributor
  • *
  • Banned!
  • Posts: 99
  • Country: ua
Re: raspberry pi gui language
« Reply #3 on: September 21, 2019, 07:46:23 pm »
if size isn't an issue consider using ordinary PC with micro atx board. Slightly larger than R-Pi but vastly more powerful and wont fail because of SD card corruption.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 6535
  • Country: us
Re: raspberry pi gui language
« Reply #4 on: September 21, 2019, 07:57:26 pm »
Linux is not a real-time operating system so using it for machine control is probably ill-advised.  It has other problems, notably crashing the file system if power is interrupted.  Do some homework on this!  Take your grunt level Pi and run a few things. Let it work for a while.  Now, watch the SD LED when you issue a shutdown command (no matter how you do it).  All that disk activity that takes a few seconds to complete is buffered data that is probably important.  A UPS system can help...  Whether the EXT3 type filesystem is an improvement is above my pay grade.  I have scrambled enough Pi's to realize this is a real problem.

So, you probably need to partition your project into some kind of microcontroller doing the real-time machine work and something else (maybe Raspberry Pi if you can get around the file system issues) doing the high level communication.

Python may be practical for implementing the GUI with the available libraries

https://blog.resellerclub.com/the-6-best-python-gui-frameworks-for-developers/

The new Raspberry Pi 4 is a decent desktop machine.  You could do all of the development work on a target machine.  That's the real advantage of the Pi.  Especially the Pi 4...  If you partition into a separate control processor, there is every chance that you can develop that code on the Pi 4 as well.  Especially if the controller is ARM based.  Depending on IO requirement, maybe the Teensy 4.0 is a candidate for a controller.  FreeRTOS is probably the real-time system of choice if one becomes necessary.


 

Offline snarkysparky

  • Regular Contributor
  • *
  • Posts: 167
  • Country: us
Re: raspberry pi gui language
« Reply #5 on: September 21, 2019, 08:13:37 pm »
rstofer.

Given the issues with the pi maybe it isn't a good choice.

The product will only be a bridge and master controller between two other machines communicating over TCP/IP.

Won't be controlling any IO that I know of yet.

I have experience with ARM Cortex M0+    I would have to get IP stack and a custom touchscreen controller running though in addition to the control software.

Thanks for all the valuable information.



 

Offline Kilrah

  • Supporter
  • ****
  • Posts: 1758
  • Country: ch
Re: raspberry pi gui language
« Reply #6 on: September 21, 2019, 09:04:34 pm »
Linux is not a real-time operating system so using it for machine control is probably ill-advised.
Seems his purpose is only an HMI, not actual control. Even with a non-RT OS the slowest link is by far the H...

I've used multiple pi-based projects where the system was set up to only mount the root FS read-only, so no flash wear or improper shutdown issues.
User data if any can be saved to another partition (or multiple as redundant copies) that uses a safe filesystem, or kept on a network server.
That may or may not be possible in OP's case.

Of course use industrial grade SD cards too.

There are also ready-made, simple to develop for HMI solutions out there, some links in here (although they tend not to feature Ethernet...):
https://www.eevblog.com/forum/projects/self-contained-(hw-sw)-graphics-module/msg2655792/#msg2655792
« Last Edit: September 21, 2019, 09:11:59 pm by Kilrah »
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 6535
  • Country: us
Re: raspberry pi gui language
« Reply #7 on: September 21, 2019, 10:11:01 pm »
Linux is not a real-time operating system so using it for machine control is probably ill-advised.
Seems his purpose is only an HMI, not actual control. Even with a non-RT OS the slowest link is by far the H

That’s likely.  Mechanical limits can be handled outside the controller but often aren’t.  My CNC mill handles the limit switches internally.  Response time is important.

In this case we know nothing about the machine.
 

Offline knapik

  • Regular Contributor
  • *
  • Posts: 93
  • Country: au
Re: raspberry pi gui language
« Reply #8 on: September 21, 2019, 11:13:11 pm »
MarkF

Qt looks awesome.  I have two hurdles to overcome.

Commercial version 5500/yr  may be a non starter.

License restrictions for free version may not be acceptable.

Thanks for the suggestion.  Will propose to this and see what happens.

Why would that be an issue when all you're doing is designing a program using the language?
 

Online MarkF

  • Super Contributor
  • ***
  • Posts: 1383
  • Country: us
Re: raspberry pi gui language
« Reply #9 on: September 22, 2019, 12:42:50 am »
MarkF

Qt looks awesome.  I have two hurdles to overcome.

Commercial version 5500/yr  may be a non starter.

License restrictions for free version may not be acceptable.

Thanks for the suggestion.  Will propose to this and see what happens.

Why would that be an issue when all you're doing is designing a program using the language?

The tricky part comes when you try to sell something.  What the license allows you to do and what license the customer needs buy in order to use the product.  There was a developer part and a run-time (deliverable) part.

You really NEED to study their license options and what each is allowed to do.  We (i.e. the Navy) started with the commercial version and found we could do what we wanted with the free version.

It has been some time, but I believe the commercial license had a limit on the number of developers too.

Again, study all their license options!
 

Offline jhpadjustable

  • Regular Contributor
  • *
  • Posts: 168
  • Country: us
  • Salt 'n' pepper beard
Re: raspberry pi gui language
« Reply #10 on: September 22, 2019, 07:08:05 am »
Tk is free and has bindings for more languages than Qt does.
"There are more things in heaven and earth, Arduino, than are dreamt of in your philosophy."
 

Offline FreddieChopin

  • Regular Contributor
  • *
  • Banned!
  • Posts: 99
  • Country: ua
Re: raspberry pi gui language
« Reply #11 on: September 22, 2019, 07:21:51 am »
Tk is free and has bindings for more languages than Qt does.

It also looks badder than Windows 98. I helped design UI/UX for plc controlled machine - we used off the shelf standard android tablet and customer was enjoying himself when he interacted with our designed machine because everything was so smooth and pretty.  In short leave real time for ugly (realtiem) code and use Android or jailbroken iOS for UX stuff.
 

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1054
  • Country: fi
Re: raspberry pi gui language
« Reply #12 on: September 22, 2019, 10:46:00 am »
Qt4, WxWidgets. Another option is to use a full-screen/kiosk mode web browser.

Edit: I'll second Freddie, something running Android is a good option, and is something you see more often.
« Last Edit: September 22, 2019, 10:48:04 am by andersm »
 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 1759
  • Country: fr
    • kripton2035 schematics repository
Re: raspberry pi gui language
« Reply #13 on: September 22, 2019, 12:34:24 pm »
take a look at Xojo : https://www.xojo.com
the licence for compiling to a raspberry pi is free.
you will be amazed how easy it is to create a gui for a Pi...

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 1865
  • Country: 00
Re: raspberry pi gui language
« Reply #14 on: September 22, 2019, 12:42:50 pm »
 

Offline fchk

  • Regular Contributor
  • *
  • Posts: 57
  • Country: de
Re: raspberry pi gui language
« Reply #15 on: September 22, 2019, 06:14:37 pm »
Just have a look at:
https://www.olimex.com/Products/OLinuXino/A64/A64-OLinuXino/open-source-hardware
for the board and
https://www.olimex.com/Products/OLinuXino/LCD/LCD-OLinuXino-7/open-source-hardware
for the display.

There is both Linux and Android available for this board.

Plus: You get all schematics and layout data for this hardware, so you could build your own versions as long as the processor is available. You don't get it for a Pi, and nobody can actually build a Pi because Broadcom won't sell you the controller chip.



 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf