Could someone tell me that is it possible to send an bare HCI_ACL bluetooth packet directly without any upper data layer contains in it?
Or could someone tell me is there any MITMproxy for bluetooth?
The answer is no. The bluetooth stack is based on abstraction layers, you cannot arbitrarily remove layers and expect it to work.
Related
I've been searching in articles for some simple device that is able to do that(title), but I didnt find any. I am looking for a simple device that is able to get RSSI from some unique beacon in range and then pass it (reveiced RSSI value) to the smartphone(via bluetooth).
I thought about some "smart beacon" that is able to work bidirectional (Get signal from another beacon, then pass it to the smartphone). Has it ever been done?(If yes I would be grateful for any articles).
If I wouldn't find anything I will use another smartphone as that device.
I am unaware of any commercially available products that do this. A more common solution might be a device that scans for other beacons in the vicinity and reports them directly to a server.
The reason that reporting scanned beacons to a smartphone over BLE isn't a common solution is because it would be simpler for the phone to do the scanning itself. Why would you need a separate hardware device to do this?
Such a solution you propose might have the advantage of extending the range of the smartphone, but probably not by much. Consider that if the reliable range of BLE is 40 meters, then a phone 40 meters away from the device you suggest might be able to pick up beacons at most 80 meters away in the same direction. Practically speaking this would rarely even double the scan area covered by the phone simply working by itself.
I need to do some NON-STANDARD signal processing operations with an RFID-reader, so I'd like to know if it is possible to extract antenna's individual analog (actually digital samples right after ADC) input signal samples with Motorola FX7500 (if you know how this works on FX7400 or FX9500, please do tell, could be helpful). Samples would be processed in a JAVA-based host computer program.
What I've already tried:
Investigating Motorola's own RFID3 API's possibilities, it doesn't go deep enough to actually get in touch with input analog signal samples.
Using LLRP to its full extent, it doesn't allow analog signal sample access either. RFsurvey-functionality would have been helpful to some extent, but FX7500 doesn't support it either.
Accessing RFID-reader's linux terminal, trying to find the driver function(s), that could listen the input sample stream. If current input sample(s) could be extracted from the input stream, I could (in theory) make a script, that would save a few of those sample values in a txt-file in the host computer during a tag inventory round. My linux skills are kinda bad, hence I ask this question.
The only realistic way to solution seems to be via linux terminal, so if you folks have any ideas about that (where to look and what to do), please advise!
Contents of reader:
rfidadm#FX7500abcdef:/$ ls -1
apps
bin
dev
etc
home
include
lib
linuxrc
media
mnt
platform
proc
readerconfig
run
sbin
sys
tmp
usr
var
I cannot completely rule that out, but it's highly unlikely you can get the raw signal digitized; the devices you're looking at aren't really software defined radio devices, typically.
"speaking" RFID physically is a bit different from "usual" wireless communication: The reader doesn't only observe the energy transmitted from the tag, but more importantly the fluctuations of energy extracted from the near field of the reader's antenna coil. Hence, you don't actually have a baseband of RF bandpass signal, but hardware-specific modulations of transmitted (and inversely, antenna-reflected) energy. Demodulation is hence usually done in specialized hardware.
However, do not fret: It's totally possible to build a software defined RFID reader. There have been several approaches to that, but personally, I trust these based on Ettus USRPs and/or GNU Radio best. Look through the results IEEExplore gives you, eg. this search.
Most probably this is not possible with the Motorola readers. What you can do, is use one of the RFID chipsets available on the market: either the AMS RFID IC's, or the Impinj RFID IC's. As far as I know, both IC's support retrieving the digital samples that are received. They also have a development kit to test-drive the IC's.
I'm using Noble / Bleacon with a Raspberry-Pi and a MacbookProRetina and I'm trying to discover an Estimote Sticker but it's really difficult since it's broadcasting an iBeacon packet once every X minutes.
As far as I know somebody told me that it's broadcasting more other kind of packets (motion sensor, temperature) rather than the standard iBeacon packet.
Any chance that I can discover these stickers with my setup?
Seems not,
However you might be able to reverse engineer some of the packets, someone went into this a while back on Make:
http://makezine.com/2014/01/03/reverse-engineering-the-estimote/
Regards,
Vincent
I was wondering if it is possible to modify the contents of a BLE beacon to include extra information. If you insert an extra bit at the end you could potentially broadcast a boolean in one direction. Theoretically, if you modified your device to read the extra bit of information this would work. Given existing protocols though it sounds like this would be a lot of work. Is there something out there like this already?
For info, I'm working on the mbed platform where you can modify your own bluetooth beacon payload.
Yes, you can do this with the new AltBeacon specification. There is a one byte manufacturer reserved field which you can use for whatever you want (tied to your manufacturer ID).
There are reference implementations of the specification available for Linux to show you how it works, and there is no reason you cannot implement it on the mbed platform.
I have a project using quadcopter(ARDrone).
And i want to controlled it unmanned indoor, using arduino board and iBeacons.
iBeacons send signal strength and floor info to arduino board(inside ARDrone connected main board) and iphone for searching location in building. Project is just controlling drone to go to iphone's location by itself. All calculation parts are managed in server.(triangulation etc.)
Here are the questions.
How can arduino board receive bluetooth 4.0 signal and send it to
server? 4.0 signal can be received by bluetooth 2.0 module?
Do i need to build bluetooth 4.0 receiver module? Or are there any other ways?
In server, complicated calculation will be managed by programs in c++ language but simple things are handled by web language. php? jsp? or other lang which one is better?
and some hints for this project.
I really need your help. thanks;)
3. The calculations to identify the location from the received signal strength and location of the Beacons are fairly straightforward, so should be fine in which ever language you prefer. You will need to use Trilateration, once you have converted RSSI (received signal strength) into a distance.
4. The major challenge you will have is getting accurate distances, iBeacons as you know use Bluetooth LE, what you may not know is that this operates on a Microwave wavelength and so is easily disrupted by humidity in the air, as well as other objects like people. This means that the RSSI readings will jump about a bit, a basic way to overcome this is to take an average over several readings, even so the distances found will be rather inaccurate in many circumstances. To get an idea of the kind of readings that you will get for distance without compensating for environmental factors have a look at my presentation: "Factors effecting positional accuracy of iBeacons", that is based on Estimote iBeacons, but should be relevant for other brands as well, but you will need to do your own experiments to work out the relative errors. I was seeing distance readings that were +-2M away from the real location.
My name is Wojtek Borowicz, I'm a community evangelist at Estimote.
To add to what Chris Thomson (BTW, cool slide deck!) - your first two question can basically be reduced to a single answer: you need your receiver to support Bluetooth Smart on both the hardware and software side. So yes, you need a Bluetooth 4.0 module to receive Bluetooth 4.0 signal and you also need a Bluetooth 4.0 stack for your receiver to be able to 'interpret' that signal.