Connecting multiple devices to wifi - wifi

I have a question and like so many of my questions I get the feeling that I'm not finding the answers through traditional methods because I lack the vocabulary.
I am starting a project where I need to take a windows based laptop and connect it to the internet through a wifi dongle. I then want to turn that laptop into a wifi hotspot and connect circa 30 mobile phones to it.
In my head this worked by buying a decent wifi dongle and then using software to virtualize the wireless adapter I would connect these phones and I was hoping that the strength of my dongle would be possibly be improved with a wifi repeater/booster.
This is all in preparation for a quiz game that takes place on a laptop and the mobile phones are querying the system for the next question through a POST operation, and pulling down just a few bits of text and a few other variables (so not much data is being passed, but all 30 or so devices are asking for it at the same time)
So now to the question. If my assumptions above are right how to I begin to understand what qualities I need in a wifi dongle, wifi repeater/booster and virtualization software?
If my assumptions are wrong, what do I need to be looking at?
Cheers for any help you can offer.
Other basic info that may or may not be relevant: I'm in the UK and I'm willing to spend a few hundred pounds on a solution to this. The mobiles will be running a version of android (preferably newer than version 2, hopefully closer to 4 though).

You need to google internet connection sharing (ICS)
here is an example I found
http://www.dummies.com/how-to/content/how-to-share-an-internet-connection-in-windows-7.html

Related

How to connect multiple > 10 wireless sensors to Arduino

I am working on a small learning project with arduino in which there are multiple sensors like motors, 7 segment display, temprature sensor, lcd display, button etc and all of these need to talk single IPhone or Ipad.
My first thought is to buy multiple flora arduino having each a sensor. Then each independent unit can connect via bluetooth. But i am not sure if it is good idea or not. How will they all connect to single device.
Idea is like 10 arduino device sending and receiving signal from one iphone or Ipad.
As Piglet and TomServo said, The motors, 7 segment display, temprature sensor, lcd display, button are not sensors those can be considered as peripherals!
Now even though its a vast topic and you will need a lot of work to accomplish this, Its not hard if you have embedded c or C programming experience.
You should look into how micro controllers work and how to start programming them arduino site should be good starting point!
https://www.arduino.cc/en/Guide/HomePage
https://www.quora.com/Which-are-the-Best-books-on-learning-to-program-microcontroller
Now once you set up your environment and programmed a simple program like toggling a LED, you should start looking at communication protocols,
The devices/peripherals communicate to master/Host microcontroller(Arduino) through set of protocols such as SPI, UART,I2C etc. you will need to decide an ICs for example HDSP-5503 is a seven segment display you can find more at
http://www.mouser.com/ProductDetail/Broadcom-Avago/HDSP-5503/?qs=sGAEpiMZZMsx4%2fFVpd5sGZOLZP3%252bEaxq
You can not just buy arduino with ton of sensors and connect it to iPhone, iPhone will require your custom app to support your board check out this guy!
https://itunes.apple.com/us/app/hm10-bluetooth-serial-lite/id1030454675?mt=8
hopefully this will help good luck!

Best way to broadcast information to Wi-Fi enabled devices?

I live in a building where the laundry machine is a bit far away from my suite. There is only one machine there so only one person can use it at a time. Quite often I take my laundry there just to realize that the machine is in use so I have to go back defeated and try again later. I want to build a doodad that can detect when the machine is in use and broadcast that information throughout the building so that I know that the machine will be available before I go there.
This question is not about how to build the detector. I am planning on using a raspberry pi somehow. This question is about what do I do when I detect that the machine is in use. How do I broadcast that information mainly to myself or potentially to anyone in the building?
I need a cheap solution (< $100). It has to be wireless. The signal has to travel approximately 30 meters in one direction. The broadcast should be readable on any laptop or cell phone (not a requirement but nice to have).
I was considering making an android app using WiFi direct. I'm sure others in the building would be interested in this app and I can use them as peers to extend the range of the broadcast. But I don't like this solution because I know that wifi direct doesn't work with iOS devices. Also this solution will require others to side-load an apk which they might not know how to do.
Please let me know if you can come up with something a bit less reliant on p2p and more platform independent.

Is it possible to associate single wireless network card to multiple WiFi Access Points at a time?

