BT Tag Writer is application that offers you way to add NFC pairing to your old Bluetooth speakers. NFC pairing allows you to pair, connect and disconnect the device just by tapping the NFC tag with your phone. This application is still under development and this thread can be used to request changes and new features for this application.
Market: https://market.android.com/details?id=fi.siika.bttagwriter
Video: http://www.youtube.com/watch?v=IbuLGsXIvKI
--- original first post ---
Hello everybody.
I have been now writing application for Android devices with NFC capabilities. It basically offers wizard interface for writing new NFC connectivity tags for your Bluetooth speaker(s)/headset(s)/etc. And software that will take care of the actual pairing/connecting, when you tap the tag with your phone. NFC pairing is something Nokia does with N9 and it's Bluetooth speakers, but it looks like Android still doesn't handle this well out-of-the-box. Also I still haven't found easy to use connectivity tag writers for any devices.
Sort demo of application in it's current state: Check youtube video kzoG5VM6VcU (can't have this as a proper link, as I only have less than 8 posts to this forum, sorry)
Before I release this software to market, I would like have some people testing it with their speakers and devices. I really hate alpha level software in market. If you have Galaxy Nexus, some sort of Bluetooth speaker(s)/headset(s) and hopefully some writable NFC tags, and you would like to help me to get this software tested: Please tell it here. I still have some small things to resolve before this is ready for closed testing. If you like to help me to get this tested please also tell what sort of Bluetooth device you have and what NFC tags you have available.
I will most likely release this software as free (gratis) and probably in open source (don't know the license yet). So I am not planning stealing your time and then making money out of it. Only thing I can offer to you is to add your name to application's thanks list.
Also if you know software that already does all this, please tell. If my software does not bring anything new, I have to redesign it little bit.
Thanks.
I'd like to test your app.
Got the same NFC-Chip like you (mi(d)fire or something like that I've bought for my old Nexus S) and a Nokia BH-504 Bluetooth Headset and for sure a Galaxy Nexus and a Galaxy S, too
Just tell me how I can help testing...
i would test as well buddy!
s60mike said:
I'd like to test your app.
Got the same NFC-Chip like you (mi(d)fire or something like that I've bought for my old Nexus S) and a Nokia BH-504 Bluetooth Headset and for sure a Galaxy Nexus and a Galaxy S, too
Just tell me how I can help testing...
Click to expand...
Click to collapse
For now this is ICS software, do you happen to have some unofficial 4.0 image in those? I kinda would like to make this 4.0 only software, as all NFC devices most likely will get that update.
S suxeN said:
i would test as well buddy!
Click to expand...
Click to collapse
Your phone is Nexus S? What sort of Bluetooth devices you have, and NFC tags...
I'd love to test this. I've been using NFC Task Launcher to do something similar but it doesn't currently support connecting to a specific device. I'm running ICS on a GSM Galaxy Nexus and have several A2DP speakers I could test with.
Northernmost said:
I'd love to test this. I've been using NFC Task Launcher to do something similar but it doesn't currently support connecting to a specific device. I'm running ICS on a GSM Galaxy Nexus and have several A2DP speakers I could test with.
Click to expand...
Click to collapse
I will fix few annoying things and then will put link to debug apk-file here (maybe Wednesday). I will try to see if I can make it run in 2.3.5+ too. Anyhow software will be limited to Mifare Ultralight tags (original and C versions). I have to buy other type tags to see what I can do with those, but that's later. Common Ndef writer classes does not work at all with Android or then I'm doing something wrong.
Android also really limits clean ways to do intents for more complex tags. So these tags software now writes are not proper connectivity handover tags. Just the core part of those is used and stored as single NDEF mime item and then this app is marked to handle those NDEF messages/records. Positive side with that is of course that information fits to smaller tags. Also PIN code storing will be probably done little hacky way to the first version.
alump said:
For now this is ICS software, do you happen to have some unofficial 4.0 image in those? I kinda would like to make this 4.0 only software, as all NFC devices most likely will get that update.
Your phone is Nexus S? What sort of Bluetooth devices you have, and NFC tags...
Click to expand...
Click to collapse
Like said above. Both devices got ICS and NFC and I've got Midfire NFC Tags...
s60mike said:
Like said above. Both devices got ICS and NFC and I've got Midfire NFC Tags...
Click to expand...
Click to collapse
So many different Mifare tags out there. Mifare Classics will not work (for now).
Anyway, pushed software to market after all. In few hours you should be able to find it from there. Offer still stays, if you can try it out and report issues here it would help. I had to drop headset support for now as it didn't work as well as I hoped.
Great! Will try it out today. Here's the market link https://market.android.com/details?id=fi.siika.bttagwriter
Sent from my Galaxy Nexus using Tapatalk
alump said:
Mifare Classics will not work (for now).
Click to expand...
Click to collapse
Missed that bit. I really must learn to read All the Mifare tags I have are Classic ones.
A couple of initial thoughts after myfirst use of the app...
1) Back when I was on 2.3.7 there was a Bluetooth A2DP widget I used (can't remember the exact name now) that, when you created the widget, would display a list of already paired devices that supported the A2DP profile. Once you'd picked one the widget would attempt to connect to it automatically.
I'd like to see your app do something similar rather than having to go through a pairing process with a device I've already paired with. It's a small thing to do I know, but I'd imagine most users will have already paired with their speakers before ever finding your app. I don't know if you can enumerate paired devices supporting the A2DP profile in ICS though.
2) When your app was scanning for BT devices it would find my speakers but would only display the BT address. It didn't display the BT device name after waiting for several seconds. This may be a BT stack problem though.
3) It looks very nice!
Northernmost said:
Missed that bit. I really must learn to read All the Mifare tags I have are Classic ones.
A couple of initial thoughts after myfirst use of the app...
1) ....I'd like to see your app do something similar rather than having to go through a pairing process with a device I've already paired with...
2) When your app was scanning for BT devices it would find my speakers but would only display the BT address. It didn't display the BT device name after waiting for several seconds. This may be a BT stack problem though.
Click to expand...
Click to collapse
1. Yes my app does not trust the already known devices list. Have to see if I can get that too. Anyway my application does not pair devices that have been paired already. It simply is stupid to not offer those. I have to check if I can used paired devices list too. I have to add some indicator to list what devices are then old known and what are just found with discovery.
2. I have seen "no name" issue only once. But yes, that's "stack problem"... I hope
Anyway I think I have to try to add Mifare Classic support first.
alump said:
1. Yes my app does not trust the already known devices list. Have to see if I can get that too. Anyway my application does not pair devices that have been paired already. It simply is stupid to not offer those. I have to check if I can used paired devices list too. I have to add some indicator to list what devices are then old known and what are just found with discovery.
Click to expand...
Click to collapse
Sorry for spam, but finally this will be mine 8th post
Request to list already paired devices is now added to Market version (0.3). So no need to turn already paired devices to pairing mode when writing tags.
Support for other than ultralight Mifare tags might take some time. Thanks to keys etc those tags are not ideal for this use. I think I will try to add headset support first.
Just to confirm that 0.3 is listing my paired A2DP devices
alump said:
Your phone is Nexus S? What sort of Bluetooth devices you have, and NFC tags...
Click to expand...
Click to collapse
Nexus S, running Brainmasters ICS 4.0.3
Bluetooth devices:
2 headsets
another Xperia ArcS
NFC Tag:
dont have a tag yet, but could get some. Dunno what kind they are!
S suxeN said:
NFC Tag:
dont have a tag yet, but could get some. Dunno what kind they are!
Click to expand...
Click to collapse
My unofficial NFC tag type list (from memory, might have mistakes)
Mifare Ultralight C is my recommendation. If you plan to use this for this, or for example: storing your contact information, storing some url, storing application starter information etc.... Simple, cheap and easy to use alternative.
Mifare Ultralight (non C) is too small for almost anything. You can use it anyhow with my software (limited features) and you can fit sort URL to it.
Mifare 1K, Classic, etc... these are for more secure needs. Or if you really want to store a lot more information to the tag. For non secure usage (e.g. my app) the secure features are just annoying extra that makes things more complex. Key based security so if you mess up with key, then you can't read or replace that data anymore. Also kinda "proprietary alternative".
Felicas are Sony's alternative for all these. Probably not easy to find outside Japan. Topaz is good alternative for Ultralights, but I don't know how well Android supports those currently (haven't tested). And if Broascom/Innovision still makes these? Not too easy to find anyway. And then there are many more... it's a total mess and maybe the main reason why it's so hard for NFC to break big time.
But for the most of use cases: I assume Mifare Ultralight C is the best alternative.
NFC Tag store examples:
TagAge - I'm using this, but mainly because I live in Finland.
NFCDog - is one UK alternative.
And many more, Google search is your friend. And this message has't been paid by either of these stores
alump said:
My unofficial NFC tag type list (from memory, might have mistakes)
Mifare Ultralight C is my recommendation. If you plan to use this for this, or for example: storing your contact information, storing some url, storing application starter information etc.... Simple, cheap and easy to use alternative.
Mifare Ultralight (non C) is too small for almost anything. You can use it anyhow with my software (limited features) and you can fit sort URL to it.
Mifare 1K, Classic, etc... these are for more secure needs. Or if you really want to store a lot more information to the tag. For non secure usage (e.g. my app) the secure features are just annoying extra that makes things more complex. Key based security so if you mess up with key, then you can't read or replace that data anymore. Also kinda "proprietary alternative".
Felicas are Sony's alternative for all these. Probably not easy to find outside Japan. Topaz is good alternative for Ultralights, but I don't know how well Android supports those currently (haven't tested). And if Broascom/Innovision still makes these? Not too easy to find anyway. And then there are many more... it's a total mess and maybe the main reason why it's so hard for NFC to break big time.
But for the most of use cases: I assume Mifare Ultralight C is the best alternative.
NFC Tag store examples:
TagAge - I'm using this, but mainly because I live in Finland.
NFCDog - is one UK alternative.
And many more, Google search is your friend. And this message has't been paid by either of these stores
Click to expand...
Click to collapse
Okay, ima gonna order some and report back to u
music auto start
is there a way to make it so that my music app doesn't auto play my most recently played track when the BT connection is made ... id like for it to simply open the app
NFC-AAAC or NFC Assisted App Access and Control
Pretext:
I have 2 children under the age of 3, all of their content (audio/video) is digital accessed. This created a disconnection for them, as they are not able to play /change the content unless my wife or I change it for them. I know there is an interest for them to be able to change the content themselves as when we have Netflix or Pandora open on the touch enables screens they are all was trying to pick the show/music they like. The few places where they do have a physical medium to play content,
The DVD player/CD player (note we have it backed up digitally), there is much interest with the “desk”. The kids would love nothing more to remove and replace it over and over. Watching this behavior over some time has lead me to believe that a simpler solution would/could be doable.
This brings me to NFC tags, with a few add-on programs the NFC tag can be scripted to perform most complicated input tasks.
Goal:
To provide access to complicated tasks via NFC.
To allow a person of limited physical input abalaty to use smart phone tech.
This can include, the disabled, the young, the old. To allow access to tasks/apps while driving or when attention is needed other places.
Current Scope:
Create tags for a radio station that can be quickly taped to change station/play album.
( Keeping the driver form looking at their phone while driving). Create tags that auto play Netflix/Amazon Prime/YouTube/Google +/etc videos.
This may include second screen casting Create tags to autolaunch/call via Skype/cell phones
Want to call grandma? Or have grandma get on Skype, etc. Create tags to attach to things around the house foods/shapes/flashcards etc.
When was this put in the fridge?
Send text to let people know the item is all gone etc.
What was this called.
Call support.
Where I'm at:
I'm currently gathering URIs / intents for the tasks described.
I will be using a combination of the “NFC task launcher” and “Tasker” to complete the tasks.
I will be following up with more detailed guide on how to set up functions/tasks.What I am looking for:
Help locating the URI / intents to call to complete tasks.
More tasks, Do have someone you know / you yourself finding something more complicated than it should be let me know and we can discuss how to fix.
Current URI list
Note Most if not all the URIs are undocumented aka may stop working, I will try to keep the list up-to-date. Please let me know if any stop working.
Pandora:
Add/Play station: pandorav2:/createStation?stationId=<stationId>
Netflix:
Play Tv Show: nflx://www.netflix.com/Browse?q=action%3Dplay%26movieid=http://api.netflix.com/catalog/titles/series/<ShowID>Play Movie: nflx://www.netflix.com/Browse?q=action%3Dplay%26movieid=http://api.netflix.com/catalog/titles/movies/<MovieID>
Skype:
Audio Call User: skype:<SkypeUser>?callAudio Call Phone / Moble: skype:<Phone#>?callVideo Call: skype:<SkypeUser>?call&video=true
YouTube:
Play Video: vnd.youtube:<VideoID>
Mmm, interesting.
Bye!
! !
interesting ... how did you discover the uri to launch apps with arguments?
I also used a custom URI and NFC Task Launcher to launch my app "Badge NFC" and store custom data inside the app database (look at my signature to get a playstore link) ...
furius said:
how did you discover the uri to launch apps with arguments?
Click to expand...
Click to collapse
All of the custom URIs prefixes are in the apps manifest.
If I'm lucky I can simply type it into google and find someone else that's done the work, (to get the data argument)
If not I used JD-GUI to look over the source code to trace the Android Intent path and see what the app is looking for.
Another way is to see is if the app has a web app interface. Aka if I go to the web site or get a share link, does the app autolunch the content.
I was a little confused with your question, hope this answers it.
Thanks for the interest.
odwdinc said:
I was a little confused with your question, hope this answers it.
Thanks for the interest.
Click to expand...
Click to collapse
Yes sure, that's what I was asking ... Cool!
I'll search in some of my favourite apps manifests to see if I can find something interesting ...
Inviato dal mio HTC One X con Tapatalk 4
So I have spent the last couple of days researching this topic as I am extremely interested in making a Wii Controller with sensor bar work with the FireTV.
Here is what I know.
Amazon FireTV is running on Fire OS Mojito 3.0 which equates to a base Android OS 4.2.2. This does not mean, however, that the bluetooth stack is running on BlueDroid (Broadcom's bluetooth stack driver, which USB BT Joystick Center indicates that it breaks native compatibility with Wii and PS3 controllers, thus the app recommends a physical USB BT CSR device to work.). Supposedly FireTV is still using the BlueZ stack which ought to make things work normally, but Joystick Center does not detect the Wii remote natively still and of the 2 bluetooth dongles I already own they do not appear to be compatible for whatever reason. I have ordered a new one that may work with Joystick Center and I will report back.
There is every indication that Joystick Center should be capable of allowing Wiimotes IR pointers to work, but we need to figure out how to make it work and preferably natively.
http://www.pocketables.com/2012/03/usbbt-joystick-center-now-does-wii-motion-controls.html
I also ran into this interesting video of someone implementing CWiiD directly into the firmware of their device (in the video the guy launches as an app, but trust me it is not a simple app or one that you can find to download).
www.youtube.com/watch?v=xyAowQRkfto
This is the CWiiD project that I believe the folks at Ouya are using to allow Wiimotes to sync with their device and likely other apps in the marketplace both free and commercial (despite whatever gpl license that may be involved).
http://cvpcs.org/projects/android/cwiid4android
If we can start making custom FireTV roms then we need to integrate CWiiD imo, because if we can use 1 or 2 controllers as a replacement for a touch interface it would open up a wealth of cheap gaming via any app in the Google Play marketplace.
What currently works.
Wiimote Controllers v0.65
This does not allow for IR pointers, but it does allow for normal button presses of a remote control.
https://play.google.com/store/apps/details?id=com.ccpcreations.android.WiiUseAndroid&hl=en
A Place to Start
If we want true Wiimote support then I think we need to start focusing our efforts on updating cwiid-android on github. This package is 4 years out of date as gingerbread was the last OS it was compiled for and it had IR support back then. Why no other developer finds this important boggles my mind.
https://github.com/cvpcs/android_external_cwiid
https://github.com/cvpcs/android_packages_apps_CWiiDConfig
Additional Information
So I have ran 'sdptool browse local' in the shell and have confirmed the BlueZ stack. I think this was very wise of Amazon to keep and seems to be some justification certainly for not using a more stock or AOSP like firmware.
Service Name: Generic Access Profile
Service Provider: BlueZ
Service RecHandle: 0x10001
Service Class ID List:
"" (0x1800)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 31
"ATT" (0x0007)
uint16: 0x1
uint16: 0x8
Service Name: Generic Attribute Profile
Service Provider: BlueZ
Service RecHandle: 0x10002
Service Class ID List:
"Generic Attribute" (0x1801)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 31
"ATT" (0x0007)
uint16: 0x10
uint16: 0x13
So I have put my research on hold - I gave this projects days more than I should have. I simply can't figure out how to port something this old and 4 versions behind. I tried recompiling from source on both OSX and Ubuntu, but I couldn't work through all of the compile errors. Not sure why cwiid4android https://github.com/cvpcs/android_external_cwiid has been abandoned for 4 years!
I read this article below, and it didn't really make it clear on what it makes available beyond interfacing the car with your phone, and possibly offering a wifi hotspot.
http://www.xda-developers.com/an-update-on-vinli-a-device-to-turn-your-car-into-a-connected-car/
Aside from the hotspot, would it add anything to what Torque already has?
agentbob123 said:
I read this article below, and it didn't really make it clear on what it makes available beyond interfacing the car with your phone, and possibly offering a wifi hotspot.
http://www.xda-developers.com/an-update-on-vinli-a-device-to-turn-your-car-into-a-connected-car/
Aside from the hotspot, would it add anything to what Torque already has?
Click to expand...
Click to collapse
Vinli is not just an OBD dongle+companion app, it is a connected car platform. (full disclosure - I work for Vinli)
With Vinli you get a very nice companion app to grab core vehicle and trip information, but you also get:
- pay-as-you-go wifi hotspot, super useful for anyone with kids
- optional premium services (e-call, roadside assistance, service shop)
- 3rd Party Apps. Vinli is an open platform with powerful APIs that developers use to create powerful experiences for Vinli members
Hello everyone, this is David and I'm new to this forum. Thanks in advance for your support and congratulations for all your contributions. I've searching for topics like the issue I have with our Android App but didn't find anything that helps me, so I decided to open this thread.
We have developed an NFC based Android App which reads different tags (mifare ultralight - NTAG213). This is to manage beehives so each one has a unique ID (cusotmized URI - number). It's working OK in every device but in mobile phones from Norway we have this trouble:
App starts, then customer taps the key (it's necessary to log in and allow a range of ID numbers) and after that everything is working fine.
Then customer taps another tag (beehive ID) and also it works fine. But after reading and registering this new beehive, app crashes (NFC stops) and the only way to enable again is to swith off/on NFC on device.
This is really curious because our app log doesn't show any failure and it just happens in two different mobiles from our norwegian customer (oukitel WP2 and Sony xperia L3). Even he sent me some tags to test with our mobiles and they're working fine. All the other customers around Spain and LATAM are working fine.
Anyone has an idea of what could be happening?
App is called Abeefy and if some of you want to test it please contact and I'll give you data to encode a key and be able to use your own tags to simulate.
Thank you very much in advance.