3 ms·
In the industrial control world, they call these "HMIs", or human-machine interfaces. There used to be a lot of Windows CE on small SBCs with PC/104 (basically
by trelliscoded 4y ago
In the industrial control world, they call these "HMIs", or human-machine interfaces. There used to be a lot of Windows CE on small SBCs with PC/104 (basically ISA) bus adapters for custom logic. The software was usually a normal GDI based Win32 application, using Windows CE's real time features either in app or in a separate thread/process to meet timing. QNX photon was also popular in applications that weren't cost sensitive (telecom switches, million dollar HVAC, 10 million dollar elevators, etc). The business model was usually a government contract, where we adapted existing in-house HMI libraries to a vendor's SBC mated to our proprietary control boards.
In between the reliability of consumer kiosks and a HMI, there are proprietary systems like Labview and GE Fanuc, which have the ability to create drag-and-drop GUIs for custom applications. I've built or modified a few of these for specialized factory lines, water/wastewater plants, or experiments under contract.
I've also built kiosks using Windows Embedded and Chrome on Raspberry Pi, for conventions as a volunteer, and for mass transit systems under government contract. The Miami International Airport monorail and portions of the BART airport extension both use these kiosks.
I want to emphasize that although web technology allows for extremely fast app prototyping, web browsers were by far the largest risk for all of these projects. Industrial control systems are expected to have 100% uptime, forever, period end of story, and in many cases are disconnected from the Internet and never patched. This is a very realistic expectation when the target system does not include a TCP/IP stack or even networking hardware (controls are done via RS-422 or a similarly deterministic bus), the total image size peaks at a few megabytes, there is no BIOS, and the bootloader is a jump instruction to a XIP image in memory mapped NOR flash.
On the other hand, in situations where a service contract is being pushed on the customer for business reasons, the Chrome+Raspberry Pi option is great because it breaks all the time. SD cards, even high endurance ones (I'm looking at a dead 32G Samsung HE card from a Helium miner right now) break for no reason, Chrome or Raspbian's WM throw up dialogs for irrelevant issues, uboot will sometimes not, and the HDMI transceivers between the Pi and the display will sometimes just refuse to talk. Don't even get me started on the USB touchscreen bits.
Despite what you might think, you don't need a web browser for infotainment or movie playing. All the major embedded frameworks include video, and if you really want to use web technologies there's node bindings for Qt and that kind of thing. Kiosks are fixed DPI, fixed resolution, fixed font systems, and there's no need to involve HTML, CSS, or any other dynamic layout technology.
- Cyberdog 4y agoAs a web developer, I certainly agree that doing this sort of stuff using web techs is almost certainly like using a howitzer to swat a fly, especially when security is a concern, and I'm kinda surprised… well, not surprised, but more dismayed by the number of replies to the OP saying they did this with web techs. When all you have is a hammer…