I will have many (10-300) Raspberry Pies running my own software in different networks, probably without its own static public ip, but all connected to the internet. I need to be able to manage these devices somehow, for example, reboot remotely or update my software inside it remotely. How do i do it then? Are there any free softwares to manage pies or any other solution?
If you have a server (in this case
example.com) somewhere with a fixed IP, you can always do a remote port forwarding with SSH. The command is
local$ ssh -R 22:localhost:3000 firstname.lastname@example.org
Be sure to enable port forwarding in your server, adding the following to your
And restart the ssh on your server
server$ sudo service ssh restart
What it means is that if you enter to example.com:3000 you will be redirected to your local machine at port 22. And now is when the magic happens, you can simply do, from wherever in the world with internet access:
ssh email@example.com -p 3000
And you will sshing into your local machine.
If you put each of your RPis into a different port in your server, let's say from 3001 to 3100, you can just automate whatever you want to do by changing the value in
ssh firstname.lastname@example.org -p NN (where of course NN is the port).
ssh is for free, having a server is not. You may check Linode or DigitalOcean, they have plans starting at 5$/month and they both allow you to do what you want. So, if you are going to buy 300 raspis, 1 year of server service goes for around 0.7% of your budget.
Have a look at RealVNC's VNC Connect. It's a cloud-based "remote desktop" solution that doesn't require port-forwarding. Raspberry Pi recently announced it was available on their blog