Wireless Workshop: Unterschied zwischen den Versionen

Aus hyperdramatik
Zur Navigation springen Zur Suche springen
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
TH 28.4.2022, 11-14:00 (3h) + FR 29.4.2022, 10-15:00 (4h)
= Wireless Communication - how does it even work ??? =


Ankündigung: https://www.kobakant.at/DIY/?p=9589
Radio waves! Radio


This 2-day workshop aims to give an overview of a selection of wireless communication technologies good for sending sensor data between small devices and computers, and provides concrete examples for a subset of the selection. For example how to send data from an Arduino with WiFi or Bluetooth capability to a computer or how to send data between two such Arduinos or also between computers. We will work with protocols such as TCP, OSC, MIDI and MQTT.
Frequency modulation vs. amplitude modulation, WiFi uses adaptive modulation


https://live.staticflickr.com/65535/52033756456_152e6cdc4f_n.jpg https://live.staticflickr.com/492/31496648113_0caf00c9f7_n.jpg
https://qph.fs.quoracdn.net/main-qimg-160870a1426502f3700f1c52310d5e56


https://radio-waves.orange.com/wp-content/uploads/sites/24/2020/02/schemas_03_en.png


= Wireless Technology =


Radio waves!


Wi-Fi (2.4/2.5 GHz) - faster, 10xbluetooth distance, more energy
== Explanation Videos ==
How WiFi and Cell Phones Work | Wireless Communication Explained
https://www.youtube.com/watch?v=kxLcwIMYmr0


Bluetooth, BLE (Bluetooth Low Energy) (2.4/2.5 GHz) - slower, shorter distance, less energy (good when you need to make something very small)  
Bluetooth vs WiFi - What's the difference?
https://www.youtube.com/watch?v=mPMGRILsOVk
 
How Does Wi-Fi Work? | Earth Lab
https://www.youtube.com/watch?v=xmabFJUKMdg
 
How Information Travels Wirelessly
https://www.youtube.com/watch?v=Ax7dYaRiY6o
 
 
= Wireless Technologies =
hardware + software (protocols)
 
a selection of common wireless communication technologies:
 
RFID vs. NFC - RFID can be scanned up to 100m, NFC is limited to small distances
 
*Bluetooth, BLE (Bluetooth Low Energy) (2.4/2.5 GHz) - slower, shorter distance, less energy (good when you need to make something very small)  


Zigbee (Mesh Protocol) (2.4/2.5 GHz) - low-power, low data rate, and close proximity  
Zigbee (Mesh Protocol) (2.4/2.5 GHz) - low-power, low data rate, and close proximity  
*Wi-Fi (2.4/2.5 GHz) - faster, 10xbluetooth distance, more energy


Antenna Cellular (3G/4G/5G) - very high operational costs and power requirements  
Antenna Cellular (3G/4G/5G) - very high operational costs and power requirements  
RFID vs. NFC - RFID can be scanned up to 100m, NFC is limited to small distances


== Wireless ranges ==
== Wireless ranges ==
Zeile 30: Zeile 48:
https://www.imperva.com/learn/wp-content/uploads/sites/13/2020/02/OSI-7-layers.jpg.webp
https://www.imperva.com/learn/wp-content/uploads/sites/13/2020/02/OSI-7-layers.jpg.webp


=== Explanation Videos ===
How WiFi and Cell Phones Work | Wireless Communication Explained


Bluetooth vs WiFi - What's the difference?
= Selecting Hardware =
 
== Manufacturers & Distributors ==
 
segor >> https://www.segor.de/#Q=ESP32-DevKit&M=1
 
conrad >> https://www.conrad.de/
 
adafruit >> https://www.adafruit.com/
 
sparkfun >> https://www.sparkfun.com/
 
== Good Tutorials ==
 
heise make magazine >> https://www.heise.de/make/
 
ESP Make special >> https://www.flickr.com/photos/plusea/sets/72157714270562172/
 
adafruit >> https://www.adafruit.com/
 
sparkfun >> https://www.sparkfun.com/
 
New Products 11/10/21 feat. Adafruit ESP32-S2 Feather >> https://www.youtube.com/watch?v=SSHbJ0FhIpo
 
 
== ESP32 by espressif ==
In this workshop we will focus on the ESP32 by espressif >> https://www.espressif.com/en/products/socs/esp32
 
