Raspberry Pi becoming more prevalent?
The last half-year or so, I've been hacking on different Integrated Circuits, various small hardware, learning how to wrap specific C software (while ensuring the code remains within the Perl license) in order to bring the Raspberry Pi toward the realm of reasonable Perl programming.
I have written numerous pieces of software to allow this. The first was WiringPi::API. This is the core wrapper that allows you to use the wiringPi library right from your Perl scripts.
I pushed this further with RPi::WiringPi, which is an object oriented wrapper for WiringPi::API, but performs important benefits; it registers pins so you can't re-use them by 'accident', and it does an auto-cleanup (ie. it resets everything back to non-dangerous state) on failure. It also allows you to pull in other RPi-type objects and use them directly.
With the different ICs, hardware, etc that the RPI:: scope encompasses, I've finally run into a situation where I can't effectively ensure the quality of it all.
Now, my objective that I've been working on, is to set up three RPi3 boxes, with my Test::BrewBuild software, and have them run a continuous test, every time there's a new "push" to *any* repository under the RPi::* umbrella.
I have figured that getting this setup done, and aligning all of the various distributions will take me two weeks.
In the meantime, it would be appreciated if anyone with a Pi who plays around, to fetch some of the dists I've mentioned, play with them, and report any issues through the usual Github issue tracker, a PR or even an email or a comment here.
My goal is to make the Pi as available with Perl as it is with Python.
All of the distributions for the Raspberry Pi can be found in my CPAN list. Just look for /^RPi/, or the core, WiringPi::API.
Alas, I made a serious commitment to the BeagleBone Black (or Green) for my research. I thought about using the RPi, but the BBB has two independent processors, in addition to the main CPU, that I need for reliable high-rate (i.e. 50 kHz) data acquisition. If I were using the RPi, you would probably have already gotten pull requests from me.
I expect that these kinds of computing devices are going to get more important over the next five to ten years. Specifically, I think that physics departments will begin using them for hybrid electronics/programming courses. At my institution we have an electronics course on the books, and I have toyed with the idea of using an Arduino for some of the digital material. If my department could agree on adding programming to our curriculum, then we might move to RPi (or Beaglebones) as they would support something besides C++.
It remains to be seen just how the popularity of the individual boards will evolve. Apart from the BBBs, every board that I encountered was built around a system-on-a-chip taken or derived from cell-phone CPUs. RPi has certainly done well getting brand recognition, but when the it comes to spending money, I wonder how many folks will go for cheaper (C.H.I.P.) or more CPU-powerful (Intel Edison) alternatives. Does most of the RPi code you're producing work with other single-board systems?