I am new to arduino programming. I want to sense temperature and send it to a server in my college. I am using Arduino Uno R3 board which has ATmega 328P micro-controller. I am able to get serial output on my PC but is there a way in which I can send temperature data to the server in a packet format using Arduino Programmer and not using Ethernet Shield ? Please answer in a less complex way.
2 Answers
Without an ethernet shield or some kind of other internet connectivity shield/circuitry you cannot communicate directly with the internet through the arduino. However, if having a computer as the internet communicator isn't a problem you could try a setup like:
arduino->serial (usb)->processing->internet
This way you create the internet packet in processing using the temperature information received through serial from arduino.
see also https://processing.org/
Use an Arduino Yún: it's a Leonardo coupled with a CPU running GNU/Linux (a flavour of OpenWRT).
Using the Bridge library, your sketch can delegate tasks to the linux side.
HttpClient example (Examples > Bridge > HttpClient) GETs a page from the Arduino web site, but the HttpClient class may POST whatever data to a server of choice.
There is also a nice example called SendDataToGoogleSpreadsheet (Examples > Bridge > Temboo > SendDataToGoogleSpreadsheet): it accumulates sensor readings on a google spreadsheet. I've used something like that on a project of mine.