Design Goal: Build a device that is capable of emulating several keyboards, and is under the control of a central device that decides which keyboards to send data to.
Purpose: This would be useful for a test environment that simulates the network traffic generated by software running on several clients stationed along an assembly line. Which such a device, software could be tested before it is released into a live production environment.
- The master controller reads records from a file and
- Based on an address contained in the record, it sends data to one of seven keyboards just as if people were typing it.
- The keyboard data is written into whatever application is open
- The applications run simultaneously on all seven PC’s, just as it will in production.
In this way, a very realistic system test of a networked application can be performed.
Seven controllers are keyboard inputs into seven different PCs, all under the control of a master controller.
One example of how it can be used is to simulate a factory line, where client PC’s are stationed at strategic points to capture important information about what is happening at that station.
The i2C keyboard uses the industry standard i2C BUS to address a maximum of 255 individual devices. My design only calls for 7, but by daisy-chaining my board, you can add many more.
Each keyboard controller is assigned a unique address by setting a dip-switch.
The test sequence is generated by adding rows to a text file on any standard PC, then sending the rows to the Master controller. The master controller decodes the text data, and sends the data to the appropriate controller, which receives it, and outputs the text via the keyboard input. To the receiving PC, the data appears to be coming from a keyboard.
The i2C Keyboard simulator is ideal for performing functional or system tests under controlled laboratory circumstances. In this way, software can be fully tested before it is released into production.