Hi All,
I have written a Seaside program that runs on a <a href="https://www.raspberrypi.org/products/" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.raspberrypi.org%2Fproducts%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHWCKjUlKjWwJG_KzqwT99mOaj1hg';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.raspberrypi.org%2Fproducts%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHWCKjUlKjWwJG_KzqwT99mOaj1hg';return true;">Raspberry Pi. The idea behind the program is to be able to control any of the GPIO pins in the Raspberry. If you wired some of the GPIO pins to control relays, this program allows you to specify, in its settings, which pins are used and how they are used and then lets you turn pins and therefor relay on and off.
I have it running now on a Raspberry Zero W ($10 plus the cost of power supply, relay and such). You can see it here: <a href="http://148.74.232.253:8877/RaspberryRelay" rel="nofollow" target="_blank" onmousedown="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2F148.74.232.253%3A8877%2FRaspberryRelay\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHRCs4dzbbVhIGs2c6Cv4-NiXhqjg';return true;" onclick="this.href='http://www.google.com/url?q\x3dhttp%3A%2F%2F148.74.232.253%3A8877%2FRaspberryRelay\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHRCs4dzbbVhIGs2c6Cv4-NiXhqjg';return true;">RaspberryRelay. The password is zzzzzz. You are welcome to browse around and play with some of the settings. Please don't over do it by turning on too many pins at once. And be kind to others and don't change the password. The Raspberry Zero W is a little slow and the settings screen takes a little while to come up, so be patient. I intend to leave it powered up for a few days.
The main "Relay" screen, where it goes after login and not settings, you can see pictures of an old knife switch and a finger pointing at a door bell button. The pin controlled by the knife switch is attached to a volt meter and if I happen to be looking at it when you click it, I will see the volt meter move. The door bell button picture isn't connected to anything but if it were it would momentarily activate the pin and then deactivate it. I only have the settings setup for these two pins but there are 26 controllable pins and they can all be defined. There is an option to hide the unused pins.
The pins can also be wired as sensors to test if a switch is open or closed. I don't show an example of this. I think on of the wiring diagrams show how (see below).
At the bottom of the settings screen are some PDF files that you can download. There is a GPIO pin chart and sample wiring diagrams, that may be of interest. I deliver all the files from Seaside. I got tired of fighting with Apache.
One can also upload small pictures to use in place of the supplied pictures. It is okay to try this, just don't over do it.
I did almost all of the development for this program on Windows in VA Smalltalk V9.1 (32-bit); Image: 9.1 [413] VM Timestamp: 4.0, 07/18/18 (100). Once I got the packaging setup (still not easy) I was able to package, copy the resultant image (and a few other files) to the Raspberry and run. The process is very quick. Other than trying out a UNIX command from the VA Smalltalk development environment on the Raspberry (Raspbian, a version of Linux), I did everything in windows.
Maybe it is just me but I think this is very cool!! Even more important than being able to build and run VA Smalltalk programs that work on a Raspberry Pi, is the fact that it is an ARM based computer and not Intel. There are <a href="https://en.wikipedia.org/wiki/ARM_architecture" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FARM_architecture\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHIGiD6sFX3wFf4ixEdHF3cgiyqMw';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fen.wikipedia.org%2Fwiki%2FARM_architecture\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHIGiD6sFX3wFf4ixEdHF3cgiyqMw';return true;">billions of ARM computers out there. More and more of them will be used in devices like routers, refrigerators, washing machines, cars and anything else we can think of that could use a little brain. This program demonstrates that they can be controlled from just about any web browser including the one on your smart phone, go ahead and try it.
Of course, other ARM based computers would require different drivers and a different VA Smalltalk interface but that is no big deal.
Now for my shameless plug. If anyone has any idea or need to control an ARM based device and would like to develop the code with VA Smalltalk, I'm interested in working with you.
Lou