>> https://en.wikipedia.org/wiki/ESP32
 
history: v1...... ESP32
 
Why ESP32's Are The Best Microcontrollers
https://www.youtube.com/watch?v=A5CB4t9sukM
 
 
=== Different ESP32 boards ===
ESP32 Devkit, particle, nodeMCU, pycome, bluefruit, feather, SparkFun ESP32 Thing
 
 
==== ESP32 Devboard 38pin version ====
What you need to do to be able to program the ESP32 with the Arduino IDE >> http://hyperdramatik.net/mediawiki/index.php?title=ESP32_mit_Arduino
 
Nice ESP32 Devboard 38pin documentation >> https://www.studiopieters.nl/esp32-pinout/
 
 
Some important infos about the ESP:
 
ADC 2 pins don't work when using wifi
 
analogWrite function does not work?
 
mistake GND pin is CMD pin!
 


How Does Wi-Fi Work? | Earth Lab
http://hyperdramatik.net/mediawiki/images/thumb/a/aa/ESP32-38_PIN-DEVBOARD.png/800px-ESP32-38_PIN-DEVBOARD.png
https://www.youtube.com/watch?v=xmabFJUKMdg


How Information Travels Wirelessly
https://www.youtube.com/watch?v=Ax7dYaRiY6o


=====OSC & Arduino=====


= Arduino & Wireless Communication =
OSC + Arduino >> http://hyperdramatik.net/mediawiki/index.php?title=OSC_in_Arduino


======Sending data from ESP to Processing======
======Sending data from Processing to ESP======


== Some Small Wireless Devices ==
<source lang="js" line start="2" highlight="4-6">


Arduino + WiFi (ESP32 Devboard...)
Arduino code for printing IP address of ESP32:


