Hi All,
-- I have written a Seaside program that runs on a 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: 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 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 You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi,
-- It seems at least two readers of this thread have tried the program out. I know because they left the pin on and I could see that reflected on the volt meter. I am interested in any comments anyone may have. Lou On Thursday, October 11, 2018 at 3:31:43 PM UTC-4, Louis LaBrunda wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi Lou, congratulations! I'am impressed that you are able to do the development using Windows and especially the packaging ! Please share your practical experience with the community. All the best! Norbert You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi Louis, Norbert, Yes, I am impressed too! I have been helping Louis a bit on all this and it's unbelievable. I got a Pi Zero W. You can: 1) Just run VA development version (with all UI etc...).. of course, it's a little slow on a single core ARM. But so far we have NOTHING optimized (and we have quite some to do if we need to). 2) Run VA headless with "server runtime" deployment. In this case, you can even run an OS that doesn't have X on the Pi, like Raspbian Lite. As you may know, VA has VM binaries that do not depend on X... 3) You can make all the development in Windows, then make XD packaging for Unix, and finally move your icx into the Pi. Just for reference, an image with SST, Seaside, etc is only about 3.5 MB. And yeah, Seaside just runs perfectly! 4) You have 40 pins to plug whatever you want. Well, whatever that can work with 3.3 or 5 V. You can also plug a camera. And yeah, you can control all those pins via the VA wrapper. 5) Now...you have your 10USD Pi Zero W running headless with Raspbian Lite (No X) and VA headless running your SST server or Seaside or whatever. Now you want to debug? 5.1) You can remote debug from a development image (like windows), which can be (of course) on a different physical machine. So... the Pi get's an exception, and you get a debugger in your windows development machine. You can inspect objects, modify code, browse code, resume exception etc etc. 5.2) You can dumb stack into dbf files which you can later debug on a development machine. To me, having a 10USD Pi Zero W running VA apps within 3-6 MB (VM + image), with gpio support and with all the debugging capabailtieis we have... it amazing. So much that I am going to present this in the Smalltalks conference :) On Tue, Oct 16, 2018 at 10:04 AM Norbert Schlemmer <[hidden email]> wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi Norbert and Mariano,
-- Thanks for the interest. The experience development experience can be divided into two parts, the GPIO interface and the Seaside program. I have posted a little about the GPIO interface in another thread. I will add that it can be hard to do especially if you don't know much C, which I don't. But with some documentation of the C functions of what they do and what data goes back and forth, it isn't too bad. VA Smalltalk has a lot of tools that help. I also cheat a little by not testing as much as one should and use the excuse that I don't have the needed hardware. That said, I think the interface is in good shape and people should just be able to use it. As for the Seaside program, it helps to have some experience with Seaside and HTML and CSS. I have some but I wouldn't say a lot. My experience with HTML and CSS really comes from working with Seaside. Seaside is really a joy. If you can figure out what HTML you want to generate, you can figure out how to get Seaside to generate it. I really like the idea of its stare-fullness and that control returns to the same code that generated a page and not the next page. I also like things like #on:of: which gets values from an object to display and returns values on a submit. I don't know a lot about other web tools but I don't think too many if any come close to this. Part of what I did with this program was to make it work headless and without an attached keyboard and mouse. I did use SSH and VNC during development but the final program is designed to work without them. I especially like Total Commander. It is a very inexpensive Windows shareware program that uses two side by side window panes to display folders of files. I set one up to SSH to the Raspberry, logged in as root, giving me control of all the files. I prefer this to SAMBA, mostly because the Windows side of SAMBA keeps failing. Raspbian, the Linux that runs on the Raspberry, uses about a half dozen control files for things like its timezone, IP address and WiFi settings. The SD card hard drive has a portion that is formated as I think fat 32 and the rest on of the Linux formats. The fat 32 part can be accessed from Windows if you can plug the SD card into a reader/writer. I have my own config file there with settings that I move to the other Linux config files. I read this file when the system starts, updating the other OS config files if need be and rebooting if need be. I don't have time now but if there is interest I can say more about this in another post. I haven't as yet learned how to use the remote debugging Mariano talked about but I look forward to it. Being able to modify code sounds great. The side of my packaged RaspberryRelay Seaside image is 8MB. Not bad at all. I use 8GB SD cards and the latest full version of Raspbian. One could probably squeeze things into a 4GB SD card with Raspbian lite but I don't you save much money on the SD card and I don't think it is worth the trouble. Lou On Tuesday, October 16, 2018 at 9:28:54 AM UTC-4, marianopeck wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi Louis, I know you are using a fork of my original Seaside Hello World packaging instruction subclass. If you see #applicationNamesToPackage I was originally adding #EsParsing add: #EsCodeGeneration. Those are needed mostly if you need to compile something at runtime. I realized that was not necessary for my Seaside examples (and I guess same might be true for your case) and just not adding those 2 apps, reduced the .icx by 5MB. So ended up with Seaside of about 3MB icx. I also excluded Prototype, Scriptaculous, and RSS apps, as I am not using anything of that.
I think giving a try to a Raspbian Lite is worth regardless of the "OS size" / SD size. Why? Because on a single core ARM processor (like the Zero), I guess that just running the X needs some CPU cycles... which would then mean less cycles for your Seaside app. And VA can run without X (esnx binary) without issues. Anyway...just wanted to point out that that would be a nice experiment too :)
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi Mariano,
-- On Wednesday, October 17, 2018 at 8:58:37 AM UTC-4, marianopeck wrote:
I wondered why the image was 8MB because my other headless Windows images were half that but I didn't bother to investigate partly because I didn't need to worry about disk space. This is good to know. I will give it a try soon.
These are also good points. I originally gave up on Raspbian Lite because I wasn't use to it and found it easier to learn and get around with the full X windows version. Now that I know a little more about what I am doing in Linux and have SSH set up and I'm not fighting with SAMBA/Windows problems, I think giving Raspbian Lite a second chance is worth it. The world of IoT most likely doesn't need X windows and is best approached with as thin an OS as possible. Thanks for the pointers. Lou
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
On Wed, Oct 17, 2018 at 10:31 AM Louis LaBrunda <[hidden email]> wrote:
Exactly! Even more with a single core machine ;) And yes, you can start with X until you have your "development"/"deployment" setup and running and then just use another smaller SD without X (Raspbian Lite) and just move your deployment there... With SSH and SFTP you almost not need X at all once you get used to it.
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi Mariano,
-- I removed some of the applications you suggested from the packaging instructions and repackaged. Setting up the packaging in the first place is a pain but once it is it works well. The packaged image size went from 8MB to 5.5MB. I think I do lose the ability to do remote debugging but that is for another day. I copied the new image to the Zero while it was still running the RaspberryRelay program, via Total Commander, setup via SSH to login as root. Can you tell I really like that program. I then told it to reboot from my settings screen. It did and restarted the program without a problem. I promise to post about how to run a program at boot and how to SSH in as root, so you can copy or change any file you want. From Total Commander I can navigate to any file I want, select it, click on edit, change and save it as if it was local. Lou On Wednesday, October 17, 2018 at 10:47:44 AM UTC-4, marianopeck wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
On Wed, Oct 17, 2018 at 5:44 PM Louis LaBrunda <[hidden email]> wrote:
You don't. I can do remote debugging with my 3.5MB image without the compiler. In those "some of the applications" did you include EsParser and EsCodeGeneration ? because that decreased like 5MB just those alone for me. Or you need compilation in your Seaside program?
<offtopic> hahahhaah everybody that knows me, know how much fan I am of TC or equivalent. I started 15 years ago or so using norton commander under...hmm... Windows 3.11 or something. Then I moved to TC. 10 years ago I left windows and started with Linux. Started to use midnight commander / krusader / others. 7 years ago I started using OSX. At that point in time, I tried hundreds of dual-commander like approaches for OSX. But none was as TC. In addition, I recently needed (when I had to start using Windows) a cross-platform dual commandar. That means, had to work on my OSX host, as well as in my Windows and Linux VMWare guests. There is when I come to Double Commander. Of course, TC is better but Double Commander works on OSX, Linux and Windows.I am also a big fan of SSH, doing either VNC or X forwarding, and of course SFTP. So.. working with the Pi was kind of a pleasure to me ;) </offtopic>
Please post and share!
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi,
-- I check and I don't use Scriptaculous (I do use JQuery) without Scriptaculous the image size dropped to 5MBs. I'm happy with that size. I'm going to build a 4GB Raspbian Lite. I will report on how that goes. Lou On Wednesday, October 17, 2018 at 5:41:37 PM UTC-4, marianopeck wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Just FYI today morning I took a separate micro SD card (only 4GB size! haha) and I installed Raspbian Lite (minimal, without X). I configured SSH etc via command line and then I deployed my Seaside example and run the whole app with 'esnx' (VA VM binaries not depending on X). This shows how you can run really small VA .icx (around 3/4 MB) on a headless OS, without wasting CPU cycles on the UI and with less space on disk. Cheers, On Thu, Oct 18, 2018 at 11:33 AM Louis LaBrunda <[hidden email]> wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Louis LaBrunda
Sorry Everybody, while updating some files from Mariano, I managed to hose the system. It should be back tomorrow.
-- Lou You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi All,
-- On Thursday, October 18, 2018 at 5:49:44 PM UTC-4, Louis LaBrunda wrote:
Sorry it took so long but it is back up now. Next a 4GB Raspbian Lite for the old Raspberry (1 used by my friend to control his garage doors). After that a 4GB Raspbian Lite for this Zero. I want to see if it runs faster than the desktop as Mariano expects (at least a little). Lou You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi,
-- The 4GB Raspbian Lite for the old Raspberry (1 used by my friend to control his garage doors) if finished. Running the VA Smalltalk image required calling esnx instead of es and this line in the .ini file SOCKETS=esvm40.so needs to be SOCKETS=esvmnx40.so. These are the headless or non X binaries. Next a 4GB Raspbian Lite for the Zero. I'm sure I could just copy the SD card to another 4GB SD card for use in the Zero but I want to build it from scratch again for the practice and to make sure my notes are up to date. So, I need to take the Zero down for awhile. Lou On Sunday, October 21, 2018 at 10:22:28 AM UTC-4, Louis LaBrunda wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
On Tue, Oct 23, 2018 at 4:33 PM Louis LaBrunda <[hidden email]> wrote:
Thanks Louis for sharing. What's the final .icx size? Another possibility is to define: SOCKETS=libc.so And then be sure to have a symlink in your /bin. Something like: ln -s /lib/arm-linux-gnueabihf/libc.so.6 /home/pi/SeasideRelay/bin/libc.so
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi Mariano and Everyone,
-- We are back up with Raspbian Lite on the Raspberry Zero. On Tuesday, October 23, 2018 at 3:40:20 PM UTC-4, marianopeck wrote:
The final packaged image (.icx) size is 4.3MBs. It may be possible to make it smaller but I doubt it is worth the effort.
I think it would need to be: ln -s /lib/arm-linux-gnueabihf/libc. Is there an advantage to this like working for both X and non X? Or some other advantage? Lou You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
On Tue, Oct 23, 2018 at 7:06 PM Louis LaBrunda <[hidden email]> wrote:
OK, great. To me it also looks more than enough and not worth.
Yes.
I guess it's about preference. We have discussed this internally in the team. If you use esvm40*.so is just because the esvm also depends on libc: $ ldd esvm40.so | grep libc libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6cb3000) If you see the regular installer (not the server runtime), creates a libc link on the bin directory and the default .ini has SOCKETS=libc.so. Again, this is about taste, but I also prefer that approach (pointing to libc rather than esvm). Maybe others would find more advantages/disadvantages with the different approaches. Best regards, You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Hi Mariano,
-- Thanks for the help but I'm feeling a little confused or maybe it is dense. I think you are suggesting that I should put: SOCKETS=libc.so in the .ini file. And that I also need to run a command to create a link (I think) but exactly what command do I need to run? ln -s /lib/arm-linux-gnueabihf/libc. or: ldd esvm40.so | grep libc libc.so.6 or something? Lou On Wednesday, October 24, 2018 at 9:53:09 AM UTC-4, marianopeck wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Louis LaBrunda
Hi All,
-- Last chance. I will be taking this down tomorrow. I will be moving soon, so I have to pack things up. I just tested it and it has been running for weeks. I'm impressed with the little computer, VA Smalltalk and this little Seaside program. Lou On Thursday, October 11, 2018 at 3:31:43 PM UTC-4, Louis LaBrunda wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at https://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |