i recently bought the “Grove BLE” bluetooth.
I’m trying to make it work with the grovepi+.
I plugged it into the RPISER port since it is supposed to be serial stuff.
I can successfully connect to UART0 and i’m able to receive incoming bluetooth message (Read).
However, i have trouble sending AT commands or even answer (Write).
Anyone already tried this ?
Thanks, have a nice day !
I forgot to mention, that i run a Raspberry Pi 2 on Win 10 IOT.
I will post my code soon.
Hey Antony, we haven’t tried the BLE sensor with WinIOT. It’s an interesting idea, but haven’t tried it yet. We’ll have to take a look, but you’re having trouble sending AT commands out of the serial, is that right?
Yes that’s correct !
I can read successfully data received on my SerialDevice.InputStream, however, when i write something on SerialDevice.OutputStream using a DataWriter, nothing seems to happen… even if it’s not AT commands, nothing is received on the paired Bluetooth client.
I will post my code today
Thanks a lot, have a nice day.
string aqs = SerialDevice.GetDeviceSelector("UART0");
var devices = await DeviceInformation.FindAllAsync(aqs);
var dis = devices.FirstOrDefault();
Serial = await SerialDevice.FromIdAsync(dis.Id);
// Configure serial settings
Serial.WriteTimeout = TimeSpan.FromMilliseconds(1000);
Serial.ReadTimeout = TimeSpan.FromMilliseconds(1000);
Serial.BaudRate = 9600;
Serial.Parity = SerialParity.None;
Serial.StopBits = SerialStopBitCount.One;
Serial.DataBits = 8;
Serial.Handshake = SerialHandshake.None;
Serial.ErrorReceived += Serial_ErrorReceived;
DataReader reader = new DataReader(Serial.InputStream);
reader.InputStreamOptions = InputStreamOptions.Partial;
uint bytesRead = await reader.LoadAsync(4096).AsTask();
if (bytesRead > 0)
string text = reader.ReadString(bytesRead);
Now the writing part :
async Task WriteToSerial(string data)
// Create the DataWriter object and attach to OutputStream
DataWriter dataWriteObject = new DataWriter(Serial.OutputStream);
//Serial.OutputStream.AsStreamForWrite().Write(Encoding.ASCII.GetBytes(data), 0, Encoding.ASCII.GetBytes(data).Length);
// Load the text from the sendText input text box to the dataWriter object
uint bytesWritten = await dataWriteObject.StoreAsync();
if (bytesWritten > 0)
Debug.WriteLine(bytesWritten + " bytes written success");