Digi Drop-in Networking PC companion application source

Hi, I did not find the sources of PC companion application. In the directory Digi Drop-in Networking\PC companion application\source I found only .pyd and .dll files. I’d like to study also PC source code.
Where is it ?
Moreover, does exist an introduction and a description of the application ?

> Hi, I did not find the sources of PC companion application. In the directory Digi Drop-in Networking\PC companion application\source I found only .pyd and .dll files. I’d like to study also PC source code.
> Where is it ?

Can’t get it. I’ve asked. Quoting the reply I got from support, “the Demo app is provided as is, i.e. we don’t have any documentation for it”. And yes, as you’ve noticed, the “source” really isn’t source, it’s all DLLs and pre-compiled Python, meaning it’s impossible to examine the source code in the PC application.

> Moreover, does exist an introduction and a description of the application ?

Nope; what you get is what you get.

Here’s what I’ve been able to figure out so far, since I’m working through the same dilemma. The Python application on the ConnectPort X2 implements an XML-RPC server, and using WireShark (a network packet sniffer), you can watch the XML requests being issued to the X2; they’re fairly easy to understand.

You should be able to write an application on the PC that uses the standard ‘xmlrpclib’ to issue XML-RPC requests to the X2. Once you understand that mechanism, it shouldn’t be too hard to begin modifying the provided application (EmbeddedKitManager.py) to your own purposes.

If you want to better understand exactly what XML-RPC calls are being made (since Digi can’t/won’t provide direct source code), get WireShark (www.wireshark.org) and use it to watch the TCP traffic between your PC and the X2. Note the remote Python methods being accessed, and the parameters being passed. Then try to reproduce the RPC actions using your own PC-based Python program. Here’s a couple of useful links on XML-RPC:

http://www.tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html

http://www.python.org/doc/2.5.2/lib/module-xmlrpclib.html

(Note: xmlrpclib became a standard Python library in v2.2.)

As an aside, I’m hoping that Digi’s DAQ libraries may make some of this work easier. It shouldn’t be this difficult to get data out of the X2 and onto another platform. Having actual source code for the PC application would also go a long way towards that end.

Many thanks, drodgers.
It’s very surprising the reply you got from Digi support!
I’m now continuing studying the entire topic: Python language, DIGI extensions (mainly the Zigbee library), gateway docs, etc.
I will probably follow your suggestion. If I will find something else useful, I will post it.
Bye

I believe this also would be a useful link in understanding how Python works on Digi “Gateway” products:

http://www.digi.com/wiki/python/

On a side note, after installing the Drop-in Networking PC companion application, I found the source for the PC’s application at: C:\Program Files\Digi\Digi Drop-in Networking\Digi Gateway ZigBee Viewer Sample

I think what drodgers is referring to is the output when you use the py2exe module to convert the python source files into a python independent executable.

(Even with this, the Digi DAQ is cooler than the View Sample anyways :))