You would need to sign up to a DDNS provider like NO-IP or DynDNS, and configure that within the home hub manager.
That will give you a hostname which will always point to your home connection, as your public IP is dynamic.
You would then have to open the appropiate incoming ports on your home hub and PC.
You could use VNC, which is free, as a remote server. This uses port 5900 as default.
The VNC viewer is available on a number of platforms.
Not sure what ports Teamviewer uses.