How to communicate with Connect Port X4?


I would like to write an application in C# to communicate with my Connect Port X4 to send/receive data from my Zibbee Network in which the Connect Port X4 is the coordinator. The problem is that i’m not familiar with internet protocol such as TCP/IP so I would like to use the virtual COM port (provided by installing RealPort) to talk with the ConnectPort X4.

Could anyone confirm that my solution is feasible? Thanks for your opinons.

Hi zigbee_man,

I’m trying to do the same, develop a C# application in order to communicate with the ConnectPort X4. Unfortunately, I have been digging around the forum but I have not been able to find anything.

I would like to know if you found a solution perhaps.

Any help or idea you can provide me would be much appreciated.

Thank you.

Hello zigbee_man and dalemego. It depends on what you’re wanting to do with the X4 and which features (GPS, AIO, etc.) you plan on using.

In general, the simplest way to communicate to the X4 from any application would be to use HTTP methods to send RCI commands to the X4.

If this is an option for you (obviously, X4 has to be connected to a TCP/IP network for this) and you wish to do this with .NET, you can use the HttpWebRequest component. In addition, customized Python handlers and applications can be created and live on the X4 to allow for even more of a flexible way to communicate.

You can also send these RCI commands using a direct serial connection to the X4 as well.

I hope this has helped!

RealPort works to an X4, but you won’t get a connection to the ZigBee network via it. RealPort also cannot link into Python on the X4.

After 25 years of experience doing ‘serial port stuff’, I can promise that learnign and writing code for TCP/IP is ten times EASIER!

Serial ports have all these timing and idle-gap issues, so you need to be always testing & probing for complete messages and de-fragmenting things. Plus bit-errors are common so you need to do so much error detection and recovery or retry.

As Nathan says, try HTTP - there should be example code on line. Look at this page for RCI examples: