I'm looking for a way to find users in a certain radius of your position.
The reason I need this is because I want to know how many people there are in an area.
A possible way I found is to activate the bluetooth and find active devices around.
I want to know if there are other solutions, API, possibilities to do this.
There was talk of peer to peer wifi connections, but not sure the status. Would give you some more distance than bluetooth. There is also a library
Can Android do peer-to-peer ad-hoc networking?
there is also a library from qualcomm
https://developer.qualcomm.com/develop/mobile-technologies/peer-peer-alljoyn/faq
Your best bet would probably be with searching for bluetooth devices.
Most phones have a class 2 bluetooth radio which is generally rated at a range of 10 m, but it can very greatly on the environment (for example, you would notice significant packet loss transmitting through even a small amount of water, such as in a person.) On the other side of the coin, the radio could detect devices up to 100 m away if there were nothing but air between the two devices.
The main problem with this is that you would have to require bluetooth to be active, which a lot of users might not have by default.
Related
Hello infinitely more skilled people than me ;-),
I have a question for my Brothers School project and I want to help him.
He has a micro-controller board with a LAN port and wants to attach a temperature Reader to it.
Has anyone a Suggestion on How to communicate this data let's say for example to an Android app that can Display the temperature graph or just the temp at the current Moment?
If not Android he wants to Display it via a Java app on a desktop that displays a temp graph and average temps.
I tried to Google it but I haven't found anything that describes this case. Maybe I don't know how to formulate it.
I know it super vague to describe it but maybe some nice guy can send me code example how it would look like, since I am a total beginner.
Here is the AVR board (it has a LAN port)
http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_AVR_NET_IO.html
Thank you :)
Thanks and have a nice day :)
As far as I can see, the board features an ATmega32 controller and an ENC28J60 Ethernet controller (with SPI!).
It seems they provide some sort of server application that communicates with the board (via Ethernet/LAN). The app is not trivial, as I see it also has firmware update feature (so the AVR chip has also a bootloader in its flash).
Anyway, an interesting approach would be to connect your temperature sensor on one analog input, then start the board and the net-server app (connected to LAN). You'll see the related measurements on some ADCx (in Volts).
After that, using Wire-Shark or similar tool, you could spy the communication messages between the board and the server (knowing their IPs, to filter out all other crap lurking on the LAN).
Next step would be to find out the specific message server sends to request the ADCx, and also the related answer from the board. Not trivial, yet doable I guess :)
Finally, knowing what messages are exchanged (I here assume you don't have the specs for the protocol or the source code), you should replicate/implement something similar in your Windows/Android application (further conversion from voltage to °C temperature to be displayed is yet another thing to be done by your app - the easiest part, I suppose :).
With the data you provided, I think this is the best suggestion I can make.
Best luck with your project!
BTW: Best place where you can find help (and source code examples, compilers and related stuff) for AVR is: www.avrfreaks.net
Did you see the software and firmware that comes with the board (download...)?
It pretty much has everything you'd need, i.e. TCP/IP stack, simple command/response server to access digital and analog IOs &c.
See the documentation: https://www.pollin.de/shop/downloads/D810058B.PDF, esp. "Protokollaufbau und Kommandos AVR-NET-IO", e.g. "GETADC 3 (ruft den akt. Wert des ADC-Eingangs 3 ab)"
Hence, you should be able to use the stock firmware and talk to it from your app/whatever via simple commands over TCP. You can query the boards input states and do any calculations on that in the app before displaying the result.
(Edit: You did not state what kind of sensor he wants to use. If the sensor's output is not an analog voltage but some digital protocol, the stock firmware in fact won't get you far.)
The boards firmware is written in C (closed source, I believe), but as I said, you'd probably not have to bother with that. However, if you want, there are alternative firmware versions available as open source from the 'net; and if you're inclined to a greater experience, you can also create your own, possibly building on an available TCP/IP stack and ENC28J60 libraries (readily available too). You could also add a simple HTTP server on top of that &c, &c.
Some links that instantly turned up when I googled for "avr net io firmware":
http://www.fhemwiki.de/wiki/AVR-NET-IO
http://engelhuber.de/blog/2013/10/29/pollin-avr-net-io-mit-e2000-firmware-ueber-php-ansteuern/
http://netio.davideickhoff.de/de/
http://son.ffdf-clan.de/
We have a couple of beacons that needs to "light" up when in the presence of an android device with bluetooth activated and present in our app. Like a physical "path way". But since we have many individual, we cant ask the user to pair with every single one.
We have no experience with this at all, how do we proceed with this? As far as I can see in my googling its entirely possible, we just have no idea how to proceed with it.
We have BLE connected to an arduino and ready to transmit data. http://www.aliexpress.com/store/product/Bluetooth-4-0-single-chip-module-package-BLE-transparent-wireless-serial-100-meters-iphone-Andrews-are/1110497_1656480722.html
Any help or if anyone knows any guides to connect without pairing would be appreciated.
Thanks in advance
Unfortunately BLE beacons are only designed to transmit simple advertisement data. I don't think you'll be able to do what you want with this hardware without pairing. That being said... The phone will know how close it is to the beacon so if you can think of a way for the phone to talk to a central hub that controls the lights that may be a possible solution?
The app will have a 3d isometric map of the building which should be able to show where you are on it and also where other people are (With their permission of course). I was wondering if there was an accurate way to do this, GPS isn't accurate enough, it doesn't have to give the exact location but it should be able to at least show what room the person is in. I know in most of the rooms in the building there are Wireless routers, would it be at all possible to use them? Thank you for any help.
I searched for "building wifi location" (without the quotes), and got plenty of relevant hits, including an indoor location service, and an academic paper with the title "Room-Level Wi-Fi Location Tracking".
The problem is more difficult than it looks at first sight. GPS reception is often non-existent inside buildings. WiFi signal strengths are affected by building materials, metal file cabinets and the like. To get accurate results you may need to survey the building, noting the WiFi signature at different locations.
Rooms with routers usually have a stronger signal from their own router than from others, but even that is not guaranteed. There may be more steel between a location in a room and that room's router than between the location and a router in another room.
About ten years ago I did an academic literature survey for this subject, and one interesting possibility I found was a modified Roomba with a post that held a WiFi device at about human hand height. It tracked its location by dead reckoning, and recorded the map of signal strength signatures automatically. I don't know whether there has been further research in robotic indoor wardriving, but I would expect so, given progress in robotics and wifi distribution, as well as interest in location detection.
Is it possible? Yes. With this attitude? Maybe. Try googling "tracking wireless devices"
This is a nice pointer for you. Try making better questions next time to get better results.
i'm doin my project in 8th sem telecomm engineering, and i'm plannin to create a DUPLEX(not confident whether it'd be full or half) communication app using bluetooth and wifi as channels,something more advanced than a simple walkie talkie, and i was wondering if this is possible for a one man army??? also i was wondering if it is possible to do so with android versions 2.2 and above... can i just program the bluetooth settings in app in such a way, that, it doesn't pop up for user permission to accept a voice message from the calling party??
and is there a possibility for creating multiple channels(one for Forward Voice Channel and one for Reverse Voice Channel) using bluetooth or wifi?? here's a list of few knowledge i possess:
JAVA: basics, done some gui in desktops, know some imp classes,only SE6...
WIRELESS COMMUNICATION: learning it this semester, stuff like how base station accepts incoming mobile station request and redirects it to dest, mostly 1g in our portions...
OPERATING SYSTEMS: general, looking forward to learning android and linux os...
C,C++,DSP,and SOME ELECTRONICS...
oh, and iwoul like to implement these well within 7 months duration...
people please ENLIGTHEN me with your wisdom and references to useful websites ASAP...
my THANKS AND WISHES to thee...:)
The first big problem i see is that on using wifi for this, and as i understood it is some sort of (advanced) walkie-talkie app with no rooter inbetween the communicating phones, you have to implement adhoc-wlan on your android device, which is not supported by android, so you will need a rooted device for that, and the implementation of adhoc-wlan on android is definitve possible (have a look at this code: http://code.google.com/p/android-wifi-tether/) but nothing easy (i have done it myself for an university project).
And you asked if you can avoid the permission pop-up for an incoming message, but on an android phone activating your bluetooth or pairing it with an other device will always ask for permission from the user.
I cant help about the multiple channels you were asking for.
As Answer to your big Question: "is it possible for a one man army?" i would say generelly yes, but it depends on how much other stuff you have to do. Since you were writing this is an project for university, i dont know if this is your only project and you can invest a lot of time in it. If so i guess it is possible, but it will be an quite big project and you should be willing to work yourself relativly deep into networking stuff.
On google.Code you can find some projects similar (at least the wifi part) to what you think about to do, take a look at them...
I have a bit of am odd question that I am hoping someone here can help me with.
BACKGROUND: I am trying to design a system that will take in continuous-time data from a VLF antenna/preamp system which will take that data, do an FFT analysis of on it (magnitude versus time) and plot the resulting FFT data as a real-time spectrogram. The project is what is known as a "hum sniffer" but specifically to see signal interference in the 15 - 35 kHz range. I have purchased a couple of "teach yourself java" books and am in the process of reading them. I am an engineering student with limited experience with programming in Ansi-C and Matlab.
QUESTION: There are several applications on the Android market that will perform a similar function using the microphone as the input source and I have purchased all of them just to see how they operate. I have also purchased an Arduino Uno with USB Host shield from Sparkfun as well as a IOIO board from Sparkfun. I am really REALLY hoping that I can use a combination of those boards I have purchased in conjunction with the aforementioned antenna/preamp system to plot those real-time spectrograms in an Android program I have yet to create.
I am not looking for anyone to hold my hand through this process but if anyone has any experience with anything similar I would appreciate any insight. My major concern at this point is whether I need to design the external system to do the A/D conversion before feeding that data into the phone or if I might be able to send the CT signal data into Android directly and have the phone do both the A/D conversion and the FFT plots. Oh, and whether or not I can use the USB port to send data into the phone.
I am using my Nexus S 4G for all testing/applications.
Thanks in advance for any input.
Have you tried connecting your audio on the phone's headset microphone connection and using a sound recording app? Then you should get a file that you can read into Matlab and play around with to get an idea of the capabilities of the audio input on the phone.
If the audio input good enough then writing an app to do real-time FFT and plotting shouldn't be too tricky. That way you avoid dealing with Arduino and the Android USB accessory support.
IOIO hardware is capable of 500ksps. This is currently being limited in firmware to 1ksps per channel in order to bound the USB bandwidth being used. However, it is super easy to change (a single number, and a firmware rebuild) in case you know what you're doing and won't overflow the USB channel.
A single sample on a single channel will be a 3B message. At 40KHz, this would be 120KB/s, which is within the effective bandwidth that has been reached over ADB (the maximum is about 300KB/s).
If you need help rebuilding the firmware, the ioio-users list is your friend.