Android Question MQTT or RDC: Strategy for the communication between mobile and box tv apps

Xandoca

Active Member
Licensed User
Longtime User
Hi,

I'm going to develop a monitoring system for "indoor advertising" (advertising on tv inside groceries, pharmacies etc.).
A mobile Monitoring App will receive TV Status (on or off) from the BOX Tv's (with Android).
Also, this mobile Monitoring App will send commands to the BOX Tv's (turn on or turn off).

What is the best strategy for the communication between the mobile and box tv apps?

I could think in:
1) MQTT
2) (B4j) Remote Database Server application

There are 3 scenarios:
- 150 tv's box in customer A
- 550 tv's box in customer B
- 5000 tv's box in customer C

It seems to me the option 2 is more cheaper (using a VPS on contabo).

Thank you.

1682980380942.png
 

udg

Expert
Licensed User
Longtime User
From your description it seems to me that your system has a central control point (your device / PC) which directly controls up to 5000 Android TVs located in different places for a single customer. Same for a second customer and so on.
If this is the scenario, would you consider to install a "local server" (a Rasperry or similar box) at the shop in order to control local (to the Raspy) TVs while being in touch with the Central Control Room (your device/PC) to receive commands and send back status?
An architecture like this will have a few benefits, in my opinion.
If Internet link is down, local server can still manage its own TVs (ad campaign, timetable for on/off, status..) and be reachable and manageable by shop staff (limited to those operations allowed)
Android TVs are not directly exposed on the Internet. You may have read a few stories about hacking public info panels..
When adding a new customer, you simply enter the IPs of his/her own "servers" in you DB and are ready to manage config and info for all the TVs that get activated in the shops. In the unfortunate case the customer doesn't renew the service agreement, you simply disable his/her record on your DB and the related branch in your system gets disactivated (you could even send a final message to servers like "delete everything" so the local installation becomes useless.

So, I would certainly suggest a B4J solution for the Control Center and the Rasberries. You could add a mobile app (Android/iOS) for your own use to exchange messages with the Control Center. Android TVs, being on the same LAN of their control Raspy would exchange messages in UDP packets, a socket or similar.

BTW, if you go for the architecure suggested above, Android Tvs could be substituted by regular TVs or monitors or LED panels (search for digital signage to see what is offered today in this area).
 
Upvote 0

teddybear

Well-Known Member
Licensed User
Hi,

I'm going to develop a monitoring system for "indoor advertising" (advertising on tv inside groceries, pharmacies etc.).
A mobile Monitoring App will receive TV Status (on or off) from the BOX Tv's (with Android).
Also, this mobile Monitoring App will send commands to the BOX Tv's (turn on or turn off).

What is the best strategy for the communication between the mobile and box tv apps?

I could think in:
1) MQTT
2) (B4j) Remote Database Server application

There are 3 scenarios:
- 150 tv's box in customer A
- 550 tv's box in customer B
- 5000 tv's box in customer C

It seems to me the option 2 is more cheaper (using a VPS on contabo).

Thank you.

View attachment 141636
If you want to manage 5000+ TV box, the option 2 is better. I'm curious that how you get box Tv's status when it is off
 
Upvote 0

Xandoca

Active Member
Licensed User
Longtime User
I'm not sure whether this solution runs over the internet or in a local network. If it runs over the internet than a full B4J server will probably be better in the long run.
Thank you Erel.
Over the internet.
 
Upvote 0

Xandoca

Active Member
Licensed User
Longtime User
If you want to manage 5000+ TV box, the option 2 is better. I'm curious that how you get box Tv's status when it is off
A partner of mine developed a device (hardware one) that is connected to the power plug (electricity). Tv power cable is connect to this device. The device can monitor the TV status and also block or enable the tv power (turn on/off TV). Device can be controlled using usb serial port.
 
Upvote 0
Top