I always want to create an API which lets me send value over the internet to an specific Arduino board or raspberry, I know that I can do it with a third party Server like> https://www.teleduino.org/ or https://www.yaler.net/ or if I use Raspberry I can install it Android and send data through GCM. But I don't want to use any other server, I already have a PHP hosting.
I think that I need to open a XMPP port or something to call directly the Ethernet shield or the the raspberry pi IP.
Will I need a static IP.
Any suggestions?