<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://hyperdramatik.net/mediawiki/index.php?action=history&amp;feed=atom&amp;title=MQTT_between_Arduino_and_Processing</id>
	<title>MQTT between Arduino and Processing - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="http://hyperdramatik.net/mediawiki/index.php?action=history&amp;feed=atom&amp;title=MQTT_between_Arduino_and_Processing"/>
	<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=MQTT_between_Arduino_and_Processing&amp;action=history"/>
	<updated>2026-04-27T18:26:04Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in hyperdramatik</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=MQTT_between_Arduino_and_Processing&amp;diff=3099&amp;oldid=prev</id>
		<title>HannahPernerWilson: Die Seite wurde neu angelegt: „==Arduino Code==  &lt;source lang=&quot;js&quot; line start=&quot;2&quot; highlight=&quot;4-6&quot;&gt; /////////////////////////////////////////////////////////////////////////////////// // Code…“</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=MQTT_between_Arduino_and_Processing&amp;diff=3099&amp;oldid=prev"/>
		<updated>2022-05-17T17:56:42Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „==Arduino Code==  &amp;lt;source lang=&amp;quot;js&amp;quot; line start=&amp;quot;2&amp;quot; highlight=&amp;quot;4-6&amp;quot;&amp;gt; /////////////////////////////////////////////////////////////////////////////////// // Code…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Arduino Code==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;js&amp;quot; line start=&amp;quot;2&amp;quot; highlight=&amp;quot;4-6&amp;quot;&amp;gt;&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
