LG301: Raspberry Pi - Terminal Tourment

So why am I doing this, why am I installing Linux… this is from my ramblings on this subject…

"3 years ago, Microsoft seemed to drop the ball on IoT devices… at least they dropped the Windows IoT Core and UWP ball and started playing with Azure IoT Edge and containers. I mean, I get it, they'd admitted defeat on phones, the whole UWP dream was dead… but then they port .Net Core to ARM Processors, without an operating system or graphical interface… I have about 80% of what I need to build devices, if they’d finished the job I’d be nowhere near a terminal window right now."

I keep re-visiting the Windows IoT Core website, did I miss something? It doesn’t say it’s dead?

But it’s dead!

Let's Get Started...

So .Net Core (or .Net 6) on Linux, let’s get ourselves a nice clean operating system to start.

https://www.raspberrypi.com/products/raspberry-pi-3-model-b-plus/

https://www.raspberrypi.com/software/

You Don’t Like Linux Do You Jon?

I don’t want to get into this with you, I really don’t. Because when I tell you why, the people who use Linux won’t understand what I’m going on about... and the people who do understand, won’t be Linux users.

" It’s ugly and most of the software on it is ugly… if you have to type commands into a console it’s not a good user experience."

That’s what I think of Linux, and it worries me that this is the environment where IoT devices will be developed and it is the operating system they will run on. Because if you’re happy to type commands into a console, then how low will you set the bar for your end-users experience?

Conway’s Law states that “Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure” this has been applied to areas outside software design, I believe something similar is at play here... Can you produce beautiful user experiences whilst having a bad one?

If Microsoft had finished the job, we could have been delivering UWP based applications and users would be experiencing the quality my son enjoys every day on his Xbox.

I should add, that I have huge respect for Engineers and work with some very talented ones, but as a Designer, I think we can consider a different approach, but first we need to install some software.

Open the Console window…

To start, type the following command:

echo "I’m not going to list every command for you to copy and paste"

Sorry, this isn’t a step-by-step if you are considering building something similar, I installed the following software in the following order. The 'How Too’s' below go some way to illustrating my frustration, one problem with one dependency and you’re in a world of trouble! Good Luck!

HiFiBerry Amp 2 – DAC Drivers

Amplifier Hat that sits on top of the Raspberry Pi.

https://www.hifiberry.com/shop/boards/hifiberry-amp2/

https://www.hifiberry.com/docs/software/configuring-linux-3-18-x/

Raspotify - A Spotify Connect Client

This is a Spotify Connect client, we are going to also need access to the Spotify API to control the playback and get track info.

https://github.com/dtcooper/raspotify/

https://pimylifeup.com/raspberry-pi-spotify/


What Else…?

A webserver do we need to install Apache? Are we going full LAMP on a Raspberry Pi? Nope, we’ll use .Net’s built-in Web Server, Kestrel. The entire .Net App installs to a single folder and we run it with a single command that we… you guessed it… type into the console.

But we will need a browser to view the beautiful interface…

Chromium - It’s probably installed but if not, back to the console window!

With this software installed and your Pi rebooted, it should now be visible to any AirPlay or Spotify capable device on your network.

We have a player now let’s help it choose what it plays.

© 2020 - Wezmondo.Core