Is it possible to associate single wireless network interface controller (WNIC) with multiple Wireless Access Points (WAP) at a time? If not: why?
I've never heard about such a feature, so I assume it's technically impossible or fairly difficult and rarely implemented. Is it really that difficult/impossible to implement driver providing such a feature? Is it software or hardware difficulty?
I assume that TCP/IP protocols' specifications doesn't limit us at all because if I attach multiple WNICs to my computer, I can easily connect to multiple APs.
If it's software difficulty, than what's the actual problem? Does Linux/Windows kernel or WNIC's drivers limits it? Or maybe system libraries (like libc on GNU/Linux systems)?
If it's hardware difficulty, what actually limits us? Antennas? Using single radio frequency at a time? If yes, than why can't we implement frequency hopping (like Kismet does)? Because of lost packets during time spent on other channels? If yes, than can we associate WNIC with multiple routers working on the same channel (I know that channel overlapping is bad)?
Note: I'm not talking about dual band routers. I assume that we consider most common WNIC and AP which both work on 2.4GHz channels. If I have to put my question into OS context, than I choose GNU/Linux context.
Yes. The basic technique is that the client tells AP 'A' that it is going to sleep and then talks to AP 'B' while A is buffering frames for it.
Microsoft research worked this out a while ago:
http://research.microsoft.com/en-us/um/redmond/projects/virtualwifi/
Many low-level drivers support Wi-Fi interface virtualization (e.g. the BRCM wl command has options which support this).
Apple's AirDrop and MultiPeer features for OS X and iOS use a similar technique, but instead of talking to a 2nd AP they talk to a peer device.

iOS to iOS device connection through streams (over IP-Address)

As a final school-graduation project I try to develop a kind of spying-car. Which means there is an iPhone placed on a little LEGO-car and an iPad used as a "steering wheel" for the car. Also it is planned to transmit Audio and Video from the iPhone's microphone/camera to the iPad (more than the steering data vice versa).
In the first place the connection from iOS to iOS should be established over a local WiFi network and later - if possible - over 3G (by using the iOS devices network-IP and a DNS server to deal with frequently changing addresses).
My question is: which technology do you recommend using? I read about GameKit, peer-to-peer and so on, but I think these technologies are too abstract for later being able to communicate over 3G. I guess I need to go a little deeper into the low levels of the communication progress. Any suggestion that could bring me a step forward is highly appreciated! (also regarding other parts of my project)
One more thing: Some user suggested using a third party service and to route the sent (video) data over an external server. If possible, I'd rather not use any "middle man". It should just be a basic server-client communication where the iPad is the server and the iPhone the client.
It is kind of an open ended question, but interesting.
First of all, GameKit do have 3g p2p support, see here:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/Matchmaking/Matchmaking.html
It will handle the peer-to-peer addressing and establisment of the socket. It can also handle voice chat, but I personally never tried this feature so I can't say if it is feasible in your case.
One idea is to leverage existing video-chat services. This will give you a low-latency audio/video channel with peer-to-peer addressing (well, likely using a central server).
Apple's FaceTime is such a service, but there is no public API to it (AFAIK). Same goes for Skype and Google.
There are some paid services that look like they have nice iOS APIs:
http://tokbox.com/platform
http://docs.weemo.com/sdk/ios/
You have to figure out a way to transmit control commands to the peer iPhone, I did not see if the services above had any possibility of sending text messages/arbitrary data.
Tokbox has a free trial so you could try it out and see if it works for you.
I would go for GameKit if this is a hobby project on a budget and there is time for hacking, and probably look into a more high-level API if there is a deadline...
sorry for writing this as an answer, but i don't have enough rep to comment...
i'm working on a similar project and i currently don't have any advice regrading video-streaming, however, from what i read (extensively) i came to the conclusion that i need to use p2p connection between devices for better performance and use socket programming in order to achieve this (although not the most easy to implement choice).
I considered using GameKit which i think will probably answer most of your needs as Krumelur pointed out. but in my case, eventually the app will be cross platform so i had to use low level network programming. you can check out my question here to see the sources i used to try and make the connection between 2 peers, hopefully you'll have better luck than me...

How to capture raw signal from wireless router?

I have seen several projects now which derive novel spatial information from radio data collected from a typical wireless router:
http://wisee.cs.washington.edu/
http://www.extremetech.com/extreme/133936-using-wifi-to-see-through-walls
The idea of using a wireless router as a sort of passive radar is fantastic.
I am very interested in experimenting with data collected from a wireless router myself, but there is little information on how to go about actually interfacing with a wireless router and getting a raw stream of information collected by the device. Similar questions have been asked on here before, but I am yet to see a satisfactory answer.
I don't have the rep points necessary to link to the other questions but see:
'Capture Raw Signal from WiFi card as You Would a Sound Card'
'raw wifi “signal data” access'
I am looking for a solution that would let me use a low-cost device such as the oh so common WRT54G wireless router. If your answer involves custom radio hardware, you needn't bother posting.
As far as I know, the only option using a commodity hardware is to use Intel 5300 Wifi card. You can get the complex CSI (amplitude and phase info therein) from the three antenna on it from a sample of subcarriers (OFDM). You can take a look at this site:
http://dhalperi.github.io/linux-80211n-csitool/
If you read the wisee research paper you will find the platform they use for the system, it is USRP N210 from Ettus plus GNU radio software.
So it is not your usual WiFi AP they are using but the SDR solution this question also hints about.
WiFi devices are build to handle physical layer in silicon and the monitor mode is the best thing you can get without going the SDR path. You can get quite a lot of information from it - the radiotap header contains for example received signal strength and receiving antenna information. But if you really want to explore physical layer of WiFi then commodity hardware is not going to cut it.

Resources