Bearbeiten von „Putsch“

Wechseln zu: Navigation, Suche

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird öffentlich sichtbar, falls du Bearbeitungen durchführst. Sofern du dich anmeldest oder ein Benutzerkonto erstellst, werden deine Bearbeitungen zusammen mit anderen Beiträgen deinem Benutzernamen zugeordnet.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version Dein Text
Zeile 46: Zeile 46:
  
 
If the maximum Bandwidth (500kKz) on the SX1278 is selected, other paramters have to be adapted. (I try to find that statement in the datasheet again)
 
If the maximum Bandwidth (500kKz) on the SX1278 is selected, other paramters have to be adapted. (I try to find that statement in the datasheet again)
 
'''<span style="color:red;">COMMENT - This needs to be looked up!</span>'''
 
  
 
'''References'''
 
'''References'''
Zeile 59: Zeile 57:
 
====Displays====
 
====Displays====
  
As a display, a so called 0.91 OLED[1] Display is used. Manufacturer unknown. It is connected via SPI. On lcdwiki.com[2] product informations including the schematics can be found. It is stated that the IC diver is a SSD1306. The SSD1306 can be interfaced with SPI or I2C. The datasheet states[3, page 20], states the slave address in I2C mode:
+
As a display, a so called 0.91 OLED[1] Display is used. Manufacturer unknown. It is connected via SPI.
 
 
''"Either “0111100” or “0111101”, can be selected as the slave address of SSD1306."''
 
 
 
-[3, page 20]
 
 
 
0111100 is 0x3C, 0111100 is 0x3D.
 
  
 
'''References'''
 
'''References'''
  
 
[1] AZ-delivery product link: https://www.az-delivery.de/products/0-91-zoll-i2c-oled-display
 
[1] AZ-delivery product link: https://www.az-delivery.de/products/0-91-zoll-i2c-oled-display
 
[2] http://www.lcdwiki.com/0.91inch_IIC_OLED_Module_SSD1306_SKU:MC091GX
 
 
[3] http://www.lcdwiki.com/res/MC091GX/SSD1306-Revision%201.5.pdf
 
  
 
====Electromechanical interface====
 
====Electromechanical interface====
Zeile 79: Zeile 67:
 
The LoRa boards have a button and a potentiometer. The button is used to change the device mode. The potentiometer is used to change a value in the range of 1-10.
 
The LoRa boards have a button and a potentiometer. The button is used to change the device mode. The potentiometer is used to change a value in the range of 1-10.
  
[[Datei:btn-state2.jpg|thumb|400px|center|Button State-Diagram]]
+
[[Datei:btn-state2.jpg|thumb|200px|center|Button State-Diagram]]
 
 
====Schematics====
 
 
 
[[Datei:Schematics_20230207_2.jpg|thumb|600px|center|Schematics]]
 
 
 
'''<span style="color:red;">COMMENT - Only connect GND, VCC, TX and RX for UART connection to Olimex! Olimex is also I2C Master.</span>'''
 
  
 
===Software===
 
===Software===
 
====Control commands====
 
 
{| class="wikitable"
 
|+ Network roles
 
|-
 
! QUEST !! PLAYLIST !! source: meaning
 
|-
 
| 254 || 254 || LOCATION
 
|-
 
| 253 || 0-100 || VOLUME
 
|-
 
| 0-250 || 0-250 || PLAY QUEST PLAYLIST
 
|-
 
|}
 
 
 
====Error Codes====
 
 
{| class="wikitable"
 
|+ Network roles
 
|-
 
! code !! source: meaning
 
|-
 
| 0 || olimex: default state (olimex ready)
 
|-
 
| 1 || olimex: is playing
 
|-
 
| 2 || olimex: SD card error (f.e. folder not found)
 
|-
 
| 10 || endnode: no olimex answer
 
|-
 
| 11 || endnode: doubletrigger avoided
 
|-
 
|}
 
 
====Libraries====
 
 
=====OLED display=====
 
 
For the communication with the OLED display, <Adafruit_GFX.h> and <Adafruit_SSD1306.h> are used. As the display can be interfaced with SPI or I2C, <SPI.h> for SPI and <Wire.h> for I2C are also used. The OLED display is interfaced based in the aranacorp.com[1] example.
 
 
This example uses I2C as interface and addresses the display with 0x3C. This means a second display could be connected, that uses address 0x3D:
 
 
 
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Address 0x3C for 128x32
 
 
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 32, &Wire);
 
 
 
'''References'''
 
 
[1] https://www.aranacorp.com/en/using-a-0-91in-oled-display-with-arduino/
 
 
=====LoRa module=====
 
  
 
====Rollen im Netzwerk====
 
====Rollen im Netzwerk====
Zeile 200: Zeile 127:
 
This is realised by storing three arrays, where the array-size equals the maximum subnets. The first index in one array stores the repeaters next neighbours address. By reading it out, the repeater can determine if it is the next possible sender. By scanning the other two arrays, it can determine if it should repeat the packet. One array is for sending from the gateway, the other is for sending back to the gateway.
 
This is realised by storing three arrays, where the array-size equals the maximum subnets. The first index in one array stores the repeaters next neighbours address. By reading it out, the repeater can determine if it is the next possible sender. By scanning the other two arrays, it can determine if it should repeat the packet. One array is for sending from the gateway, the other is for sending back to the gateway.
  
