7

Microchip zdefiniował sposób przesyłania strumieniowego danych za pomocą energooszczędnej technologii BlueTooth (BLE) i nazwał ją MLDP (profil danych o niskim zużyciu energii Microchip). Zbudowali go w swoim chipie RN4020 i jest nawet próbka Android app.Korzystanie z danych strumieniowych MLDP firmy Microhip z systemu Android lub iOS

Jednak nie mogę znaleźć żadnej specyfikacji na temat działania protokołu ani źródła dla aplikacji. Chciałbym móc go użyć do debugowania wbudowanego urządzenia z Androidem i/lub iOS.

Czy ktoś zna specyfikację tego protokołu lub oprogramowania, które ją implementuje?

+1

To dziwne, że nie udokumentowały one atrybutów, ale nie powinno być trudno zorientować się w świetle aplikacji LightBlue. Tego rodzaju protokoły emulacji portu szeregowego mają zazwyczaj atrybut przesyłania danych, a inny odebranych danych. – Paulw11

Odpowiedz

7

Cześć byłem w tym samym problemem, ale w tej chwili mam kod do pracy z MLDP, najpierw trzeba przejść do strony Module internetowej:

http://www.microchip.com/wwwproducts/Devices.aspx?product=RN4020

następnie, na podstawie dokumentacji & Software można znaleźć:

  • Android Explorer 16 RN4020 PICtail Demo Code
  • MLDP Demo dla Androida
  • RN4020 Android App Demo

Pierwsza pozycja jest przykładowy kod do pracy z modułem i MLDP z android, wykorzystuje Bluetooth GATT clases który został wdrożony z Androidem 4.3 (API 18)

MLDP koncepcja jest jak każda inna "charakterystyka GATT" BTL, ale jest wysyłana bezpośrednio z RF do UART bez potrzeby mikrokontrolera do żądania wartości charakterystycznej

w przykładowym kodzie znajdziesz dwa projekty (jeden z usługą (Android komponent tła)), przejdź do projektu "RN4020 Die", zaimportuj go do swojego obszaru roboczego, jeśli chcesz, ale pod src/nazwa pakietu/foldery, znajdziesz plik "DeviceControlActivity.java '

ten plik zawiera główny kod do korzystania z wybranego przez ciebie obiektu BluetoothDevice i utworzenia z nim połączenia GATT, wtedy zobaczysz funkcje takie jak zapis i odczyt, sprawdzanie i/lub używanie części kodu, które będziesz mogli rozpocząć korzystanie z modułu jak SPP

niektóre części mojego kodu do szybkiego zrozumienia i realizacji:

mBluetoothGatt = mDevice.connectGatt(this, false, mGattCallback);//To connect to mDevice 

mGattCallBack jest taka sama jak przykładowy kod mikrochip, ale ze zmianą:

@Override 
public void onCharacteristicChanged(BluetoothGatt gatt,BluetoothGattCharacteristic characteristic) { 
    String dataValue = characteristic.getStringValue(0);//get modified data 
    RX.append(dataValue);//append it on my RX textview 
} 

z tą modyfikacją, otrzymasz „zdarzenie”, kiedy charakterystyczne zmiany, w tym przypadku, każdy mikrokontroler czas wysyłania danych

można użyć dostarczonego funkcję „writeCharacteristic” do wysyłania danych, można go używać jak to:

mDataMDLP.setValue("R=>" + TX.getText() + "\r\n"); 
writeCharacteristic(mDataMDLP); 

Wreszcie, funkcja „findMldpGattService” jest zbyt ważne, będzie to porównać deklarowane UUID z protokołem MLDP z dostępnych w urządzeniu, a następnie będzie initialice obiekt „mDataMDLP”, co pozwala na użyj go

Mam nadzieję, że moja odpowiedź będzie przydatna dla Ciebie i dla kogoś innego.

Powiązane problemy