BlogAll Blog Posts | Next Post | Previous Post
TMS Web Core and More with Andrew:
Miletus and Raspberry Pi Intro
Thursday, September 15, 2022
Motivation.When thinking of traditional desktop platforms, naturally Windows, Linux, and macOS, in combination, cover the vast majority of potential users. And as we've seen previously, using the Miletus framework means we can deploy applications to these platforms pretty easily. However, there are certainly other potential platforms to consider. Tablets, most notably Apple's iPad, are now pretty solid contenders as desktop (or at the very least, laptop) replacements for many use cases. TMS WEB Core projects can be deployed as PWA apps, as we've also covered previously, which can work pretty well on Tablets. And almost any modern platform is able to access traditional web applications. Platforms like ChromeOS and Raspberry Pi with their Raspberry Pi OS fall in this category. However, in the case of Raspberry Pi, one of the key draws is its ability to connect easily to sensors and other hardware. This is where web standards tend to come up short, and where the Miletus framework steps in to bridge that final gap.
Getting Started.There are dozens of flavors of Raspberry Pi hardware available, and various "kits" that can be purchased that can range from a basic populated circuit board to a full-blown desktop computer. For our first foray into Raspberry Pi, we're going to try out something closer to the desktop end of the spectrum, with a Raspberry Pi 4 kit. this includes a board with an enclosure, as well as a keyboard and mouse. Everything we need to get a Raspberry Pi desktop up and running with a minimum amount of effort. Depending on where you are in the world, acquiring such a system may very well be trivial. In my part of the world (Canada), it was just a matter of placing an order with a local Raspberry Pi dealer. The order arrived just a few days later. Some other variations of these products were not available or were back-ordered. Some had purchase limits due to parts shortages and that sort of thing. Still, I don't imagine it would be too difficult to acquire any of these components.
- Raspberry Pi 4 Desktop Kit - 2GB
- Raspberry Pi Keyboard and Mouse
- 1080p Full-HD WebCam
- 32GB microSD Card With Raspberry Pi OS
- $200 CAD ($150 USD, 150 EUR)
Raspberry Pi 4 Desktop Kit
From here, just a matter of plugging everything in. The microSD card goes into a slot on the bottom end of the Raspberry Pi. Everything else connects as expected, and there are even two HDMI cables included, as dual monitors are supported. The keyboard and mouse are both USB2.0, and the keyboard has three USB ports available as well. A pretty nice package overall, with ports to spare. Booting up for the first time, the usual questions appear about timezone, language preferences, WiFi information, username and password, and so on. It also automatically updates the operating system and applications, which did take around 30 minutes. Once completed, a reboot, and we're at the Raspberry Pi desktop.
Raspberry Pi Default Desktop
Desktop First Impressions.My first impressions of the Raspberry Pi OS and its default desktop are that it is pretty good, much like you'd expect from a basic Linux desktop, for example. Not incredibly fancy or incredibly speedy or anything. A little on the utilitarian side, but things work pretty well, as one might expect.
- The WiFi information entered during setup didn't seem to get saved, so it had to be re-entered. No issues after that.
- Chromium seems to be the default browser. Works pretty well, but is not particularly speedy.
- uname -a reports: Linux raspberrypi 5.15.61-v7l+ #1579 SMP Fri Aug 26 11:13:03 BST 2022 armv7l GNU/Linux
- This is a 32-bit arm7 CPU with 2GB RAM, so expectations should be adjusted accordingly.
- No trouble accessing SMB shares on remote hosts without additional software.
- nomachine installed for remote access to the Raspberry Pi, works just as it does elsewhere (nomachine is comparable to VNC).
As a pure desktop machine, it is likely that this might be a little on the anemic side but is workable all the
same. For example, loading up the current Actorious website (https://www.actorious.com)
that had started out as the demo project for the Tabulator miniseries, the page loads and works as expected. It
just takes a little longer than normal. Not sure why the top-right <div> didn't display, but as that is
used to display third-party marketing content, it is not something that is too worrisome at the moment.
Actorious.com on Raspberry Pi
The default installation includes many of the usual things a Linux desktop includes, like LibreOffice, VLC, and so on. Screenshots can be captured just by hitting the PrtScn key, dropping PNG files in the home directory. LXTerminal is the default terminal, dropping you into a bash terminal where all the usual Linux commands are available. Also, that speed of 20 MB/s compares to around 500 MB/s on a couple of regular desktops that I tried. So not overly speedy there. One idea is to perhaps use external storage (maybe an SSD) or a faster microSD card if this is a limiting factor in some way.
LXTerminal Running Linux Commands
TMS WEB Core and Miletus.
After launching Delphi and loading up the Leaflet Miletus example project, producing a Raspberry Pi build is just as easy as it was with any of the other platforms. Simply choose one of the Raspberry Pi options from the Project Manager.
On my development machine, the "Projects" folder is shared, so accessing it from the Raspberry Pi system is as
easy as connecting to the share using the smb:// protocol. Then, navigating to the folder with the Raspberry Pi
build, I can then see the following files. These are then copied to the Raspberry Pi desktop (mostly for
convenience). The permissions on Project1 need to be changed so that it is executable.
Raspberry Pi Viewing Windows Shared Projects Folder
Before launching (and as per the TMS WEB Core documentation) the webkit support libraries need to be installed.
sudo apt install libwebkit2gtk-4.0-dev sudo apt install packagekit-gtk3-module
Leaflet Miletus Example Project Running on Raspberry Pi
That's all that I wanted to accomplish in this post - getting a Raspberry Pi up and running out of the box, and testing our Miletus example. Which all went pretty well. But this is just the opening introduction to Raspberry Pi. There are a lot of other topics to explore. Please suggest a topic if I've overlooked anything here.
- Getting data from Raspberry Pi Sensors. For example, I've got a Sense Hat (B) here I'm anxious to try out.
- Work with a secondary display. I also picked up a 7.9" 1280x400 touch display to play around with.
- Getting data from the Raspberry Pi webcam.
- See how far we can get running Visual Studio Code on a Raspberry Pi.
- Try alternate storage devices to see if we can speed things up a bit.
Ultimately, Raspberry Pi provides an inexpensive way to deploy a TMS WEB Core application, particularly if you're interested in creating some kind of kiosk-type deployment. While not particularly fast compared to a traditional desktop, it is still plenty fast enough for casual use. And with the Miletus framework, it should be easy to gather data from the many different sensors and other devices that can connect to a Raspberry Pi, all within the same TMS WEB Core project just using the Miletus framework.
This blog post has received 2 comments.
All Blog Posts | Next Post | Previous Post