aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
|
|
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| there will be different software components involved
| | <small>< [[HSC2011]]</small> |
|
| |
|
| there is a '''firmware''' on each device
| | The EduBuzzer has software run in three parts: |
|
| |
|
| there will be a '''hostsoftware (webserver)''' that runs on the pc/laptop
| | * [[HSC2011/Software/Firmware|Firmware]] running on the ATMega controllers (for hardware control and radio communication) |
| | ** The firmware can run additional code inside a [[HSC2011/Software/embedVM|virtual machine]] for tasks like LED fading, meldoy beeping or even autonomous games. |
| | * [[HSC2011/Software/ygor|Middleware]] running natively on the computer (for serving the firmware, managing communication and for persistence) |
| | * A [[HSC2011/Software/Frontend|Frontend]] running in a web browser (containing the game logic itself) |
|
| |
|
| this webserver will provide a webinterface to the '''javascript application'''
| | The communication through the whole software is described in the [[HSC2011/Communication|communication documentation]]. |
| | |
| there are ''positions open'' for
| |
| | |
| *<strike> the webserver/serialcom (python)</strike> '''amir''' implements this job with java
| |
| * the webfrontend application logic (javascript)
| |
| * the webfrontent design (CSS)
| |
| * firmware and protocoldesign (AVR)
| |
| | |
| == firmware ==
| |
| | |
| The current firmware is written by clifford and chrysn and is currently capable of both being a buzzer and being a base station; the base station can control all the hardware in the buzzers and receive events. It can be checked out from [http://github.com/Metalab/hsc2011/tree/master/firmware the firmware part of the project repository].
| |
| | |
| During firmware development, a serial protocol was developed, which is documented [http://github.com/Metalab/hsc2011/blob/master/firmware/README.serialprotocol alongside the firmware].
| |
| | |
| Open issues are in descending priority:
| |
| | |
| * redirect messages for controlling the base station itself
| |
| * fine-tuning timing for re-sends and responses (may only need validation)
| |
| * virtual machine, including read/write commands
| |
| ** compiler
| |
| * reading battery status (might require some hardware modification)
| |
| * reading RSSI state
| |
| * multicasts
| |
| * <del>removing arduino specific stuff to reduce resource usage</del> (not a priority unless resources become a real problem)
| |
| | |
| == PC server ==
| |
| | |
| There is a proof-of-concept implementation of a serial controller and a simple voting game for debugging purposes [http://github.com/Metalab/hsc2011/blob/master/firmware/demohost.py in the repository]. It demonstrates that the firmware can also do logins, handle disconnected clients and respond to events.
| |
|
| |
|
| [[Kategorie:HSC2011]] | | [[Kategorie:HSC2011]] |
| | [[Kategorie:English]] |
Aktuelle Version vom 2. Mai 2011, 19:54 Uhr
< HSC2011
The EduBuzzer has software run in three parts:
- Firmware running on the ATMega controllers (for hardware control and radio communication)
- The firmware can run additional code inside a virtual machine for tasks like LED fading, meldoy beeping or even autonomous games.
- Middleware running natively on the computer (for serving the firmware, managing communication and for persistence)
- A Frontend running in a web browser (containing the game logic itself)
The communication through the whole software is described in the communication documentation.