Everything is Talkative: Unterschied zwischen den Versionen
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/ | |||
= T H E O R Y = | = T H E O R Y = |
Version vom 10. April 2021, 22: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”);
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