RCM5700 Ethernet connectivity problem

I’m having problem in connecting my rcm5700 to a network. I have tried to connect from the ethernet port of rcm5700 to the internet modem in my house using ethernet cable. However, when I open the network administrator to check the IP address of the rcm5700 I can’t find the device there, which means it is not connected to the network.

Can anyone help me with this problem? Is there any specific ethernet cable that I should use? Or is it possible that the ethernet port of the rcm5700 is not working?

What app are you running on the RCM5700?

What way have you got TCPCONFIG set?

etc.

We would need some more details to be able to offer any advice.

Regards,
Peter

I want to develop some simple data transmitting and receiving between a PC and the rcm5700 through either Internet or LAN. For example, maybe be sending an “ON” word to the rcm5700, the LED of the rcm5700 will light up. Or when the button on rcm5700 module is pressed, it will give notification to the PC that the button is pressed.

I haven’t looked at the programming side, as the hardware itself seems not connected to the network. From what I read from the datasheet an LED should light up when it is connected to a network, but in my case no LED light up.

If there is no app running the LEDs do not work as the device is not executing any code. Try running some of the demo apps supplied with Dynamic C or have a look at the RCM5700 BACnet demos at https://sourceforge.net/projects/bacrabbit/ for some more examples.

Regards,
peter

The LED I meant is the ethernet connection indicator LED. There is one right?

Okay, I will try some of the demo apps first.

But I’m still curious on why I can’t see the IP address of my module in the network administrator? Do I need to do some setup through the programming first?

There’s a pair of LEDs on the RJ45 connector but if you are not running any software on the module the Ethernet hardware is disabled and the module just sits there!

Regards,
Peter

I’ve tried a PING sample program. As you said, when I run the program the indicator LEDs light up. However, I don’t know whether the sample program running correctly or not, since I don’t really understand what PING is doing. Do u have any simple sample program to light up an LED through the ethernet connection?

Try the browseled.c program in the RCM5700 cpip folder. If you have the demo board this will allow you to see the LEDs on a web page served up by the controller.

Regards,
Peter

Is there any sample program that just do simple transmitting and receiving data between the RCM5700 and a PC?

If you want an example of some softwear for transferring data between the PC and a RCM5700 you could look at combining the Rabbit BACnet stack for the the rabbit end of things and the standard C BACnet stack at the PC end.

This provides a solution that will work “out of the box” on the RCM5700 side as I have implemented a set of demo apps for that platform amongst others.

https://sourceforge.net/projects/bacnet/ is the C version
and
https://sourceforge.net/projects/bacrabbit/ is the Dynamic C version.

Regards,
peter

I haven’t got time to test the BACnet you said. But I tried to test the browseled.c you said but I don’t know how is it working. When I compile and run it, it only shows a blank stdio window. Is there any steps in doing the testing?
As for the TCPCONFIG, I’ve tried to put only

#define TCPCONFIG 1

Then I got the warning regarding the primary address.
Then when I tried

#define TCPCONFIG 1
#define _PRIMARY_STATIC_IP “192.168.1.111”
#define _PRIMARY_NETMASK “255.255.255.0”
#define MY_GATEWAY “192.168.1.254”
#define MY_NAMESERVER “192.168.1.254”

There is now warning anymore. However, the outcome is still the same, blank stdio window.

You need to point a browser at the controller and look at the web page it hosts. That allows you to see and change the state of the 4 LEDs on the demo board. Look at the comments at the top of the source for details.

Regards,
Peter

what do you mean by “You need to point a browser at the controller and look at the web page it hosts” ?

Which comment do you mean? As for me, the comments do not tell much on how to test the codes.

The comments at the start of browseled.c describe the program, how to configure the demo board and how to access the web page on the controller with a browser to view the LED status and change it as well.

From your example above the address you would need is 192.168.1.111

Regards,
Peter

I got it work, thanks.

Is there any other way to establish communication between PC and RCM5700 beside using BACnet? If not, do you have any sample source code of communication between PC and RCM5700 using BACnet?

There are several ways to do this and it all depends on what you are trying to achieve. To give a few examples:

  1. My favorite at the moment BACnet as it provides a standardised protocol and there are tools out there that understand it and provide useful resources for use with it.

  2. Telnet, this can create a virtual serial link between the PC and the Rabbit device and allow commands be sent back and forth. It does require a continuous session to be established.

  3. SNMP - Simple Network Management Protocol. A protocol designed for device management over networks.

  4. Modbus TCP. A protocol from the SCADA world which again is supported by lots of tools out there.

  5. Roll your own protocol using UDP or TCP/IP.

I’m sure others can suggest even more ways of doing it.

Again it all depends on what your overall aim is.

Regards,
Peter

Any example on point 2?

I’ve tried point 5, but it does not work, since i am also not too familiar with tcp socket programming. But I would like to know more on point 5 regarding the connection between PC and RCM5700

What I really need know is just a simple communication between PC and RCM5700, like I said earlier, maybe just be able to turn on and off the LED on RCM5700 from PC through internet. I prefer the socket programming way. However, I am still really new at it.

For point 2 the samples cpip elnet directory has some apps for the Rabbit side of things. You could use a telnet program on the PC to try it out but if you want to develop an app on the PC side you will need to search for some examples of telnet code - which should not be too hard to find.

You could also use SMTP/POP3 to send data back and forth via email if latency is not an issue! This would work over the internet as the two devices do not have to communicate directly.

Regards,
Peter

Is hyperterminal telnet?

I need the direct communication between pc and rcm5700, so i dont think smtp will fit in my application.

Any sample for point 5?

There are lots of free telnet apps out there - PuTTY is one of the more popular ones.

Option 5, by its nature is least likely to have decent code samples available and is not something I’d recommend for someone starting out.

If you want to have bidirectional communications between the RCM5700 and the PC it very much depends on the design of the system as to which approach is best. Do you want the RCM5700 to act as a “server” which only responds to requests from the PC or do you want it to be able to initiate communications with a “server” app running on the PC?

If it is just setting and retrieving some simple point based information and server only access to the RCM5700 then options 1, 4 and 3 in that order would be my choice.

Simple server access can be done for the RCM5700 with BACnet without any extra development using the sample RCM5700 app in the BACnet stack and the readprop and writeprop apps from the C BACnet stack at https://sourceforge.net/projects/bacnet/develop

Regards,
Peter