Search code examples
arduinobluetooth-lowenergysmartphone

How can multiple smartphones connect to a mcu at the same time?


I'm having the hardest time to get the solution of the following problem.

Main issue:
Several smartphones(up to 30) must communicate with a MCU at the same time.

System overview:
There are many rooms(each room is a cabinet that 30 people can go into), and every cabinet will have one MCU for the smartphone users.
MCU will control some device of the cabinet.
The scenario of this system is as follows:
1. The users go into the cabinet.
2. Smartphone app will recognize the MCU(or MCU will recognize the smartphone) and the MCU will send some data to the smartphone and this data will be noticed to the user.
3. User inputs some data at the smartphone app and this data will be sent to the MCU to control the cabinet device.
4. Up to 30 people can go into the cabinet at the same time and the system should handle all the users simultaneously.
I'm going to develop smartphone application and MCU firmware for this system.

My thought:
I'm thinking to use Arduino/RFduino/Raspberry Pi as MCU and I'm thinking to use Bluetooth LE/Wifi/3G as communication material.

I've tried the following solutions
1. Using bluetooth low energy on Arduino/RFduino/Raspberry Pi.
MCU will be BLE peripheral and my smartphone app will be BLE central.
But I found that a BLE peripheral can only be connected to a BLE central at the same time so I can't use this method.
2. Using wifi on Raspberry Pi
I think that Raspberry Pi can run web service and my smartphone app can communicate with the server through http.
But every time the smartphone user go into the Raspberry Pi based wifi-zone, the user should select the wifi-hotspot at the network setting if he registered this wifi already, and the user should register the wifi-hotspot if this is the first time at the wifi-zone(cabinet).
This is very inconvenient for the users so can't be used for me.
3. Using 3G network on Raspberry Pi
Unfortunately, there's no 3G signal in the cabinet so I can't use this method.

I'm looking forward your kind answer.
Any hints or comments will be welcome.

Thanks for your attention.
Thanks for your answer in advance.

Toltori Kim


Solution

  • Well... I'd go with wifi. And QR codes.

    I'd make either a single wifi network for all the cabinets (so only one set of credentials, or even an open one - without security) and then the app can connect to the raspberries using a sort of authentication (where the credentials are written in a QR code inside the cabinet) or a wifi network for each cabinet and its credentials are written in a QR code.

    I'd use the first one, maybe without security. So the user has just to go in the cabinet, connect to the common wifi, make a photo at the qr code and then can use the RPi