aws / amazon-freertos-ble-android-sdk

Android SDK for FreeRTOS Bluetooth Devices.
Apache License 2.0
49 stars 41 forks source link

User guide document and code miss match? #7

Closed Qspace closed 2 years ago

Qspace commented 5 years ago

Describe the bug I followed the instruction here to run demo app but cannot find some macro on source code COGNITO_POOL_ID, COGNITO_REGION .. The com folder was removed too? https://docs.aws.amazon.com/freertos/latest/userguide/ble-demo.html#ble-sdk-app

https://prnt.sc/phzjx3

bxpan commented 5 years ago

The document seems to be out of date.

The cognito pool id and regions should be configured in this file: https://github.com/aws/amazon-freertos-ble-android-sdk/blob/master/app/src/main/res/raw/awsconfiguration.json

The src code has been moved from com/amazon/aws to software/amazon/freertos https://github.com/aws/amazon-freertos-ble-android-sdk/tree/master/app/src/main/java/software/amazon/freertos/demo

Qspace commented 5 years ago

What about BLE_DEVICE_MAC_ADDR, BLE_DEVICE_NAME, MTU at sdk/app/src/main/java/com/amazon/aws/freertosandroid/MainActivity.java. I cannot find MainActivity.java?

And we don't need to configure TEMPORARY_IOT_ENDPOINT as mention here? https://aws.amazon.com/blogs/iot/using-bluetooth-low-energy-with-amazon-freertos-on-espressif-esp32/

bxpan commented 5 years ago

There’s no mainactivity.java anymore and you don’t need to configure BLE_DEVICE_MAC_ADDR, BLE_DEVICE_NAME, MTU. After you click the scan button , it will scan for nearby devices and list them on the screen. The MAC address and device name will be shown for each device .

Also, no need to set temporary iot endpoint from the app. The endpoint should be set in the device code and will be passed to the SDK at runtime. Note that you will only need the endpoint if you want to connect the device with cloud through the app proxy.

Take a look at step5 in https://aws.amazon.com/blogs/iot/perform-ota-firmware-updates-on-espressif-esp32-devices-using-amazon-freertos-bluetooth-low-energy-mqtt-proxy/ This is relatively up to date

Qspace commented 5 years ago

I followed the instruction which you requested but still cannot run the demo app sucessfully.

I used feature/ble-beta of amazone-freertos on esp32 kit, change to just-work pairing method because I use Bluetooth version 4.1 Screenshot_5

Qspace commented 5 years ago

I switched to relesea-1.5 branch of amazon-freertos and still got an issue. Using just work method for 4.1 BT version on Android phone Screenshot_7

Qspace commented 5 years ago

I tried with Android phone BT4.2 version and it has another issue. Some thing wrong with my Aws IOT MQTT broket endpoint? Screenshot_8

qiutongs commented 4 years ago

For the document mismatch, we are actively fixing it.

For the run-time problem, both the "feature/ble-beta" and "release-1.5" branches are not supported any more. Please switch to our "master" branch and retry it.

Qspace commented 4 years ago

I still got problem with network connection on the master branch Screenshot_9

qiutongs commented 4 years ago

Ok. Thank you for retrying with master branch. We are looking into it.

qiutongs commented 4 years ago

I replied in another issue you created. https://github.com/aws/amazon-freertos/issues/1414

bxpan commented 4 years ago

Hi Qspace, it seems there's error when establishing MQTT connection to AWS IoT. It might be due to an incorrect IoT policy. From you screenshot of log, the part to establish the connection was truncated. Is it possible for you to share the full android adb log and device log from esp for your testing? Also, if you could attach your iot policy, that might help to confirm that the policy is correct. Please mask any sensitive log/string when you share the log and policy.