Brew Controller Update 4 - Controller POC
Posted on June 21, 2024 • 3 min read • 429 wordsI made a boo boo.
So in Update 3 I made some bold statements about my direction in the development of the controller software that would sit on the Raspberry Pi.
I promptly went off to start on my POC’s of a web app and find a way to knock up a c++ option fairly quickly. I was getting a bit frustrated here because it just wasn’t looking like I could do that and out of frustration I returned to Avalonia and the community forums to see if I could find a “home project” type licence pricing option. While diving down that rabbit hole I discovered a page in the documentation for the standard Avolonia framework that walked you through building and deploying an app for the raspberry pi. The guide was old, it targeted .Net core 2.1 but I figured, might as well give it a shot.
So I followed their getting started example that builds a music library app, ran it on my windows machine no problem. I then followed the Microsoft guide for publishing a .net 8 application for the linux-arm64 architecture and copied that folder over to my test raspberry pi.
After spending an hour trying to figure our why it was just not running, I suddenly remembered that it is a linux OS and I need to reset the execute permissions on the execution file. I did that, and off we went. App loaded up and I was able to use all the features.
So, it looks like I am going to be building the controller app using C#, .net 8, and avolonia.net (Not XPF) as it is open source and has a free use licence. I did feel like the UI was not as good looking on the raspberry pi, but that may be down to me using an old Raspberry Pi 3B+. I do plan to update my controller to the new Pi 5, so I am hoping the more up todate hardware will give me a better feel to the app, but if not, thats fine as it is an “industrial” function anyway.
So, hopefully the next update I will be able to share some screenshots of some end to end functionality, it will more than likely just be the controller connecting to and registering itself with the backend services for now, but that will be a big step forward for me.