On today’s episode of “Adventures in C++”: sending commands between two Arduinos running the same software. Not just data, but also instructions on how to process and execute that data. Even more, these commands have to be small enough for each Arduino to package, send, receive, unpack, and execute in less than 1/10th of a second.
Congratulations, you’ve made it this far! You have a server powered by open-source software that you can access from anywhere in the world, safely and securely. Now that you have a solid foundation in Linux and networking, you can start playing with different applications and services. Our final post will look at some tips for making the most out of your new server.
If you’ve been following the previous steps of this guide, you should have a secure, freshly updated installation of Ubuntu Server which you can access from another computer on the network using SSH. If that’s the case, you can safely unplug the keyboard and monitor from your server – you won’t be needing them. If you’re running your server behind a router (e.g., on a home network), chances are your server won’t be accessible from the outside world. This section explains how to make your server available to the public Internet so you can access it from home or while on the go.
At this point, you should be able to access your server through your local network. You won’t be able to access it from the Internet, but don’t worry about that just yet. There are a couple of important security steps before your server goes public that we’ll get to later. In the meantime, let’s focus on the real reason you’re here: hosting your own file sync and music streaming services locally.
Now that you know how to use your shiny new Linux server, it’s time to make it accessible over the network. After all, the client-server model mentioned earlier doesn’t work very well if the client and the server are the same machine. This part of the guide explains how to set up your server to communicate safely with other devices.
As a way to keep myself up-to-date with trends in networking and web design (and as a way to keep myself occupied on really boring days), I run a private server. Many of the services we take for granted – email, online calendars, address books, chat programs, and media streaming to name a few – are provided by companies in exchange for access to the information used within them. In networking terms, this is called the client-server model: the client (your web browser, smartphone, etc.) makes a request to a server, which is run by a service provider such as Google, Apple, or Microsoft.