7

Microchip đã xác định cách truyền dữ liệu qua năng lượng thấp BlueTooth (BLE) và gọi nó là MLDP (Tiểu sử dữ liệu năng lượng thấp Microchip). Họ đã chế tạo nó thành chip RN4020 của họ và thậm chí còn có một mẫu Android app.Sử dụng dữ liệu MLDP Microstream trực tuyến từ Android hoặc iOS

Tuy nhiên, tôi không thể tìm thấy bất kỳ đặc điểm kỹ thuật nào về cách thức hoạt động của giao thức hoặc nguồn của ứng dụng. Tôi muốn có thể sử dụng nó để gỡ lỗi một thiết bị nhúng từ Android và/hoặc iOS.

Có ai biết đặc điểm kỹ thuật cho giao thức hoặc phần mềm này triển khai không?

+1

Thật kỳ lạ là họ chưa ghi lại các thuộc tính, nhưng không khó để tìm ra bằng LightBlue của ứng dụng. Các loại giao thức mô phỏng cổng nối tiếp này thường có thuộc tính để gửi dữ liệu và một thuộc tính khác cho dữ liệu nhận được. – Paulw11

Trả lời

7

Hi tôi đã được ở cùng một vấn đề, nhưng tại thời điểm này tôi có một mã làm việc với MLDP, trước tiên bạn cần phải đi đến các trang web Module:

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

sau đó, dưới Documentation & Software bạn có thể tìm thấy:

  • Android Explorer 16 RN4020 PICtail Demo Mã
  • MLDP Demo dành cho Android
  • RN4020 Android App Demo

Mục đầu tiên là một ví dụ mã để làm việc với các mô-đun và MLDP từ android, nó sử dụng clases Bluetooth GATT được thực hiện từ Android 4.3 (API 18)

Các MLDP khái niệm cũng giống như bất kỳ 'GATT đặc trưng' khác của BTL, nhưng nó được gửi trực tiếp từ RF đến UART mà không cần vi điều khiển yêu cầu giá trị đặc trưng

trong mã ví dụ bạn sẽ tìm thấy hai dự án (một với dịch vụ) thành phần nền)), đi tới dự án 'RN4020 Die', nhập nó vào không gian làm việc của bạn nếu bạn muốn, nhưng theo src/tên gói/thư mục, bạn sẽ tìm thấy tập tin 'DeviceControlActivity.java '

tệp đó chứa mã chính để sử dụng đối tượng de BluetoothDevice bạn chọn và tạo kết nối GATT với nó, bạn sẽ thấy các chức năng như viết và đọc đặc điểm, kiểm tra và/hoặc sử dụng các phần của mã bạn sẽ có thể bắt đầu sử dụng các mô-đun như SPP

một số phần của mã của tôi để tìm hiểu và thực hiện nhanh chóng:

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

mGattCallBack là giống như mẫu mã của vi mạch, nhưng với sự thay đổi của:

@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 
} 

với sửa đổi đó, bạn sẽ nhận được một 'sự kiện' khi thay đổi đặc trưng, ​​trong trường hợp này, mỗi khi vi điều khiển gửi dữ liệu

bạn có thể sử dụng chức năng cung cấp 'writeCharacteristic' để gửi dữ liệu, bạn có thể sử dụng nó như này:

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

Cuối cùng, chức năng 'findMldpGattService' là quá quan trọng, nó sẽ so sánh các UUIDs tuyên bố của giao thức MLDP với có sẵn trên thiết bị, sau đó nó sẽ initialice đối tượng 'mDataMDLP', cho phép bạn sử dụng nó

Tôi hy vọng câu trả lời của tôi hữu ích cho bạn và người khác.

Các vấn đề liên quan