After installing 0.37 update we can use Pokemon Go plus. However there is a certification protocol before we can connect homemade hardware to Pokemon Go App. Here is my experiment on trying to mimic a real Pokemon Go plus.
1. Make sure the BLE device can bond with Android device. The device must support paring.
2. Make sure the UUID_SFIDA_COMMANDS characteristic has NOTIFY property. The Pokemon Go App will not read anything from BLE device until there is a notification
3. Don't try to reply with by hand with a BLE tool such as "LightBlue", you only have about 10 seconds.
The following info is the communication between App and device
1. Device starts advertisting
2. App connects to device
3. App pairs with device
4. App setups notification on SFIDA_COMMANDS
5. Device writes 3,0,0,0 (SFIDA_RESPONSE_CERTIFICATION_NOTIFY) to SFIDA_TO_CENTRAL and SFIDA_COMMANDS, this will create a notification to App
6. App reads SFIDA_COMMANDS then SFIDA_TO_CENTRAL
7. App writes 4,0,0,0 to CENTRAL_TO_SFIDA
8. Device writes 4,0,1,0 (SFIDA_RESPONSE_CERTIFICATION_CHALLENGE_1) to SFIDA_TO_CENTRAL and SFIDA_COMMANDS, this will create a notification to App
9. App reads SFIDA_COMMANDS then SFIDA_TO_CENTRAL
10. App writes 5,0,0,0 + 32byte (36 bytes total) random data to CENTRAL_TO_SFIDA
11. Device writes 5,0,0,0 (SFIDA_RESPONSE_CERTIFICATION_CHALLENGE_2) to SFIDA_TO_CENTRAL and SFIDA_COMMANDS, this will create a notification to App
12. App reads SFIDA_COMMANDS then SFIDA_TO_CENTRAL
13. App writes 3,0,0,0,3 to CENTRAL_TO_SFIDA
14. Device writes 4,0,2,0 (SFIDA_RESPONSE_CERTIFICATION_NOTIFY)) to SFIDA_TO_CENTRAL and SFIDA_COMMANDS, this will create a notification to App
15. App reads SFIDA_COMMANDS
16 App disconnects immediately
I wonder if there is a way to make a DIY NintendoDS bluetooth interface to obtain Meltan pack. That would be very useful. I guess the developers of Gotcha started from something like this.
Should anybody having some bluetooth communication knowledge be interested in developing something like that, feel free to contact me on telegram @AndrewD93.