Arduino + Bluetooth/BLE (ESP32
  Serial.println("IP address: ");


XBee - a family of radio modules
  Serial.println(WiFi.localIP());


</source>


=== Products ===
======Sending data from ESP to ESP======


https://www.adafruit.com >> distributors
=====OSC & Processing=====


https://www.sparkfun.com/distributors
OSC + Processing >> http://hyperdramatik.net/mediawiki/index.php?title=OSC_in_Processing


=====OSC & Unity=====


== Some Communication Protocols ==
OSC + Unity >> http://hyperdramatik.net/mediawiki/index.php?title=OSC_in_Unity


Serial TCP OSC MIDI MQTT


=====OSC & vvvv=====


== Some Arduino Libraries ==
OSC + vvvv >> https://github.com/clockdiv/Spaghettimonster (example code from Julian)


= Glossar =


WLAN - Wireless Local Area Network
=====MQTT=====
MQTT Brokers http://hyperdramatik.net/mediawiki/index.php?title=MQTT_Brokers


MQTT Clients:


Arduino: Shiftr.io Arduino MQTT library: "MQTT by Joel Gaehwiller” >> http://hyperdramatik.net/mediawiki/index.php?title=MQTT_in_Arduino


Processing: Shiftr.io Processing MQTT library: "MQTT library for Processing based on the Eclipse Paho project by Joel Gaehwiller” >> http://hyperdramatik.net/mediawiki/index.php?title=MQTT_in_Processing




=====BLE=====
ESP32-BLE-MIDI: An Arduino library to use Midi over Bluetooth Low Energy (BLE) on ESP32 boards >> https://github.com/max22-/ESP32-BLE-MIDI


-----
BLE-MIDI I/Os for Arduino: MIDI over Bluetooth Low Energy (BLE-MIDI) 1.0 for Arduino >> https://github.com/lathoub/Arduino-BLE-MIDI

Aktuelle Version vom 3. Mai 2022, 18:23 Uhr

Wireless Communication - how does it even work ???

Radio waves! Radio

Frequency modulation vs. amplitude modulation, WiFi uses adaptive modulation

https://qph.fs.quoracdn.net/main-qimg-160870a1426502f3700f1c52310d5e56

schemas_03_en.png


Explanation Videos

How WiFi and Cell Phones Work | Wireless Communication Explained https://www.youtube.com/watch?v=kxLcwIMYmr0

Bluetooth vs WiFi - What's the difference? https://www.youtube.com/watch?v=mPMGRILsOVk

How Does Wi-Fi Work? | Earth Lab https://www.youtube.com/watch?v=xmabFJUKMdg

How Information Travels Wirelessly https://www.youtube.com/watch?v=Ax7dYaRiY6o


Wireless Technologies

hardware + software (protocols)

a selection of common wireless communication technologies:

RFID vs. NFC - RFID can be scanned up to 100m, NFC is limited to small distances

  • Bluetooth, BLE (Bluetooth Low Energy) (2.4/2.5 GHz) - slower, shorter distance, less energy (good when you need to make something very small)

Zigbee (Mesh Protocol) (2.4/2.5 GHz) - low-power, low data rate, and close proximity

  • Wi-Fi (2.4/2.5 GHz) - faster, 10xbluetooth distance, more energy

Antenna Cellular (3G/4G/5G) - very high operational costs and power requirements

Wireless ranges

3-Figure2-1.png 840px-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_LPWAN.png

7-layer OSI model

Open Systems Interconnection Model https://www.imperva.com/learn/wp-content/uploads/sites/13/2020/02/OSI-7-layers.jpg.webp


Selecting Hardware

Manufacturers & Distributors

segor >> https://www.segor.de/#Q=ESP32-DevKit&M=1

conrad >> https://www.conrad.de/

adafruit >> https://www.adafruit.com/

sparkfun >> https://www.sparkfun.com/

Good Tutorials

heise make magazine >> https://www.heise.de/make/

ESP Make special >> https://www.flickr.com/photos/plusea/sets/72157714270562172/

adafruit >> https://www.adafruit.com/

sparkfun >> https://www.sparkfun.com/

New Products 11/10/21 feat. Adafruit ESP32-S2 Feather >> https://www.youtube.com/watch?v=SSHbJ0FhIpo


ESP32 by espressif

In this workshop we will focus on the ESP32 by espressif >> https://www.espressif.com/en/products/socs/esp32

>> https://en.wikipedia.org/wiki/ESP32

history: v1...... ESP32

Why ESP32's Are The Best Microcontrollers https://www.youtube.com/watch?v=A5CB4t9sukM


Different ESP32 boards

ESP32 Devkit, particle, nodeMCU, pycome, bluefruit, feather, SparkFun ESP32 Thing


ESP32 Devboard 38pin version

What you need to do to be able to program the ESP32 with the Arduino IDE >> http://hyperdramatik.net/mediawiki/index.php?title=ESP32_mit_Arduino

Nice ESP32 Devboard 38pin documentation >> https://www.studiopieters.nl/esp32-pinout/


Some important infos about the ESP:

ADC 2 pins don't work when using wifi

analogWrite function does not work?

mistake GND pin is CMD pin!


800px-ESP32-38_PIN-DEVBOARD.png


OSC & Arduino

OSC + Arduino >> http://hyperdramatik.net/mediawiki/index.php?title=OSC_in_Arduino

Sending data from ESP to Processing
Sending data from Processing to ESP
Arduino code for printing IP address of ESP32:

  Serial.println("IP address: ");

  Serial.println(WiFi.localIP());
Sending data from ESP to ESP
OSC & Processing

OSC + Processing >> http://hyperdramatik.net/mediawiki/index.php?title=OSC_in_Processing

OSC & Unity

OSC + Unity >> http://hyperdramatik.net/mediawiki/index.php?title=OSC_in_Unity


OSC & vvvv

OSC + vvvv >> https://github.com/clockdiv/Spaghettimonster (example code from Julian)


MQTT

MQTT Brokers http://hyperdramatik.net/mediawiki/index.php?title=MQTT_Brokers

MQTT Clients:

Arduino: Shiftr.io Arduino MQTT library: "MQTT by Joel Gaehwiller” >> http://hyperdramatik.net/mediawiki/index.php?title=MQTT_in_Arduino

Processing: Shiftr.io Processing MQTT library: "MQTT library for Processing based on the Eclipse Paho project by Joel Gaehwiller” >> http://hyperdramatik.net/mediawiki/index.php?title=MQTT_in_Processing


BLE

ESP32-BLE-MIDI: An Arduino library to use Midi over Bluetooth Low Energy (BLE) on ESP32 boards >> https://github.com/max22-/ESP32-BLE-MIDI

BLE-MIDI I/Os for Arduino: MIDI over Bluetooth Low Energy (BLE-MIDI) 1.0 for Arduino >> https://github.com/lathoub/Arduino-BLE-MIDI