I am working on indoor gps tracking and for this I need a wifi signal logger which can receive the signals from different smartphone(whose wifi is turned on) an send it to a remote server. I wanted to know, where I can get this kind of hardware, having capability to receive signals from different smartphones and log its signal strength and mac address in a remote server.
Please let me know the details.
Thank you in advance.
Pravin Prasad
In simple terms, Wifi clients(smartphones, notebooks etc.) send periodic Probe Request packets to actively seek wifi access points and Wifi APs(routers, gateways etc.) send periodic Beacon packets to advertise the presence of WLAN network.
You can use any wifi capable device like a smartphone or notebook to log the above packets.
Configure your wireless card in monitor mode.
Use a packet sniffer(for example, wireshark) to capture the traffic on the wireless interface or write your own with libpcap. You may filter on the packet type, source, destination etc.
Related
I'm working on a USB MIDI device that will function as the receiver for a wireless system. This device will communicate bi-directionally though a radio module with the transmitter, a separate piece of hardware that runs in USB host mode.
The receiver will be plugged into a PC. MIDI devices plugged into the transmitter need to show up on the PC as MIDI ports. Since the transmitter supports a USB hub, there can be multiple devices plugged in.
There are two requirements that I'm not 100% how to meet:
1.) The MIDI port names on the PC end need to reflect the name supplied by the USB device plugged into the transmitter so that it's clear which device the port is for.
2.) The set of MIDI ports on the PC needs to update when devices are plugged/unplugged from the transmitter. This is the crux of the question: is there a way to update the available USB interfaces/MIDI jacks initiated by the device?
The brute force way of doing this would be to completely reset the receiver any time it receives a message from the transmitter that there's been a change (on reset,the receiver would then poll the transmitter for current devices and supply the updated info when the host PC re-enumerates).
The transmitter/receiver hardware are both based on PIC32MZ MCUs (no RTOS). I'm good with writing the USB code to get the host/receiver end to do whatever. The question is about how, at the level of the USB protocol, to do this.
Also, just to be clear: The transmitter/receiver communication will be an ad-hoc protocol and the receiver will set up all its USB configuration data itself; the idea isn't to attempt to seamlessly enumerate devices over the wireless link.
To show the port names on the PC, just copy the USB descriptor strings over to the transmitter.
The only way for a USB device to change its configuration is to reset itself, as if it had been unplugged, and to let the host re-enumerate it. So the only way to prevent multiple devices from interfering with each other is to have multiple (virtual) USB devices on the receiver. If your hardware does not support this, then you cannot avoid the reset.
After webrtc passes by a signaling server on Internet, how it works when two machines are running in the same network?
The data will be exchanged only on the network or will it still use internet ?
I am asking this because of our internet is not good, it's too slow. but our local network speed is very fast.. So I would like to know if the internet signal will affect the audio and video conversation.
Thanks a lot!
Depending on the network configuration, the devices should connect directly over the local network. Please note that some browsers, such as Safari, may not share with the signalling service local ICE Candidates unless configured to do so (false concern over sharing network info). The devices must share local ICE Candidates, or else they will still stream via the external network or a TURN server, if available.
Having read the announcement about google nearby 2.0 it's clear that WiFi connections are supported.
Nearby Connections uses WiFi, Bluetooth LE & Classic Bluetooth under the hood to discover and establish connections to nearby devices.
Or from the docs overview page
Under the hood, the API uses a combination of Bluetooth, BLE, and Wifi hotspots
What I'm not clear on is whether the WiFi support is exclusively when devices are connected to the same WiFi router, or whether the service will also use WiFi P2P (aka WiFi Direct) to establish connections when possible.
My experience using similar services on other platforms is that bluetooth connections can often be too slow for fast paced multiplayer games. My title already supports connections over WiFi routers, so ideally I'd want the service to add WiFi play in the absence of a router.
I think my question is answered in the I/O talk about Nearby Connections refresh (link).
We connect over bluetooth and start transferring data instantly, but
in the background we also bring up a WiFi hotspot, and when that's
ready we seamlessly transfer your connection from bluetooth to WiFi
with absolutely no work required by the app developer
I'm reasonably confident from the context that the WiFi hotspot they're talking about is an Adhoc/Direct/P2P one (not sure of the correct terminology, but mobile to mobile WiFi of some sort) rather than a physical router.
The announcement says
At I/O this year, we spoke about a refresh to the Nearby Connections API that can provide high bandwidth, low latency, encrypted data transfers between nearby devices in a fully-offline P2P manner. Today we're announcing the availability of this API across all Android devices running Google Play services 11.0 and up.
Its fully offline and P2P so it looks like that there is no need for them to be connected to the same wifi router.
After having been studying a USB Packet Sniffer based around the BeagleBoard xM (https://gitorious.org/beagleboard-usbsniffer/), I have been at a loss as to how the driver actually works in a certain area.
I now understand that the BeagleBoard acts as a one port USB hub for the USB host to see, so that it may view and log the packets going through it. The part i'm trying to currently understand is how exactly the BeagleBoard is able to be somewhat transparent, and able to mimic the USB Vendor/Product ID's of the device being sniffed.
There is nothing to mimic. If it behaves as a hub, it can see all the traffic going between the computer and the device under test because all the USB packets would go through the hub. Packets are received by the hub and transmitted along to the other device.
my problem is to connect two identical devices with OTG-capable USB interfaces. Is this a simple giveaway or do I have to start and stop host- and device-mode manually with an arbitrary timing pattern so that eventually one is hit in device mode when the other one is an OTG host? From skimming over the APIs of several USB-stack producers it is unclear to me if symmetrical connections are possible at all.
regards,
slarti
PS: the device is an AVR32
The official cable has a "jumper" in the A end that tells the device it is plugged into to be the host. The OTG Supplement also includes a Host Negotiation Protocol which allows the two dual-role devices to interchange roles.