[[Datei:repeater-schem.png|thumb|400px|center|network situation]]
+
[[Datei:repeater-schem.png|thumb|200px|center|network situation]]
  
 
As an example we can look ate node 3 with 9 maximum nodes.
 
As an example we can look ate node 3 with 9 maximum nodes.
Zeile 233: Zeile 160:
  
  
[[Datei:wap.jpg|thumb|300px|center|Idea of combining LoRa with WLAN]]
+
[[Datei:wap.jpg|thumb|200px|center|Idea of combining LoRa with WLAN]]
  
 
A WLAN Acces Point is treaded like a stationary device. It buffers all necessary data of all devices, connected via WLAN to it. With a special command, a bigger packet can be read out, containing all WLAN-devices data.
 
A WLAN Acces Point is treaded like a stationary device. It buffers all necessary data of all devices, connected via WLAN to it. With a special command, a bigger packet can be read out, containing all WLAN-devices data.
Zeile 266: Zeile 193:
 
| Purpose: || receiver-address (1) || amount of data (k) || packet-id || data 1 || sender-address 1 || position 1 || ... || data k || sender-address k || position k
 
| Purpose: || receiver-address (1) || amount of data (k) || packet-id || data 1 || sender-address 1 || position 1 || ... || data k || sender-address k || position k
 
|}
 
|}
 
'''<span style="color:red;">COMMENT - Packets need to be rearranged!</span>'''
 
  
 
====Network address table====
 
====Network address table====
Zeile 298: Zeile 223:
  
 
This table shows the commands that can be sent via LoRa. The designation is ment to be a unique 4-Char name for defines.
 
This table shows the commands that can be sent via LoRa. The designation is ment to be a unique 4-Char name for defines.
 
'''<span style="color:red;">COMMENT - The command numbers need to be rearranged/sorted once it's finished!</span>'''
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 305: Zeile 228:
 
|-
 
|-
 
! command !! name !! data packet !! designation
 
! command !! name !! data packet !! designation
|-
 
| 10 || program || - || -
 
 
|-
 
|-
 
| 0 || invalid || - || -
 
| 0 || invalid || - || -
Zeile 325: Zeile 246:
 
|}
 
|}
  
====I2C address table====
+
<span style="color:red;">xx</span>
 +
 
 +
COMMENT: The command numbers need to be rearranged/sorted once it's finished!
 +
 
 +
====Hardware communication libraries====
  
{| class="wikitable"
 
|+ I2C addresses
 
|-
 
! address !! device !! comment
 
|-
 
| 0x3C || 0.91 OLED Display || default
 
|-
 
| 0x3D || 0.91 OLED Display ||
 
|-
 
| 0x70 || Clock display || default
 
  
|}
 
  
 
====Token Pass System====
 
====Token Pass System====
Zeile 349: Zeile 263:
  
 
Wir verwenden [https://www.adafruit.com/product/1674,Bone Conductor Transducer von adafruit].
 
Wir verwenden [https://www.adafruit.com/product/1674,Bone Conductor Transducer von adafruit].
 
[[Datei:Kopfhörer Kopie.jpg]]
 
  
 
=== Olimex Audioboard ===
 
=== Olimex Audioboard ===
  
 
Audio Modul für Radios und Publikum
 
Audio Modul für Radios und Publikum
 
[[Datei:olimex-marked.jpg|thumb|300px|center|Olimex board with marked GND pin]]
 
 
[[Datei:Uext_guideline.jpg|thumb|300px|center|Olimex ADF interface]]
 
 
'''Reference'''
 
 
Olimex product webpage with links https://www.olimex.com/Products/IoT/ESP32/ESP32-ADF/open-source-hardware
 
 
Schematics https://raw.githubusercontent.com/OLIMEX/ESP32-ADF/master/HARDWARE/ESP32-ADF%20Rev.C/ESP32-ADF_Rev_C.pdf
 
 
  
 
'''SD Karten Bespielprogramm'''
 
'''SD Karten Bespielprogramm'''
  
Python Programm, dass alle mp3 Files Namen in Ziffern übersetzt, damit sie in dieser Form auf die SD Karten gespielt werden können damit lokal am Board Befehle mit möglichst kleinem Datenvolumen interpretiert werden können, die per Lora verschickbar sind.  
+
Programm, dass automatisch die SD Karten mit unserer Ordnerstruktur von Audiofiles bespielt, um große Zeitverluste und Fehler durch manuelles Kopieren zu vermeiden.  
  
 
'''SD Karten Abspielprogramm'''
 
'''SD Karten Abspielprogramm'''
Zeile 376: Zeile 277:
  
 
==Ortung der mobilen Clients im Spiel==
 
==Ortung der mobilen Clients im Spiel==
 +
 +
===Infrarot===
  
 
===Bluetooth Beacons===
 
===Bluetooth Beacons===
Zeile 393: Zeile 296:
 
* providing and pushing data to the Control Server (and thus, to the Director UI and the Actor UI)
 
* providing and pushing data to the Control Server (and thus, to the Director UI and the Actor UI)
 
* communicating with peripherals like printers
 
* communicating with peripherals like printers
 +
 +
== Das echte Büro ==
 +
 +
===Drucker-Hack===
 +
 +
===Radio-Hack===
 +
 +
===Aktenschrank-Hack===
 +
 +
== Inhalt ==

Bitte beachte, dass alle Beiträge zu Planetenwiki von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter Itrontest:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Abbrechen | Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)