Übersetzungen dieser Seite:

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

Infrarot Sender

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

SoundDetector

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

de/projekte/icoboard.txt · Zuletzt geändert: 2016/12/09 10:15 von harald42