The arduino code
Mind you that you need a OneWire library – you can find a link to it here:
http://bit.ly/1U0UMgM
arduino code >>>>>>>
#include <OneWire.h>
int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2
//Temperature chip i/o
OneWire ds(DS18S20_Pin); // on digital pin 2
void setup()
{
// initialize the serial communication:
Serial.begin(19200);
// initialize the ledPin as an output:
}
void loop() {
float temperature = getTemp();
Serial.println(temperature); delay (500);
}
float getTemp(){
//returns the temperature from one DS18S20 in DEG Celsius
byte data[12];
byte addr[8];
if ( !ds.search(addr)) {
//no more sensors on chain, reset search
ds.reset_search();
return -100;
}
if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.println(“CRC is not valid!”);
return -1000;
}
if ( addr[0] != 0x10 && addr[0] != 0x28) {
Serial.print(“Device is not recognized”);
return -1000;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end
byte present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad
for (int i = 0; i < 9; i++) {
data[i] = ds.read();
}
ds.reset_search();
byte MSB = data[1];
byte LSB = data[0];
float tempRead = ((MSB << 8) | LSB);
float TemperatureSum = tempRead / 16;
return TemperatureSum;}
Step 6: Receiving data – the application side
Here you can find links to the app that receives temperature reading. There is also a source code that can be uploaded into MIT’s app inventor (when you’re in ‘my projects’ click the button ‘More Actions’ – you have an option ‘Upload Source’)
feel free to modify it 
The application >>
http://bit.ly/1U0UwP1
The source file >>
http://bit.ly/1XNzhXq
I’ll try to add something more descriptive soon, but here are some tips you might find useful if you’re trying to create your own app: Make sure you understand the terms ‘delimiter byte’, know how to set it from MIT’s app inventor and that it is a byte so be careful what data types you use. Also it seems that there is no serial timeout function implemented in the app inventor so sending data more often than receiving it can cause the app to crash (probably because there isn’t anything to flush the buffer)