Everything is Talkative: Unterschied zwischen den Versionen

Aus hyperdramatik
Zur Navigation springen Zur Suche springen
Zeile 146: 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
 
[[URL:https://live.staticflickr.com/65535/49856212336_cf2c240d1e_c.jpg|100px|MQTT diagram]]
[[https://live.staticflickr.com/65535/49856212466_3997636a84_c.jpg|50px]]


= T H E O R Y =
= T H E O R Y =

Version vom 10. April 2021, 21:45 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”);

49856212336_cf2c240d1e_c.jpg 49856212466_3997636a84_c.jpg 100px|MQTT diagram

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

51107648386_c8811ce95e_c.jpg


HARDWARE LAYER

PARALLEL

DB-25 51107072372_a9693d8f1f_c.jpg

SERIAL

RS232: Recomended Standard USB: Universal Serial Bus 51107392694_ddf8a54b29_c.jpg

ETHERNET

TRANSPORT LAYER

NETWORK, LAN, IP

IP: Internet Protocol LAN: Local Area Network Ethernet 51107649681_30924fff2d_c.jpg 51107649946_8bc206738f_c.jpg 51107650276_c11f5bd2c4_c.jpg

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 51108424240_08b766bdc7_c.jpg