It seems that (3) is rather more difficult than anticipated.
There are two main scenarios:
(a) The dance studio has its own wi-fi. The DJ has access to it, whereas the patrons may or may not have access.
The DJ's computer may not have the same IP address each time it is set up.
I think that in this case, sending the marquee data via the internet to the ballroomdj.org server,
and having the patrons connect via the internet to ballroomdj.org to view the marquee changes
would work. The DJ would print a QR code that the patrons can scan to connect.
Requirements:
- BallroomDJ has the mobile marquee set up to connect to the internet.
There is a unique id entered by the DJ that identifies the marquee that BallroomDJ connects to.
The BDJ player will send the marquee to ballroomdj.org whenever it changes.
- On ballroomdj.org, a program must be written to (a) accept marquee information from BDJ,
and (b) display the marquee to a dancer when they connect.
- A QR code will be printed that the dancers can scan. This will be something like:
https://ballroomdj.org/marquees/justdanceoakland , where 'justdanceoakland' is the identifying
tag entered into the configuration.
(May be able to use the sourceforge web server, which would be more robust).
(b) The dance venue does not have wi-fi.
The DJ would set up a wi-fi router at the dance venue. The DJ's computer would have a static IP address
assigned so that the DJ does not need to print a new QR code each time. The wi-fi is set up as open access,
no password, so that most mobile phones would automatically connect.
The dancers would connect to the DJ's wi-fi router, scan the QR code and view the mobile marquee.
Requirements:
- BallroomDJ has the mobile marquee set up to connect locally.
- A mini web server is started when BDJ starts that the dancers can connect to.
- A QR code will be printed that the dancers can scan. This will look like:
http://192.168.1.70:9009
- There are still some issues dealing with authentication that have to be figured out.
If the DJ has already connected to the 9010 port, the authentication information gets sent (authentication
is per IP address, not per port). I have a work-around for this.
But I have to do some further testing with connecting to the 9009 port fresh without any authentication and
make sure that my mini web server handles it properly.