// Code for ESP32 DEV MODULE 38pin version&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
// Example for sending &amp;amp; receiving messages via an MQTT broker with an ESP32&lt;br /&gt;
// Send integers '0' or '1' to the address &amp;quot;/led&amp;quot; to turn on/off an LED on pin14.&lt;br /&gt;
// Every time the analog sensor value on pin36 goes bellow the &amp;quot;threshold&amp;quot; value&lt;br /&gt;
// a message is sent to the address &amp;quot;/sensor&amp;quot; with the current sensor value.&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
// based on Shiftr.io example code by Joël Gähwiler:&lt;br /&gt;
// https://shiftr.io/try&lt;br /&gt;
// https://www.shiftr.io/docs/manuals/arduino&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
// this code is intended for use with the Shifr Desktop App!&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
// when uploading code: sometimes necessairy&lt;br /&gt;
// to presss&amp;amp;hold the &amp;quot;BOOT&amp;quot; button&lt;br /&gt;
// when you see the following lines:&lt;br /&gt;
// &amp;quot;Connecting........_____....._____.....&amp;quot;&lt;br /&gt;
/////////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
const char ssid[] = &amp;quot;ladenlokal&amp;quot;;&lt;br /&gt;
const char pass[] = &amp;quot;puppe2010&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
WiFiClient net;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN 35 //27&lt;br /&gt;
#define SENSOR_PIN 36&lt;br /&gt;
unsigned int ledState = LOW;&lt;br /&gt;
int sensorValue = 0;&lt;br /&gt;
int thresholdValue = 4000;&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;checking wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;\nconnecting...&amp;quot;);&lt;br /&gt;
  while (!client.connect(&amp;quot;arduino&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnected!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  client.subscribe(&amp;quot;/led&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/hello&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
  pinMode(SENSOR_PIN, INPUT);&lt;br /&gt;
  digitalWrite(LED_PIN, ledState);&lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.begin(ssid, pass);&lt;br /&gt;
&lt;br /&gt;
  // Note: Local domain names (e.g. &amp;quot;Computer.local&amp;quot; on OSX) are not supported by Arduino.&lt;br /&gt;
  // You need to set the IP address directly.&lt;br /&gt;
  client.begin(&amp;quot;192.168.236.90&amp;quot;, 2883, net);&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  client.loop();&lt;br /&gt;
  //delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message only when the sensor value goes bellow threshold:&lt;br /&gt;
  sensorValue = analogRead(SENSOR_PIN);&lt;br /&gt;
  if (sensorValue &amp;lt; thresholdValue) {&lt;br /&gt;
    //because we send Strings over MQTT we first need to convert:&lt;br /&gt;
    String sensorValueString = String(sensorValue); &lt;br /&gt;
    client.publish(&amp;quot;/sensor&amp;quot;, sensorValueString);&lt;br /&gt;
    Serial.println(sensorValue);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second:&lt;br /&gt;
  if (millis() - lastMillis &amp;gt; 1000) {&lt;br /&gt;
    lastMillis = millis();&lt;br /&gt;
    //client.publish(&amp;quot;/hello&amp;quot;, &amp;quot;world&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// function for turning on/off the LED&lt;br /&gt;
// depending on if one recives 1/0:&lt;br /&gt;
void led(int LED_on_off) {&lt;br /&gt;
  ledState = LED_on_off;&lt;br /&gt;
  digitalWrite(LED_PIN, ledState);&lt;br /&gt;
  Serial.print(&amp;quot;/led: &amp;quot;);&lt;br /&gt;
  Serial.println(ledState);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Processing Code==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;js&amp;quot; line start=&amp;quot;2&amp;quot; highlight=&amp;quot;4-6&amp;quot;&amp;gt;&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
// Code for ESP32 DEV MODULE 38pin version&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
// Example for sending &amp;amp; receiving messages via an MQTT broker with an ESP32&lt;br /&gt;
// Send integers '0' or '1' to the address &amp;quot;/led&amp;quot; to turn on/off an LED on pin14.&lt;br /&gt;
// Every time the analog sensor value on pin36 goes bellow the &amp;quot;threshold&amp;quot; value&lt;br /&gt;
// a message is sent to the address &amp;quot;/sensor&amp;quot; with the current sensor value.&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
// based on Shiftr.io example code by Joël Gähwiler:&lt;br /&gt;
// https://shiftr.io/try&lt;br /&gt;
// https://www.shiftr.io/docs/manuals/processing&lt;br /&gt;
// this code is intended for use with the Shifr Desktop App!&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
// when uploading code: sometimes necessairy&lt;br /&gt;
// to presss&amp;amp;hold the &amp;quot;BOOT&amp;quot; button&lt;br /&gt;
// when you see the following lines:&lt;br /&gt;
// &amp;quot;Connecting........_____....._____.....&amp;quot;&lt;br /&gt;
/////////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
import mqtt.*;&lt;br /&gt;
&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
String onOff = &amp;quot;0&amp;quot;;&lt;br /&gt;
float backgroundShade = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(400, 400);&lt;br /&gt;
  frameRate(25);&lt;br /&gt;
&lt;br /&gt;
  client = new MQTTClient(this);&lt;br /&gt;
  client.connect(&amp;quot;mqtt://192.168.236.90:2883&amp;quot;, &amp;quot;processing&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  background(backgroundShade);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void mousePressed() {&lt;br /&gt;
  if (onOff == &amp;quot;0&amp;quot;) {&lt;br /&gt;
    onOff = &amp;quot;1&amp;quot;;&lt;br /&gt;
  } else onOff = &amp;quot;0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  client.publish(&amp;quot;/led&amp;quot;, onOff);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void clientConnected() {&lt;br /&gt;
  println(&amp;quot;client connected&amp;quot;);&lt;br /&gt;
  client.subscribe(&amp;quot;/sensor&amp;quot;);&lt;br /&gt;
  client.subscribe(&amp;quot;/hello&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
float messageValue;&lt;br /&gt;
&lt;br /&gt;
// incoming MQTT messages are forwarded to this messageReceived function:&lt;br /&gt;
void messageReceived(String topic, byte[] payload) {&lt;br /&gt;
  println(&amp;quot;incoming MQTT message: &amp;quot; + topic + &amp;quot; - &amp;quot; + new String(payload));&lt;br /&gt;
  String str = new String(payload);&lt;br /&gt;
  int payloadInt = int(str);&lt;br /&gt;
  &lt;br /&gt;
  //if (topic == &amp;quot;/sensor&amp;quot;) {&lt;br /&gt;
    println(&amp;quot;sensor value: &amp;quot; + payloadInt);&lt;br /&gt;
    backgroundShade = map(payloadInt, 0, 4000, 0, 255);&lt;br /&gt;
  //}&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void connectionLost() {&lt;br /&gt;
  println(&amp;quot;connection lost&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>HannahPernerWilson</name></author>
	</entry>
</feed>