I’m using the Gadgeteer to open a server socket (using the ethernet card)
I wish to consult the community, what known protocols are good to use in my case (I want to control the GPIO remotely, switch glide menus etc’)?
I thinking about using a REST’ful protocol, and even playing with the idea of doing it with HTTP, its a bit a stretch, but it might be worth it, what do you think?
are there any libraries for it in the .NETMF ? (4.2)
Not sure what constitutes ‘built in’, but I know that an http server is not hard to come by, and depending on your base system, may be built into the framework assemblies.
There are tons of choices here and you haven’t given us much to go on. “Protocol to support GPIO” doesn’t really give us anything to go on - it just tells us that you want to push stuff over the network, which is sort of the point of all protocols.
What matters is : what client requirements you have (mobile app, browser, desktop app); what server capabilities you have (which board are you using?); your throughput needs; tolerance for latency; tolerance for marshaling overhead; store-and-forward or direct messaging?; reliable transport requirements?; transaction support required?; TCP or UDP; broadcast or unicast? (and yeah, I could list 20 more I think).
Rule of thumb : If you want fast prototyping; proxiable messaging; ease of testing via browsers; well-defined security wrappers; self-describing contentl and inspectability via Fiddler - then use http. If you need broadcast, UDP, etc. then use sockets. If you need store & forward, transactions, etc., then consider a queuing/messenger protocol (Service Bus and friends).
All of them are available in netmf in one form or another.