Inhaltsverzeichnis
icoBoard
Das icoBOARD ist ein auf einem FPGA bassierendes IO-Board für den RaspberryPi
The icoBOARD contains a Lattice FPGA with 8k LUT, 100MHz max clock, up to 8MBit of SRAM and is programmable in Verilog by a complete open source FPGA toolchain.
Für die Funkkommunikation wird ein externer 2.4 Ghz Transiver von TI an das Icobaord angeschlossen. Dazu ist ein Adapter notwendig.
Das Funkmodul hat die Anschlüsse
- GND
- IO 0 bis IO 5
- VEN
- CSN (SPI Chip Select)
- SI (SPI Slave In = MOSI)
- SO (SPI Slave Out = MISO)
- SCK (SPI Clock)
- RST (Reset)
- VCC
Von der Steckerseite (die Seite wo der „QC Passed“ Aufkleber drauf ist):
L | R |
---|---|
GND | IO5 |
IO1 | IO0 |
IO3 | IO2 |
VEN | IO4 |
SI | CSN |
SCK | SO |
VCC | RST |
Das Icoboard verwendet den Pmod Standard, dazu gibt es das folgende Digilent Papier Digilent Pmod Interface Specification Aus diesem Dokument habe ich die für SPI vorgeschlagene Belegung auf S.6 „Pmod Interface Type 2 (SPI)“ für die erste Reihe am Stecker verwendet, die zweite Reihe dann mit den übrigen benötigten Pins belegt:
1:CS 7:IO2/INT 2:MOSI 8:RST 3:MISO 9:IO3 4:SCK 10:IO4 5:GND 11:GND 6:VCC 12:VCC
VEN liegt fix an VCC, IO5 an GND, IO1 und IO0 werden nicht verbunden. Die weiteren Verbindungen:
Funkmodul | Icoboard |
---|---|
GND | GND: 5, 11 |
VCC | VCC: 6, 12 |
IO3 | IO3: 9 |
IO2 | IO2/INT: 7 |
IO4 | IO4: 10 |
IO5 | GND: 5,11 |
MOSI | MOSI: 2 |
MISO | MISO: 3 |
SCK | SCK: 4 |
CSN | CS: 1 |
RST | RST: 8 |
Usecases aus Angebot
Fernsteuer-Codes
Ein Treiber für eine Infrarot-Steuerung, diese verwendet einen I/O Pin des FPGA auf der CPU der entsprechend gesteuert wird, um die Infrarot-Signale auszusenden. Es werden einige Fernsteuer-Codes implementiert um folgende Geräte zu steuern:
- Code um einen Cleaning-Robot zu starten
- Code um einen Cleaning-Robot zum Anfahren der Ladestation zu kommandieren
- Codes um Radio, TV und Klimaanlage auszuschalten
Für alle Geräte liegen die Fernsteuerungen vor. Für jeden Code wird eine CoAP-Resource implementiert über die das Senden des jeweiligen Codes ausgelöst werden kann.
Für die Implementierung der Fernsteuer-codes sind die einschlägigen Geräte zusammen mit Fernsteuerung zur Verfügung zu stellen (bis auf die Klimaanlage, diese kann nur vor Ort getestet werden). Weiters gehen wir davon aus, dass alle Infrarot-Geräte die selbe Lichtfrequenz (Farbe) verwenden so dass auf Seite des Icoboards nur ein Infrarot-Sender nötig ist.
Maintainer: Nikola Trifunovic
todo: IR Modul besorgen
CoAP-Treiber für Funktaster
CoAP-Treiber für Funktaster die mit Merkur-Boards und Contiki-OS realisiert werden. Damit ist es möglich, eine Voting-Anwendung zu implementieren, die die Votes von mehreren Tastern abfragt und ein Ergebnis ermittelt.
Maintainer: Harald Pichler
todo:
Treiber für RFID-Reader
Treiber für einen RFID-Reader der über eine serielle Schnittstelle angebunden ist, der zuletzt gelesene RFID Tag wird über eine CoAP Resource zur Verfügung gestellt.
Maintainer: Harald Pichler
todo:
Treiber für Schallsensor
Treiber für einen auszuwählenden Schallsensor der als Vibrationssensor (für Kühlschrank oder Kaffeemaschine) arbeiten soll. Eine geeignete CoAP Resource dient zur Abfrage der zuletzt gehörten Lautstärke, eventuell wird eine CoAP Notification bei Überschreiten einer Lautstärke implementiert.
Für den Schallsensor ist eine geeignete Hardware auszuwählen, schön wäre wenn diese einen eigenen Audio-Anschluss (z.B. für ein Körperschall-Mikrofon) hätte, vermutlich sind aber kurzfristig nur Schallsensoren mit fix verbautem Mikrofon zu bekommen.
Maintainer: Nikola Trifunovic
Usecases aus Besprechung
Home iRobot
IR out Roboter reinigen starten Roboter zur Ladestation beordern Fernsteuerung liegt vor, IR Kommandos aufzeichnen, und wieder abspielen
Wenn alle Personen mit Hand die Wohnung verlassen haben (Festsellung durch Position auf Handyapp), dann wird Roboter gestartet. Wenn sich eine Person der Wohnung nähert, wird der Roboter zur Ladestation gesendet. (dabei gibt es mehrere IR out Sender, da eine Wohnung aus mehreren Zimmern bestehen kann)
COAP-Resourcen
Resource | GET | PUT | Comments |
---|---|---|---|
/.well-known/core | X | X | Well-Known URIs |
/info | X | - | Name Version Information |
/ir | X | X | 0 Stop ; 1 Start |
Home all off
IR out Wenn Person die Wohung verlässt (Festsellung durch Position auf Handapp), dann werden Geräte ausgeschaltet (Klimaanlage, TV, Radio) Fernsteuerungen liegen vor. IR code aufnehmen.
Event Feeedback Buttons
Mehrere batteriebetriebene Schalter mit 2 Tasten (erweiterte OpenTrigger Board) haben Coap Resourcen für die Buttons.
Büro Kaffeemaschinen Abrechnung
Ein icoboard hat ein RS232 Interface. An diesem Interface hängt ein RFID Reader. Die ID der RFID Tags wird an Server gesendet.
ein weiteres icoBoard hat einmikrophon (Vibrationssensor). Das Icobaord macht eine Vibrationsauswertung.
Wenn der User seine Karte an den RFID Reader hält, dann wir ein Kaffee auf sein Konto gebucht. ER betätigt die Kaffeemaschine und die Produktion des Kaffee wird bestätigt. Wenn ein user sich einen Kaffe macht, ohne vorher den RFID Reader gelesen zu haben, dann geht eine ErinnerungsLED an (Klassisches IoT board. nix neues) . Dann kann er noch seine RFID Karte an den Reader halten und es wird zu seinem Konto zugebucht. Wenn er dies nicht tut, wird ein Alarm ausgelöst (bei einem klassischen IoT device Piepser, wie ihn Harald schon hat))
COAP-Resourcen
Resource | GET | PUT | Observe | Comments |
---|---|---|---|---|
/.well-known/core | X | X | - | Well-Known URIs |
/info | X | - | - | Name Version Information |
/a/rfid | X | - | X | NUID Card |
/s/nois | X | - | X | 0 false ; 1 True dedect Coffe |
Office Temperatur voting
Es gibt mehrere Temperatursensoren im Raum (klassisch, nicht icoBoard, nicht wireless 433 oder 868MHz)
jede Person hat einen Votingbutton (wie im Usecase 3) Person kann darüber abstimmen, ob es ihr selber zu warum oder zu kalt ist. Die App errechnet eine angenehme Zwischentemperatur für alle Personen. Über das IR out wird die Temperatur des Klimageätes angepasst.
Resource | GET | PUT | OBSERVE | Comments |
---|---|---|---|---|
/.well-known/core | X | X | - | Well-Known URIs |
/info | X | - | - | Name Version Information |
/a/button1 | X | X | X | |
/a/button2 | X | X | X | |
/s/temp | X | - | X | Temperature Sensor |
Kühlschrank
Vibrationssensor wird an Kühlschrankkompresor angebracht und sendet Coap Message, wenn der Kompressor läuft, und wenn er sich wieder abdreht. Damit kann man einen Alarm einstellen, wenn die Kühlschranktür offen ist (dann läuft der Kompressor andauernd) oder der Kühlschrank kaputt ist, oder die Kühlung nicht gut funktioniert. Mit einer Standard Temperaturmessung und einem Standard Lichtsensor innen im Kühlschrank kann man auch noch andere Auswertungen machen.
Demo 7) LED device) (nicht besprochen, ist mir so eingefallen, weil es einfach cool ist, und weil es das Interface schon gibt, keine Ahnung ob es geht.) 32*32 LED Panel hängt an icoBoard. per Coap Message (vom server aus) kann man ein 32*32 animated GIF an den LED Display schicken. Und diese Animation wird dann angezeigt. (kann Wetter sein, Abstimmungsergebnis, Temperatur, was auch immer)
Interfaces am icoBoard
Wir haben jetzt folgende Interfaces am icoBoard:
- IR
- Vibration
- RS232
- 433MHz Dual Taster
ev. LED Display (wenn ihr es machbar und cool findet)
Realisierung der Business Logic ev. mit guh.io oder mit machina.io
Devices: Inventar
Wir haben folgende Devices von Edmund, dafür werden wir noch Doku brauchen, bitte Doku hier verlinken.
- 9-Kanal Power Analyzer ng-9 „New Generation Network Analyzer 9 measured lines“
- MAX 10 FPGA Development Kit (hat mir Clifford der Vollständigkeit halber mitgegeben damit bei ihm nichts mehr rumsteht)
- MAX! Komforthaus Heizkörperthermostat und Wandthermostat (letzteres steuert den Heizkörperthermostat)
- 2 Stück MAX! Fensterkontakt: Funk-Fensterkontakt
- MAX! ECO Taster
- Avantek Remote Control Outlet Switch Kit: 3 Steckdosen und eine Fernbedienung, keine Doku, laut Packung 433MHz
- 1 Türklingel (Taste) SilverCrest IAN113326 Model No 113326-14-02-TX Version 06/2015 OWIM GmbH & Co KG Stiftsbergstraße 1 D-74167 Neckarsulm
- 1 Funktürklingel (Empfänger) SilverCrest IAN113326 selbe Model No aber RX
- 1 Flachbandkabel 10-polig
- Funk-Energiekosten-Messgerät FHT-9998-S2: Endgerät und zwei Funksteckdosen
- froggit FT0073 Kabelloses Indoor/Outdoor Thermo-Hygrometer: Ein Anzeigegerät und drei „Weather Station Transmitter“ Model F007TH 433 MHz, deutsche Bedienungsanleitung
- Diverse Funk-Peripherie 433MHz Intertechno:
- Schalter-Wippe
- Schalter-Doppelwippe
- Funksteckdose ein/aus
- Funksteckdose Dimmer
- Fernsteuerung 4 Buttons
- Bewegungsmelder, klein
- Bewegungsmelder, groß (?)
- Diverse Bedienungsanleitungen dazu
- Pmod 8LD KIT 8 high bright LEDs
- Pmod RS485
- Stickit! VGA Modul Verbindet ein oder zwei Pmods oder Wing Sockets auf dem S (ab da fehlts) vermutlich das hier: http://www.xess.com/shop/product/stickit-vga/
- 3 Stück TE298 www.xcsource.com (keine weitere Beschreibung) scheint auch ein Pmod Modul zu sein mit Antenne, auf dem PCB: „RF11OOSE“ – Ist ganz offensichtlich dieses hier: https://www.amazon.de/Stabiles-Kabelloses-Wireless-Transceiver-TE298/dp/B013QP39W6
- Pmod Verlängerungskabel 10cm 2 Stück
- 2 Antennen DeLOCK Antenna ZigBee 868 MHz RP-SMA-24, 22dB fixed