The PC application will connect to the NXT and EV3 bricks by Bluetooth (for the EV3, we are investigating if we can write a block for sending messages over a WiFi connection, but that isn’t easy).
The final layout will be controlled by a Windows (Microsoft.NET, C#) application. This application will connect to four NXT bricks and four EV3 bricks. On the NXT and EV3 bricks are programs running that control the hardware. For example, if one of the trains has to move to another location, the PC application sends a “SPEED+2” message to train #1. The program on that specific brick, interprets the message string and converts the “SPEED+2” message into a command for the Hi-Technic IR-link. Therefor, the train goes forward with speed ‘2’. This PC application is now ‘under construction’ and cannot be used yet for testing.
In order to test already the NXT and EV3 programs, I have written a simple C# application to connect to one NXT or one EV3 brick and then I can send string messages to the connected brick. With this simple test application, I can send such a “SPEED+2” message to the train and check if it goes into the right direction with the right speed.
Screenshot NXT connection:
Screenshot EV3 connection:
There are two major drawbacks of this simple application (and therefor NOT available):
- It is not bi-directional. It is only possible to send a string command from the PC to the NXT / EV3 brick, not the other way around. So if the NXT or EV3 brick sends a (confirmation) message, this is not picked up by the PC application.
- We are not testing the ‘real’ HAL (= Hardware Abstraction Layer) of our final PC application. The team is in the last phase of writing the HAL. Jan Willem van Silfhout (and others) are writing an improved version of this test application which is bi-directional and based on the real HAL. Any problems in the HAL will therefor tackled earlier in the development process.