Fab Lab Rwanda · Group work
Embedded Networking and Communications
Our group exercise will exchange a meaningful message between two projects. The important record is the complete path from the sending application to the receiving application and the observed response.
Define the two projects
We will identify both endpoints, their purpose and the physical or wireless transport. The message should change a state or request data in the other project, so the result can be checked at both ends. Boards, computers or mobile devices can participate; the group task is not limited to two identical microcontrollers.
The selected interface determines the wiring, reference, signal levels, addressing and software libraries. We will draw the actual connection and verify compatibility before connecting hardware.
Message format and receive behaviour
A small protocol should define the destination, command and payload, plus a way to associate a response with a request. For example, a sequence number can make repeated or missing messages visible. This is a proposed protocol structure, not a transcript of a completed test.
Both programs must agree on framing, encoding and valid values. The receiver should validate a complete message before acting; the sender should handle a timeout or explicit error rather than assume delivery.
| Stage | Behaviour to implement | Observation |
|---|---|---|
| Send | Form a message from a known command | Sender log identifies the sequence and payload. |
| Receive | Parse and apply the message in the other project | Receiver log and project behaviour agree. |
| Reply | Return an acknowledgement or result | Sender matches it to the original request. |
| Failure | Handle a disconnected link or invalid message | A defined error/timeout occurs without an unintended action. |
Test method and interpretation
We will capture the programs running at both endpoints with a common test sequence. The record should show the sent value, received value and resulting behaviour, followed by at least one failure/recovery case. Logs need enough context to identify which project produced each line.
The downloadable sources should contain the actual send and receive code, with library versions and setup instructions. A diagram or screenshot of code alone cannot reproduce the exchange.
Relation to the plotter tools
The image-to-G-code tool currently prepares a downloadable file in the browser. It does not send messages to the plotter controller. The build interface also downloads files and previews models; it does not establish an inter-project network test.