Xiaomi Mi Bluetooth LE Band Protocol reverse engineered! - Android Software Development

Since there is no Forum for the Mi Band ...
After receiving my Mi Band yesterday I started digging inside the sourcecode of the Mi Band App to find out interesting stuff.
It works with all BLE device, not only Xiaomi ones
It uses an unsecure protocoll which can be reverse engineered, so you could build an API out of it or port it to other mobile OS.
I will update algorithms & the protocol asap, but there is already a lot of usefull stuff on the protocol inside my blog: http://allmydroids.blogspot.de/2014/12/xiaomi-mi-band-ble-protocol-reverse.html
If someone is interested in writing an API, contact me.

Great! But some questions:
1) when you say "I started digging inside the sourcecode" you mean the smali decompiled from the app apk, right? Or is there some open code I missed?
2) if we create an apk which exposes the API (for example via android intents) can it connect to the device at the same time with the original Mi app? Or is the pairing exclusive to an app so we have to hack the app itself (for example via an Xposed module)? (Note: I'm extremely ignorant about bluetooth LE).
Thank you!

bitblaster said:
Great! But some questions:
1) when you say "I started digging inside the sourcecode" you mean the smali decompiled from the app apk, right? Or is there some open code I missed?
Click to expand...
Click to collapse
Decompiled and looked at smali + java from smali (which skips stuff so make sure to check original smali, too)
bitblaster said:
if we create an apk which exposes the API (for example via android intents) can it connect to the device at the same time with the original Mi app? Or is the pairing exclusive to an app so we have to hack the app itself (for example via an Xposed module)? (Note: I'm extremely ignorant about bluetooth LE).
Click to expand...
Click to collapse
We are currently developing a BLE app to a customer and I agree that it is horrible. Android has really messed up everything they could when it comes to BLE.
Other apps could access at the same time. Pairing is done through the Android not the app itself. Although it could be that the band itself limits this somehow. I will check that soon.

Awesome...I'm glad I found this. I just got my band and didn't realize it only worked with the app from XIAOMI. Very disappointed. Also, I can't even set mine up right now. I set up an account and when I go to sign in it says I have the wrong password! When I go to reset the password it has to SMS me a verification code and it NEVER COMES. Total waste.
I hope you guys get this working soon and we can use it with apps that won't send our data back to mainland China. Do you know if this will work with 'Sleep as Android'? That's what I got this for. I thought it was a basic bluetooth device, not some proprietary POS.

NeoMatrixJR said:
Do you know if this will work with 'Sleep as Android'? That's what I got this for. I thought it was a basic bluetooth device, not some proprietary POS.
Click to expand...
Click to collapse
I uploaded a very first Android App today but it can do only very few things yet - but currently it doesn't do the setup. I don't know that app so I don't know if it can interact with other devices and if, how good. But the Miband can detect sleep phases (pretty good for me) and can wake you, so I guess it could be possible.

motioncoding said:
I uploaded a very first Android App today but it can do only very few things yet - but currently it doesn't do the setup. I don't know that app so I don't know if it can interact with other devices and if, how good. But the Miband can detect sleep phases (pretty good for me) and can wake you, so I guess it could be possible.
Click to expand...
Click to collapse
Downloaded and tried to install your app. Unfortunately gave me an error. Looking forward to a new version.
Thanks for your effort [emoji106]

andbroe said:
Downloaded and tried to install your app. Unfortunately gave me an error. Looking forward to a new version.
Click to expand...
Click to collapse
Does your device support Bluetooth LE and is Bluetooth enabled?

motioncoding said:
Does your device support Bluetooth LE and is Bluetooth enabled?
Click to expand...
Click to collapse
Yes and yes. The problem is during installation. "Error parsing the package"
My phone is a Samsung Note 3
Cheers from Switzerland

andbroe said:
Yes and yes. The problem is during installation. "Error parsing the package"
Click to expand...
Click to collapse
Ah you tried the .apk from /bin? Thats not working. You have to compile it. I will upload a working one when it has some more features.

Hello again,
downloaded and installed Android Studio. Compiled your project, all went quite smooth. Unfortunatly the app still does not quite work. Without the band close it quickly complains that there is no band around (good). With my miband close, it scans for ever (not good). Somehow it does not communicate with it.
The BLE Device Monitor detects it well.
Regards

andbroe said:
Hello again,
downloaded and installed Android Studio. Compiled your project, all went quite smooth. Unfortunatly the app still does not quite work. Without the band close it quickly complains that there is no band around (good). With my miband close, it scans for ever (not good). Somehow it does not communicate with it.
The BLE Device Monitor detects it well.
Regards
Click to expand...
Click to collapse
Hi,
I tried the same actions. Seems problem with discovering.
According to google:
startLeScan: Added in API level 18 This method was deprecated in API level 21.
Changed API from default 21 to 18 - nothing has changed.
MI device is visible in other BLE apps, in Bluetooth settings as well. Original translated app working well.
Nexus 4, android 4.4.4
Android Studio 1.0.1
Regards,
Klym

yeah, I commented out the code that actually loads data. Will fix that.

Could you get the Mi Band to sync with Google Fit?
---------- Post added at 09:45 PM ---------- Previous post was at 08:49 PM ----------
motioncoding said:
I uploaded a very first Android App today but it can do only very few things yet - but currently it doesn't do the setup. I don't know that app so I don't know if it can interact with other devices and if, how good. But the Miband can detect sleep phases (pretty good for me) and can wake you, so I guess it could be possible.
Click to expand...
Click to collapse
There is an api for Sleep as Android.
https://sites.google.com/site/sleepasandroid/doc/sleepcloud-api

How about accelerometer raw data or sleep data, is it available?

Hi,
i try to connect my miBand with my laptop.
I found this site with some source code:
https://bitbucket.org/OscarAcena/mibanda
I installed all dependencies and run this as sudo python miband.py:
Code:
from gattlib import DiscoveryService
service = DiscoveryService("hci0")
devices = service.discover(2)
for address, name in devices.items():
print("name: {}, address: {}".format(name, address))
But after 10 seconds, I get an empty result.
My hciconfig shows this:
Code:
[email protected]:~$ hciconfig
hci0: Type: BR/EDR Bus: USB
BD Address: 00:C2:C6:59:91:73 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:1475 acl:0 sco:0 events:71 errors:0
TX bytes:1723 acl:0 sco:0 commands:47 errors:0
Does anyone know, what to do?

I'd happily swing a few bucks for an app where it can link with google fit.

reconchrist said:
I'd happily swing a few bucks for an app where it can link with google fit.
Click to expand...
Click to collapse
Well...

I just have a quick questions about the possible functionality of the MiBand and what has been discovered thus far. Can the LEDs be individually controlled? Also, I know you can dismiss an alarm by touching the MiBand, does it detect this touch through motion or is there a capacitive switch in the MiBand?
I don't know how much help I can be, but I'm just curious about the technologies that they've been able to pack into the band.

Devo7v said:
I know you can dismiss an alarm by touching the MiBand, does it detect this touch through motion or is there a capacitive switch in the MiBand?
Click to expand...
Click to collapse
Seems there is no "touchpad", when needed (alarm and pairing) bracelet just detect vibrations from finger knocks.
Very likely it's internal firmware function and can't be accessed outside.
Also some advertising: useful additions for Mi Band

@motioncoding
Can you please tell me what Bluetooth profiles are supported by Mi Band ?
For this:
1. Go to the Bluetooth settings on your phone
2. There you will see the names of Bluetooth devices listed including the Mi Band
3. There will be a gear (or options) icon beside the name... tap on that and please post a screenshot of the screen that appears.
Thank You

Related

[Q] Firesheep app for Andriod

Hello all,
Its been a long time no speak on this forum for a while, I have finally made the jump from WM (HTC LEO/SE X1) to Android on a Dell Streak. Admittedly I am still waiting on a stable o2 sanctioned version of Froyo to put SENSE UI on!
My question here relates to Firesheep, an add on for Firefox that allows packet capture on public WiFi networks. I was wondering if anyone could port this application to android as a stand alone App, or if anything else similar had been developed?
I hope someone can give me an answer at least to the feasibility of this request.
+1
I too would love to know hehe
Sent from my Desire HD using XDA App
It would require drivers for the wireless chipset in the phone to be put in promiscious/monitor mode to capture packets, as far as I know, neither is possible, unfortunately.
timekeeper said:
It would require drivers for the wireless chipset in the phone to be put in promiscious/monitor mode to capture packets, as far as I know, neither is possible, unfortunately.
Click to expand...
Click to collapse
Couldn't it run in firefox mobile
monitor mode in galaxy S
There is an app available in market called pixie who get the promiscuous mode for the wifi interface. I'm able to capture packets in Samsung Galaxy S (GT-I9000) with the app installed.
Now we're waiting for firesheep realease for android... it's impossible to install the XPI in Firefox mobile beta...
Yeah, I tried porting the XPI over to firefox mobile, but it wont work without a packet capture utility, like WinPcap, which is used with the normal Firefox Win version.
I would be definately interested in seeing where this goes though...
vit_mar said:
Yeah, I tried porting the XPI over to firefox mobile, but it wont work without a packet capture utility, like WinPcap, which is used with the normal Firefox Win version.
I would be definately interested in seeing where this goes though...
Click to expand...
Click to collapse
It is also working in OSX so I guess libpcap should be enough to use it. By reading this http://seclists.org/tcpdump/2010/q1/98 it seems that there is support for Android. However you will need root access to use it.
This thread, discussing Shark for Root app, refers to a lot of functions that firesheep uses: http://forum.xda-developers.com/showthread.php?t=725692
Perhaps using libpcap/tcpdump (as janfsd suggested), we can port this over. Root is a must though, true...
any updates?
i need this for my N1
Tanks
Bumping for an update on this project!
Found this thread in google. Try http://faceniff.ponury.net/ I've wrote it yesterday I wrote it to sniff only facebook accounts but it can be easily modified to other services.
Hello!!
This is awesome! wooow! I don't mean the fact that you can steal web session profiles,
but the fact that an Android application can open an interface e.g. WIFI and realise sniffing -
network monitoring without being run as root or system. To do so, an application should be
signed with the platform's key : http://stackoverflow.com/questions/6010796/run-secure-api-calls-as-root-android
How is this possible?? I am really wondering about that. Some time ago I tried to port
jNetPcap, so as to use it in an Android application for monitoring the WIFI. I successfully
ported it but I couldn't read the list of Android interfaces from its API and realise web
monitoring.. (see here for details: http://stackoverflow.com/questions/5966603/jnetpcap-on-android-problem-with-findalldevs-method,
http://jnetpcap.com/node/792)
I am really wondering how faceniff faces this problem??
e.g. Shark for Android runs an instance of libpcap in the background and derives the
appropriate information from the pcap traces..
What faceniff do to get the information it wants, e.g. the web sessions?? I am
really curious about that.. Any ideas?
faceniff runs as root....
Yes, but how is it possible to make an application that runs as root?
There is no Android permission you can use in Android manifest to give you
such privileges.. Even other Android applications that run only in rooted phones
cannot open an interface an capture traffic, and for this reason they run in the
background a tcpdump and process the pcap traces it produces (e.g. Shark for
Android).
is anybody here that knows how faceniff can capture packets??
I know how it works because I wrote it
It has a binary file which lies in /data/data/net.ponury.faceniff/
Then the java app executes "su" (to gain root permissions) and executes that binary file. And it grabs results from the binary showing them on the screen. Hope it helps.

GPS SirfIV Tool Development - Disable Static Navigation / ...

Hello
I just stumbled over this document: micro-modular.com/docs/AddlRsrc/GSD4e OSP Manual (CS-129291-DC-9).pdf
So, for example on site 119 for example you can see that it is possible to disable the static navigation filter by sending the corresponding Payload Sequence to the SirfIV chipset. The only question which remains is "how can we send these strings to the chipset".
And this is the point where we need some really brilliant XDA developers. If someone would manage to open the communication way to the sirf IV chipset, it would be possible to reconfigure this chipset totaly free.
At the beginning it can be a really simple tool where you have to enter the Start sequence, payload and end sequence which should be send manually. This would be good enough. But the biggest part will be to find a way to communicate with the GPS chipset. Maybe someone knows some good tools to find out how to communicate with the GPS chipset.
I'm very curious on your suggestions.
Best regards,
Chris
And here we can see what static navigation is doing with our tracks. On the right side I was running (high speed) and on the left side I was walking (slow speed). You can see that the static navigation feature freezes the track if you do not move very wide within approx. 30 seconds and releases the freeze if you moved a certain distance. This continues until you are moving at higher speeds.
To generate the tracks the original NMEA data from the SirfIV GPS chipset was dumped every second.
Because of the zoom level you can not see every timestamp, but there IS a trackpoint every second. While at higher speeds they are aligned along the track (right side) the are lying at exactly the same place during the freeze on the left track.
Best regards,
Chris
Maybe an interesting place to search for is the file:
/system/lib/hw/gps.s5pc210.so
Inside this you will find strings like:
MI_SetStaticNav
NL_GetStaticNavMode
NL_SetStaticNavMode
NL_Get_StaticNav_Status
NL_GetStaticNavMode_NL3
NL_SetStaticNavMode_NL3
NL_StaticNav
MI_GetStaticNav
StaticNav: %s3SV
NL_SetStaticNavMode()
NL_StaticNav()
Seems to be interesting.
Best regards,
Chris
And for the usage of the "MI_GetStaticNav" and "MI_SetStaticNav" functions see:
read.pudn.com/downloads28/sourcecode/embed/88065/SDK%20Users%20Guide%20Part%201%20-%20Software.pdf
Page Nr. 196
Is it possible to use the functions defined within the .so file from your own programs???
segelfreak2 said:
Is it possible to use the functions defined within the .so file from your own programs???
Click to expand...
Click to collapse
Yes, it is possible and easily done.
segelfreak2 said:
Hello
I just stumbled over this document: micro-modular.com/docs/AddlRsrc/GSD4e OSP Manual (CS-129291-DC-9).pdf
So, for example on site 119 for example you can see that it is possible to disable the static navigation filter by sending the corresponding Payload Sequence to the SirfIV chipset. The only question which remains is "how can we send these strings to the chipset".
And this is the point where we need some really brilliant XDA developers. If someone would manage to open the communication way to the sirf IV chipset, it would be possible to reconfigure this chipset totaly free.
At the beginning it can be a really simple tool where you have to enter the Start sequence, payload and end sequence which should be send manually. This would be good enough. But the biggest part will be to find a way to communicate with the GPS chipset. Maybe someone knows some good tools to find out how to communicate with the GPS chipset.
I'm very curious on your suggestions.
Best regards,
Chris
Click to expand...
Click to collapse
Not Applicable.
The GS2 has a GSD4t, not a GSD4e. It's the "crippled" version of the Star IV that uses the host processor to do all the work.
Entropy512 said:
Not Applicable.
The GS2 has a GSD4t, not a GSD4e. It's the "crippled" version of the Star IV that uses the host processor to do all the work.
Click to expand...
Click to collapse
Hello Entropy512,
thank you for your comment. I know that the SGS2 has a GSD4t unit. But despite the document is named GSD4e OSP Manual... it is also applicable to the GSD4t version. So it is written in the document. And as I posted, there is a .so file who has all these functions in it. We just need to use it. And I think that the functions provided within gps.s5pc210.so are really worth a try.
aerobahn said:
Yes, it is possible and easily done.
Click to expand...
Click to collapse
Hello aerobahn,
many thanks also to you for your input. Your answer sounds great in my ears . I think it should be worth a try if it is really so easy to use functions defined within a .so library file. I do not have any experience in programming for android, but if someone who has would try it I would appreciate that. Because without static navigation the SGS2 would be a very good GPS logger too. And this can be somtimes very valuable, for geocaching, hiking tours, even low speed navigation...
Best regards,
Chris
No one who wants to try? Please. If you succeed I'm willing to honor your effort.
I have no programming skills at all but i am able to test whatever lib is generated
I can test daily in a 30 Km path (and 30 Km back).
segelfreak2, what you really want is to enable satic navigation and not disable it, as it is already disabled by Samsung. Static navigation disabled means filtering is ON. Static navigation enabled means filtering OFF. It is a common misconception.
Nevertheless, I have developed a tool called GPS Control for SGS2. You can check it out on market. It does exactly what you need. Just remember to reboot after changing Static Navigation config. It requires root access and works only on I9100.
You are welcome to propose any additions you might want in future versions.
The app doesn't work with CM7. I'd like to know if static navigation is enabled in CM7 by default.
Sent from my GT-I9100 using XDA App
Yes, it is not supposed to work with CM (yet). Just send me your gps library file (.so) and I can update the app so that it works with CM also. (or I'll just send you a modified .so)
It's not working with MIUI too. If you tell me which file(s) you need, I would give them to you. At the moment it just says unknown driver.
Sent from my GT-I(OVER 9000!!!!) using XDA App
In recent stock firmwares the file is /system/lib/hw/gps.s5pc210.so
In older ones the file was /system/lib/hw/gps.GT-I9100.so
steffato said:
segelfreak2, what you really want is to enable satic navigation and not disable it, as it is already disabled by Samsung. Static navigation disabled means filtering is ON. Static navigation enabled means filtering OFF. It is a common misconception.
Nevertheless, I have developed a tool called GPS Control for SGS2. You can check it out on market. It does exactly what you need. Just remember to reboot after changing Static Navigation config. It requires root access and works only on I9100.
You are welcome to propose any additions you might want in future versions.
Click to expand...
Click to collapse
I'm curious, why did Samsung disable static navigation by default?
I think this would be good for those who uses the phone to track their marathons etc
mengsuan said:
I'm curious, why did Samsung disable static navigation by default?
I think this would be good for those who uses the phone to track their marathons etc
Click to expand...
Click to collapse
As long as you don't walk the marathon, you should be fine
@ steffato: I've sent you a pm with the .so files​
Just updated the app in the market. It now should support both MIUI and CM. Try it and I 'm waiting for results. Thanks for your input.
Please be patient. The update may take some time to show up in the market.
Raudi1 said:
As long as you don't walk the marathon, you should be fine
@ steffato: I've sent you a pm with the .so files​
Click to expand...
Click to collapse
I tried endomondo on the phone. It does "pause" my location and then update seconds later. Average speed is 9-10km/h
Sent from my GT-I9100 using Tapatalk
Don't forget to reboot after changing setting. It's required or there will be no change. On some cases the phone may crash and reboot on its own, unless you rebooted after changing settings.
If you want to check your gps behaviour after enabling static navigation, you should try disabling any filtering options that you app might have. I test with locus after disabling filters.
Don't test it with googlemaps. There is filtering in that app, therefore gps behaves the same either with sn enabled or disabled.
Sent from my GT-I9100 using xda premium
thank you.
your program is working quite good.
mayby you should create a separate topic in the original dev forum?
the question is how it influence battery life?
Sent from my GT-I9100 using Tapatalk

[Update 13/Oct] Beta Testers Wanted for WiFi Direct app

Hi guys,
Google market version is the most up-to-date.
Soon to remove the BETA tag out of it.
New Link as of 13th of October!!
Ok, file handling should be spot on now.
I've tried several different ways of sending from good sources and bad sources and I reckon I cover all the bases.
To organise some stuff I've removed the internationalisation, sorry, for now is english only, soon I'll put back the other languages.
If I managed to put the tutorial on it on the next few hours I'll update it as V0.4 on the google play, but I'm not sure it's going to happen, maybe tomorrow.
so the plan now is:
- tutorial
- tips n tricks
- logging for missing intents (maybe)
- future feature? NFC? bump? who knows.
have fun!
New Link as of 08th of October!!
Hi again guys,
I found out what was wrong on the file on the 7th, it was not the transmission or connection or even anything WiFi related. It's just that the files can come from several different sources I'm not properly dealing with them.
So here's the deal, this new build, I just blocked the files the app is not handling properly (most likely from 3rd parties galleries, and should work as expected on local files from the stock gallery). Files that are currently not handling properly should just close the app and pop-up a quick message saying "Can't handle this 'Share' at the moment, we're working on it!".
so let's recap:
- local media files from the gallery should work
- connection process is still and will always be hardware/manufacturer dependent and it might or not work.
- transmission (once passes connection) should work rock solid. Including canceling transmission midway through and also once completed tapping on the notification to open the media.
What I'll work on next:
- proper handling of every possible file/intent
- include a tutorial that will appear the 1st time the app is opened.
- a tips & tricks section with what I learned until now on what's best to get it connected.
and after that we should be in a V1.0... does it sound ok?
have fun!
New Link as of 07th of October!!
In this one I completely redid the transmission process and it's ROCK SOLID !!!!
The version on the market if you try really big videos they'll eventually fail, with this new protocol I've transferred HUGE 1.7giga video file without any problem.
Furthermore there's TONs of optimisations on the transfer speed that you won't see on this version, but it's already on the file and it will be unlocked by the future paid version that give around 2 to 3 times after transfer times.
Before put this version into the market I'll include a tutorial and link to the youtube video, but you guys can already test it.
PS.: also there's not much internationalization on this one, there some parts that language will be lacking, I'm aware of it don't need to come tell me.
Have fun!
---------------------------------------------------------------------------------------------
I've doing an open beta testing of the first and only (until now) WiFi Direct sharing app available in the Google Play.
here is the link for it:
https://play.google.com/store/apps/details?id=com.budius.WiFiShoot
I just finished refactor most of the code and should be smooth stable now.
So I'm creating this thread to invite anyone that have a FORCE CLOSE to get a Logcat and post it here for me
Please also state if it was the Sender or Receiver, the phone manufacturer/model and which ROM you're running.
Please do not post if you try to connect but the other device fail to reply, or if you device reboots when you try to switch the WiFi Direct on.
Those problems are 100% unrelated to the App itself and it's direct related to the hardware and OS on it.
Developers info:
The WiFi Direct API is 100% with callbacks. So the app just requests a connection and wait for a callback. And sometimes the callback is "failed to connect".... why this happens? is up to the OS.. the OS is responsible to all the transactions and there's no API available for any app to interfere with the process.
Hi, Nice app! It didn't force close on me at all and the UI design has a good look and feel. I just tried it with my Nexus 7 and Galaxy Nexus (both stock 4.1.1) and it worked. However, when launching the app to receive you might want to add a help menu or something to tell you what to do on the other device otherwise people might think to share something you need to launch the app on both devices and then share from there (this is what I did at first because I didn't watch your video!)
Is there any way you can launch the app automatically on the receiving device when the other device tries to send something? Also tapping "Shoot" to receive something is slightly odd. "Receive" or "Receive Shoot" might be better.
footboydog said:
However, when launching the app to receive you might want to add a help menu or something to tell you what to do on the other device otherwise people might think to share something you need to launch the app on both devices and then share from there (this is what I did at first because I didn't watch your video!)
Is there any way you can launch the app automatically on the receiving device when the other device tries to send something? Also tapping "Shoot" to receive something is slightly odd. "Receive" or "Receive Shoot" might be better.
Click to expand...
Click to collapse
Yeah, the help will definitely be necessary but at the moment I'm focusing on nailing the actual software functionality. Non nexus devices not always works so nicely.
When I started developing I though about the same (auto launching) but it can't be done, unfortunately, I wanted something liked the show on last year Google io for he ask. But no, I couldn't do it without taking over ALL WiFi direct transactions on the device, which I reckon it would be bad a behavior. Maybe in the future I'll thin about it as an option for the paid version.
About the shoot.... hmmmm..... it kinda feels better to have the confirmation on the receiver, but for sure feels like the text could be different, but then the "cool factor" of it is to have that single big button with a very simple and almost graphical SHOOT, that won't even be translated to other languages.
Something to think about it.
Sent from my Nexus 7 using xda app-developers app
nice app
waiting it support any file type
thanks
@Dev
Great work, any plans to expand the functionality and maybe expand to share a wireless shared connection from your laptop using direct wifi?
Sent from my htc_jewel using Tapatalk 2
Nice initiative, I am on evo 4g lte. I tried it with my laptop sony viao, installed to latest atheros utility which haves wifi direct interface.
wifi shoot found it, invited it, get connected.
I just tried to send a songs or 3gp file thru root explorer. without enabling wifi direct from setting.
In send option it shows wifi shoot. I clicked on wifi shoot.
wifi shoot connect to my laptop wifi direct. then nothing no transfer.
Great work. Very high potential. once again great initiative. Thanks.
I'm sorry but you misunderstood the function of the app.
Is a direct transfer from android device to Android device, and both devices must have the app installed. It has never been meant to be used with a laptop.
Sent from my Galaxy Nexus using xda app-developers app
Works great! I sent a small video from my S3 to my N7 successfully. Thanks a bunch, will try a big file later.
Sent from my Nexus 7 using xda premium
Budius said:
I'm sorry but you misunderstood the function of the app.
Is a direct transfer from android device to Android device, and both devices must have the app installed. It has never been meant to be used with a laptop.
Sent from my Galaxy Nexus using xda app-developers app
Click to expand...
Click to collapse
ohh got it. both device same apps. Thanks. will test it. Sorry
My Nexus 7 and S3 don't play wel together.
What does work is using the S3 as a hotspot and then run Samba on the Galaxy S3 (Root required)
Samba takes a while to activate.. but after it does you can browse your phone using the Nexus 7 and copy stuff... no limitations on specific file extansions either.
It work great... for a picture. But I want to transfert any file I want and Wifi Shoot! doesn't appear in "Send"/"Share" menu in ES file explorer or X-Port... What can I do ?
NFC pairing would be a great addition to this app! Maybe include it in a pro version of the app and charge a small fee? I'd definitely pay for it!
taylortr said:
I sent a small video from my S3 to my N7 successfully.
Click to expand...
Click to collapse
jwedda said:
My Nexus 7 and S3 don't play wel together.
Click to expand...
Click to collapse
It's not the first time I hear ppl saying that S3 and N7 doesn't play nice together, but on the other side, there're reports that they do work nice.
Can you both tell me which versions of the S3 you have? Some US variant or the international?
thanks.
Work great beetwin mu gnex and n7
Nice work bedalus, now we only need The ability to share every file, not only media from gallery
dropped by a jellybeans cup...
Just downloaded to both my N7 and my GNex.
I really need something like this for files. As of right now, I'm using WiFi Explorer. It works but this would be faster.
The version from the Google play store (v0.3.5) worked fine both ways with my Galaxy Nexus with JB and my bro's Galaxy Nexus with JB. We both had to looking at the program during pairing to get the notifications though.
I was able to transfer a 323 mb .mkv video file in 2:30 mins. Pretty good considering transferring the file originally to my phone took about 15 mins over wifi via a PC router.
By the way, is there any reason in particular you made it so you can only transfer pics and video files? The program would be much more useful if you could transfer any file type.
Can i use it between galaxy S and SIII?
Please, add all kind of file type. Not only image and videos, also others type (.pdf, .zip, .dat…).
Wifi shoot installed on i9100 and i9000, both devices on Rom ICS AOKP milestone 6. The process work fine only if I follow exactly the same steps on the demo video :
Receiver:
1- Open wifi shoot and wait
Sender:
2- Open the apps where the file to send is
3- Share via wifi shoot
4- wifi shoot apparears and select client to invite
Receiver:
5- Accept the invite
6- Click on big button shoot
Sending + receiving…
So, if we follow the guide of use, wifi shoot work fine. But please, add support for all kind of file type. Not only image and videos, also others type (.zip, .pdf…).
Please, continue to develop this great app, I hope one day you will be able to win money with it.
Wifi shoot are not still unique for wifi direct. There is also this apps, but not working at all for my devices.
philippe734 said:
The process work fine only if I follow exactly the same steps on the demo video
Click to expand...
Click to collapse
Hi,
thanks for the reply and tests. Could you further explain, how else were you expecting it to work? DId you try some other way?
I'm currently working on a better protocol to make the transfers more reliable, after that is fine tuned I'll enable every file type, multiple files and photos that are synchronised from picasa.
wifi shoot! is a great idea ... but would be better to have some kind of server on the phone that allow to share any file to another phone or tablet. Something like an ftp server or upnp/dlna server. This way we wont have to send the files frome the phone, we will just need to request it from the other device.
I don't know how wifi direct works ... but if it works using TCP/IP the only thing we need is to know de wifi direct IP address of the phone to connect to any available ftp/smb/upnp server phone from the other phone/tablet connected via wifi direct ...
the problem is: the available servers will be bound to the external IP only or will accept requests from the wifi direct interface? maybe this willraise the need of a special server and client prepared to work via wifi direct ..
PS: sorry about my poor english

guide : Gadget bridge for smart watches and bands(Mi Band 6)

Gadget Bridge for Mi Band 6 Privacy oriented and Open source build
A free and cloudless replacement for your gadget vendors' closed source Android applications.
i am using it as a daily driver, and they gave recent support for mi band 6, and i am loving it INFO
Gadgetbridge, an open-source app that focuses on removing the manufacturer out of the equation.
Gadgetbridge is an android application that allows users to use various smart bands such as Pebble, Mi Band,
Amazfit Bip, HPlus ZeBand, XWatch, and more, without constantly utilizing the vendor’s closed source application.
It also does away with the need to create an account and transmit your user data to the vendor. What’s more,
the open source nature of this app allows users to be confident about how their data is handled and ensure that it
does not leave their devices. -- XDA
Changelog 0.57.0. Initial limited support for Mi Band 6
Thanks to a PR, we recently merged, Gadgetbridge 0.57.0 is the first release which supports the new Mi Band 6.
We call support limited, since it does not yet support flashing the firmware or watchfaces and not everything is tested yet.
But thanks to your donations we were able to order one, which will (once it arrives) enable us to test and improve device support!
--Gadgetbridge team
Credits for the Mi band 6 support
Jhey: https://codeberg.org/jhey
link for built apk with mi band 6 support
https://drive.google.com/file/d/1gJmleH4-QisotX7GNAsxxSZXZjVU9505/view?usp=sharing
Your Mi band should be Connected to the Mi Fit App with your Mi Account, this is required to get the
Bluetooth Authentication key for our MI Band which will used later in the process, also do not unpair from Mi fit app
Step 1: Building the app from source Application home page
https://gadgetbridge.org
Install Android Studio
https://developer.android.com/studio
From Android Studio open SDK manager, download and install SDK 29(Android 10)
Install python3
https://www.python.org/downloads/
Clone the repo to Downloads folder from this url
https://codeberg.org/Freeyourgadget/Gadgetbridge
Create a local.properties file in the Gadgetbridge folder its contents should contain sdk location
sdk.dir = /Users/vamzi/Library/Android/sdk
Lets start with the APK build process
open Terminal, Change Directory to the gadget bridge folder using
cd ~/Downloads/gadgetbridge
and execute this command
to start the build process
./gradlew assembleDebug
or
./gradlew assembleRelease
Step 2: Obtaining the Authentication key
Clone the following Repo:
https://github.com/argrento/huami-token
Open terminal change directory to the cloned huami-token folder:
cd huami-token
Install the python dependencies using the following command:
pip3 install -r requirements.txt
Start obtaining the auth key :
python huami_token.py --method xiaomi --bt_keys
Copy the link generated under the script to a browser, login to your MI Account which is
bonded to our Mi band, copy the link generated after you login to the python terminal,
and press enter This will generate the Auth_Key copy it and save it. send that authkey
to your android device via mail or message
Step 3: Install the Generated or Downloaded Gadget Bridge apk give all the required
permissions and Notification access too, Before we start the pairing process, disable
or uninstall Mi Fit app, so it doesnt interrupt our GadgetBridge pairing proces.
on Gadget Bridge, start by tapping on the add button, give the location access,
as android needs location access to scan for bluetooth devices. tap on Start discovery
this should display the Mi band 6 tap and hold on it, to start configuring the settings.
paste in the Authentication key and change other settings to your liking.
tap on the back button, this will start the pairing process, and should add your mi band 6 to the application.
this app is a good alternative for the Mi Fit app, and this makes it possible to go thorough your health and activity stats on your device without the need to share it with the device manufacturer. Donate to Gadget bridge Devs for making this awesome app https://liberapay.com/Gadgetbridge/donate and if you are good at coding, Contributions are welcome, be it feedback, bug reports, documentation, translation, research or code. Feel free to work on any of the open issues; just leave a comment that you're working on one to avoid duplicated work. --devs at GadgetBridge
Sorry, but at my opinion it is useless at this time for normal users.
Without the right knowledge, i can't pair with miband 6.
And most of the features are not usable. So notify&fitness seems to be the better choice.
Icetea said:
Sorry, but at my opinion it is useless at this time for normal users.
Without the right knowledge, i can't pair with miband 6.
And most of the features are not usable. So notify&fitness seems to be the better choice.
Click to expand...
Click to collapse
i agree with you icetea, but the option is still there and might be helpful to for people who are looking at it, also as it is an opensource project, if there is enough people ready to contribute for this project, it has a lot of scope
thx but i will stay at stock app.
Icetea said:
thx but i will stay at stock app.
Click to expand...
Click to collapse
That is your wish mate, for people who dont want their data to be mined by companies this is a good alternative
Haha... I think, using a android phone is not the right way to prevent datamining.
Btw. on reddit i have found a page with a miBand 6 ready compiled version of gadgetbridge as a download link. But have not tried it because as i understand, it seems not be able to work without auth.key.
Icetea said:
Haha... I think, using a android phone is not the right way to prevent datamining.
Btw. on reddit i have found a page with a miBand 6 ready compiled version of gadgetbridge as a download link. But have not tried it because as i understand, it seems not be able to work without auth.key.
Click to expand...
Click to collapse
Lol u r right ice tea, some people are using android without gapps, and getting ur data mined by google is much better than getting mined by these chinese companies , reddit thread is most likely mine i guess
I have tried to use this version from f-droid but it does not pair my watch.
Authkey doesn't match. I am out now... I have no time for further experiments.
Icetea said:
I have tried to use this version from f-droid but it does not pair my watch.
Authkey doesn't match. I am out now... I have no time for further experiments.
Click to expand...
Click to collapse
Loll sorry mate, f droid updates take a while to update the latest app from the development repo, also they are planning to add alternate release channel with latest updates on their development page.
Gadgetbridge | F-Droid - Free and Open Source Android App Repository
Use your Pebble/Bip/Miband/Hplus/[more] and keep your data private!
f-droid.org
That seems to be the same version as yours. V0.57.0!
Thank you for the guide!
I hope more people could contribute on gadgetbridge, bc the cloudless idea is great to keep your data save!
Icetea said:
Haha... I think, using a android phone is not the right way to prevent datamining.
Click to expand...
Click to collapse
it depends on how you use it
Will try tomorrow my new Bip u pro to connect with gadgetbridge, my Bip s already works with it without problems. Hopefully they can expand the features.

Need some help to customize Chinese Smartwatch Call Feature

Hi
I have a FitCloudPro App based Chinese smart watch probably called LA23 (https://www.aliexpress.com/item/1005004403438987.html) . Here I'm not getting an option to Transfer calls from Watch to phone, once picked up on the watch.
Scenario:
I use BT earphones and smartwatch all the time, but whenever a call comes and I receive on my smartwatch it never transfer to my earbuds until I switch it manually. (Ps. there is no setting on watch to transfer a call to watch.)
Current Settings:
Watch connected to smartwatch and Earbuds are connected to same phone.
Watch Media audio and mode is on.
Condition:
On a bike/at gym it is problematic when a call comes to phone, I want to transfer this call to phone from smartwatch so that I can use my earbuds to talk.
Is there any way to do it?
when a call comes I can receive on watch but when I press the button of my watch it can transfer to my phone?
It will be a great help if you can solve.
Thanks a lot in advance!
Mayank
it's not a watch issue. application is an arbitrator. watch only sends info to app about your action. while app are route the streams.
it's possible if you'll write your own app or you'll find compatible app with disired functional. and seem a first more feasible.
vxsw said:
it's not a watch issue. application is an arbitrator. watch only sends info to app about your action. while app are route the streams.
it's possible if you'll write your own app or you'll find compatible app with disired functional. and seem a first more feasible.
Click to expand...
Click to collapse
Hi, thanks for you reply!
I'm not much technical to code my own app.
Although I have read your another thread about the LA21, and this is the same brand watch called LA23.
If you have some suggestions about to code an App as you understand this watch mode deeply or can you suggest me an App that have this call functionality?
it would be much helpful!
thanks
Mayannk said:
Although I have read your another thread about the LA21, and this is the same brand watch called LA23.
Click to expand...
Click to collapse
perhaps it was a la10. I had this model and had make few tools for it, but it's a complettely different. la10 is a very easy in program part. la23 looks like my new watch - dm50. at least it have an identical chip (RealtekRTL8763EW), similar functions and fitcloud pro as a companion app.
it's a way harder. as in app part, as in watch face format. I try to learn it, but on watch face format investigation yet.
Mayannk said:
If you have some suggestions about to code an App as you understand this watch mode deeply or can you suggest me an App that have this call functionality?
Click to expand...
Click to collapse
I'm not a programmer (even didn't know about kotlin a half year ago), so it's a bit hard for me too.
so if a la23 similar as a dm50, I think I can't reassure you. it's not treat as usual "medical device". it have a dual connection mode. and audio part defines as a wireless headset. you can see it in bt devices in phone settings. so as I understood it's not so often feature for smartwatches and in this case, I don't think what you can find any compatible app.
"ble-starter" is a very good point for beginning, but evet this need much reworking.
vxsw said:
perhaps it was a la10. I had this model and had make few tools for it, but it's a complettely different. la10 is a very easy in program part. la23 looks like my new watch - dm50. at least it have an identical chip (RealtekRTL8763EW), similar functions and fitcloud pro as a companion app.
it's a way harder. as in app part, as in watch face format. I try to learn it, but on watch face format investigation yet.
I'm not a programmer (even didn't know about kotlin a half year ago), so it's a bit hard for me too.
so if a la23 similar as a dm50, I think I can't reassure you. it's not treat as usual "medical device". it have a dual connection mode. and audio part defines as a wireless headset. you can see it in bt devices in phone settings. so as I understood it's not so often feature for smartwatches and in this case, I don't think what you can find any compatible app.
"ble-starter" is a very good point for beginning, but evet this need much reworking.
Click to expand...
Click to collapse
Thanks for your response!
Yes, you are right it has 2 bluetooth connection for call BT3.0 and notification BT5.2.
I'm trying to install Ble_starter apk as you attached in your LA10 thread. But its not installing on my phone.
I'm using RogPhone2.
Mayannk said:
I'm trying to install Ble_starter apk
Click to expand...
Click to collapse
may be must have an another target platform on compilation. but anyway, it would not work with this device. it have an another type of authorization (with confirmation). la10 allow to connect automatically without confirm. it required much reworking.
btw, may be more than enough to find app what would just force select device to talk? seems it's more easy way to solve your problem.
vxsw said:
may be must have an another target platform on compilation. but anyway, it would not work with this device. it have an another type of authorization (with confirmation). la10 allow to connect automatically without confirm. it required much reworking.
btw, may be more than enough to find app what would just force select device to talk? seems it's more easy way to solve your problem.
Click to expand...
Click to collapse
Okay, thanks
I'll try this to find first.

Categories

Resources