Transparent 3G gateway

I have a device with an Xbee ZigBee module on it and there are 20 of these on a floor in a building. I want to interrogate them using an app on a server located remotely miles away. The idea is to send a data request packet from the remote app to the gateway which is connected to the ZigBee network. The first byte of the packet is a number from 1-20 to correspond to the device I want to talk to (there’s a few other bytes as well). The appropriate device then responds with data which finds it’s way back to the remote app on the server.

The gateway is 3G and has an IP address or domain name and a listening port (special SIM).

If all the devices on the ZigBee network hear the request packet but only the one that’s being addressed responds, that’s fine.

The XBees will be operating in transparent mode and all the processing on each device will be done by the PIC micro.

My concern is the gateway. Can a gateway act as a dumb gateway to implement the above? We don’t want to purchase a gateway and have to write Python code to implement this. We’re hoping we buy a gateway, set it up to connect to the CO using ZigBee, and it acts as a transparent link between the Internet and the ZigBee network. Any data it receives goes to the CO and the CO broadcasts it on the ZigBee network so all devices see it (these are the request packets). Similarly any data transmitted by an XBee that appears on the network goes out the gateway back to the app on the server (which should be the responses from the devices)

It seems these gateways need to support a public profile. We’re not interested in compatibility with other systems or profiles or anything like that. This is a proprietary system and all we’re interested is in making the above work.

Thanks and I hope someone can help me

All of the gateways will require you to write some sort of code that takes the data from one socket or connection (say Cellular) and port the data to the other socket (say the XBee side). You should be able to find examples within the Python ESP that will help you do this.

Thanks mvut. I’ll investigate further