Everything is Talkative: Unterschied zwischen den Versionen
Zeile 21: | Zeile 21: | ||
8 run the Processing sketch | 8 run the Processing sketch | ||
== PROCESSING <-- OSC --> PROCESSING == | == PROCESSING <-- OSC --> PROCESSING == | ||
=== INSTALL : PROCESSING OSC LIBRARY === | |||
1) in the Processing top menu go to: “Sketch” –> “Import Library” –> “Import Library” | |||
2) type “OSC” in the search box | |||
3) select the OSC library | |||
4) click on “Install” | |||
DONE! | |||
== PROCESSING <-- MQTT(shiftr.io) --> PROCESSING == | == PROCESSING <-- MQTT(shiftr.io) --> PROCESSING == | ||
=== INSTALL : PROCESSING MQTT LIBRARY === | === INSTALL : PROCESSING MQTT LIBRARY === | ||
1) in the Processing top menu go to: “Sketch” –> “Import Library” –> “Import Library” | 1) in the Processing top menu go to: “Sketch” –> “Import Library” –> “Import Library” | ||
Zeile 40: | Zeile 54: | ||
see also: https://www.shiftr.io/try?lang=processing | see also: https://www.shiftr.io/try?lang=processing | ||
==== ARDUINO <-- Serial --> PROCESSING <--- MQTT ---> PROCESSING <-- Serial --> ARDUINO ==== | ==== ARDUINO <-- Serial --> PROCESSING <--- MQTT ---> PROCESSING <-- Serial --> ARDUINO ==== | ||
www.youtube.com/embed/8nRm6WNk57I | www.youtube.com/embed/8nRm6WNk57I | ||
== ARDUINO ESP32 <-- MQTT(shiftr.io) --> PROCESSING == | == ARDUINO ESP32 <-- MQTT(shiftr.io) --> PROCESSING == | ||
=== INSTALL: ARDUINO ESP32 HARDWARE === | === INSTALL: ARDUINO ESP32 HARDWARE === | ||
1 Menu: Preferences —> Additional Boards Manager URLs: | 1 Menu: Preferences —> Additional Boards Manager URLs: | ||
Zeile 64: | Zeile 80: | ||
Menu: Tools —> Flash Frequency: 80Mhz | Menu: Tools —> Flash Frequency: 80Mhz | ||
Menu: Tools —> Upload Speed: 115200 | Menu: Tools —> Upload Speed: 115200 | ||
=== INSTALL : ARDUINO MQTT LIBRARY === | === INSTALL : ARDUINO MQTT LIBRARY === | ||
1 Menu: Sketch —> Include Library —> Manage Libraries | 1 Menu: Sketch —> Include Library —> Manage Libraries | ||
Zeile 73: | Zeile 91: | ||
see also: https://www.shiftr.io/try?lang=arduino | see also: https://www.shiftr.io/try?lang=arduino | ||
=== TEST: ESP ARDUINO CONNECTION === | === TEST: ESP ARDUINO CONNECTION === | ||
Menu: File —> Examples —> Basics —> “Blink” | Menu: File —> Examples —> Basics —> “Blink” | ||
edit: LED_PIN = 2; | edit: LED_PIN = 2; | ||
—> blue LED should blink on/off | —> blue LED should blink on/off | ||
=== TEST: ESP SENSOR CONNECTION === | === TEST: ESP SENSOR CONNECTION === | ||
READ ANALOG SENSOR | READ ANALOG SENSOR | ||
Menu: File —> Examples —> Communication —> “Graph” | Menu: File —> Examples —> Communication —> “Graph” | ||
edit: Serial.begin(115200); | edit: Serial.begin(115200); | ||
edit: pick a GPIO pin with and ADC | edit: pick a GPIO pin with and ADC | ||
(GPIO = General Purpose In Out) | (GPIO = General Purpose In Out) | ||
(ADC = Analog Digital Converter) | (ADC = Analog Digital Converter) | ||
for example: analogRead(34); | for example: analogRead(34); | ||
Zeile 96: | Zeile 125: | ||
edit: your wifi info: | edit: your wifi info: | ||
your network name / SIID | your network name / SIID | ||
(SIID = Service Set Identifier) | (SIID = Service Set Identifier) | ||
your password | your password | ||
edit: the “ClientID” so that you can see yourself connect: | edit: the “ClientID” so that you can see yourself connect: | ||
client.connect(“ClientID”, “try”, “try”) | client.connect(“ClientID”, “try”, “try”) | ||
edit: the topics you subscribe and publish to by adding “/yourName” | edit: the topics you subscribe and publish to by adding “/yourName” | ||
you can also change the “message” you are sending! | you can also change the “message” you are sending! | ||
Zeile 112: | Zeile 146: | ||
https://live.staticflickr.com/65535/49856212336_cf2c240d1e_c.jpg | https://live.staticflickr.com/65535/49856212336_cf2c240d1e_c.jpg | ||
https://live.staticflickr.com/65535/49856212466_3997636a84_c.jpg | https://live.staticflickr.com/65535/49856212466_3997636a84_c.jpg | ||
= T H E O R Y = | = T H E O R Y = |
Version vom 10. April 2021, 22:37 Uhr
We like to embed electronics in everything these days, and while we’re at it why not include wifi so that everything can communicate with everything via The Internet.
E X A M P L E S
ARDUINO Uno / Flora <-- Serial --> PROCESSING
1 download and install newest version of Processing (https://processing.org)
2 download and install newest version of Arduino (https://www.arduino.cc)
3 ARDUINO --> open --> EXAMPLES --> COMMUNICATION --> GRAPH
4 upload Arduino Code to Arduino
5 connect sensor to Arduino and open the Arduino Serial Monitor to see the values coming in
6 scroll down in the Arduino code and copy Processing code to a new Processing sketch
7 edit port name "myPort = new Serial(this, Serial.list()[0], 9600);"
8 run the Processing sketch
PROCESSING <-- OSC --> PROCESSING
INSTALL : PROCESSING OSC LIBRARY
1) in the Processing top menu go to: “Sketch” –> “Import Library” –> “Import Library”
2) type “OSC” in the search box
3) select the OSC library
4) click on “Install”
DONE!
PROCESSING <-- MQTT(shiftr.io) --> PROCESSING
INSTALL : PROCESSING MQTT LIBRARY
1) in the Processing top menu go to: “Sketch” –> “Import Library” –> “Import Library”
2) type “MQTT” in the search box
3) select the MQTT library by Joel Gaehwiler
4) click on “Install”
DONE!
see also: https://www.shiftr.io/try?lang=processing
ARDUINO <-- Serial --> PROCESSING <--- MQTT ---> PROCESSING <-- Serial --> ARDUINO
www.youtube.com/embed/8nRm6WNk57I
ARDUINO ESP32 <-- MQTT(shiftr.io) --> PROCESSING
INSTALL: ARDUINO ESP32 HARDWARE
1 Menu: Preferences —> Additional Boards Manager URLs: https://dl.espressif.com/dl/package_esp32_index.json
2 Menu: Tools —> Boards —> Boards Manager: search for: “ESP32” Install: “esp32 by Espressif Systems”
3 Menu: Tools —> Board: ESP32 Dev Module Menu: Tools —> Port: dev/cu… (unplug and plug to see which port appears) Menu: Tools —> Flash Mode: QIO Menu: Tools —> Flash Size: 4MB Menu: Tools —> Flash Frequency: 80Mhz Menu: Tools —> Upload Speed: 115200
INSTALL : ARDUINO MQTT LIBRARY
1 Menu: Sketch —> Include Library —> Manage Libraries
2 search for: “MQTT”
3 Install: MQTT library for Arduino by Joel Gaehwiler
see also: https://www.shiftr.io/try?lang=arduino
TEST: ESP ARDUINO CONNECTION
Menu: File —> Examples —> Basics —> “Blink”
edit: LED_PIN = 2;
—> blue LED should blink on/off
TEST: ESP SENSOR CONNECTION
READ ANALOG SENSOR
Menu: File —> Examples —> Communication —> “Graph”
edit: Serial.begin(115200);
edit: pick a GPIO pin with and ADC
(GPIO = General Purpose In Out)
(ADC = Analog Digital Converter)
for example: analogRead(34);
Note: ADC2 pins cannot be used when Wi-Fi is used. So, if you’re using Wi-Fi and you’re having trouble getting the value from an ADC2 GPIO, you may consider using an ADC1 GPIO instead, that should solve your problem.
SEND: SENSORDATA OVER MQTT
Menu: File —> Examples —> MQTT —> ESP32DevelopmentBoard
edit: your wifi info:
your network name / SIID
(SIID = Service Set Identifier)
your password
edit: the “ClientID” so that you can see yourself connect:
client.connect(“ClientID”, “try”, “try”)
edit: the topics you subscribe and publish to by adding “/yourName”
you can also change the “message” you are sending!
client.subscribe(“/hello/yourName”);
client.publish(“/hello/yourName”, “message”);
T H E O R Y
how things are talking with each-other using electricity
an introduction to networks: Netwerk
ELECTRICITY LAYER
ON / OFF
Binary: 0,1 HIGH, LOW ON, OFF 0V, 5V GND, VCC
BINARY ENCODING, 8BIT/1BYTE
2^8=256
ASCII
American Standard Code for Information Interchange
UNICODE
HARDWARE LAYER
PARALLEL
DB-25
SERIAL
RS232: Recomended Standard USB: Universal Serial Bus
ETHERNET
TRANSPORT LAYER
NETWORK, LAN, IP
IP: Internet Protocol LAN: Local Area Network Ethernet
UDP (SEND MODEL)
User Datagram Protocol
TCP (CONNECT, SEND, RECEIVE MODEL)
Transmission Control Protocol
ENCODING LAYER
OSC (ADDRESS MODEL)
Open Sound Control
HID
Human Interface Device
PUBLISH <-> SUBSCRIBE MODEL
MQTT
MQTT: Message Queuing Telemetry Transport