User:ZUZU/SI 24: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
(One intermediate revision by the same user not shown)
Line 21: Line 21:
=<p style="font-family:Helvetica Neue; font-size: 36px;"> 4/9 </p>=
=<p style="font-family:Helvetica Neue; font-size: 36px;"> 4/9 </p>=
[https://pzwiki.wdka.nl/mediadesign/Microcontroller_101 Microcontroller]
[https://pzwiki.wdka.nl/mediadesign/Microcontroller_101 Microcontroller]
== Beginning of Microcontroller ==
[https://www.sparkfun.com/engineering_essentials Circuit Brief]<br>
delect right board eg. Wemos Lolin32
*Install ESP32 Board Package
*Tools > Board > Wemos Lolin32
*Tools > Upload Speed


=<p style="font-family:Helvetica Neue; font-size: 36px;"> 4/10 </p>=
=<p style="font-family:Helvetica Neue; font-size: 36px;"> 4/10 </p>=
*<span style ="text-shadow: 0 0 10px blue;">Pad</span> for [https://pad.xpub.nl/p/10-4-24MethodsProjectsThat 10 April]<br>
*<span style ="text-shadow: 0 0 10px blue;">Pad</span> for [https://pad.xpub.nl/p/10-4-24MethodsProjectsThat 10 April]<br>
*<span style ="text-shadow: 0 0 10px #FF0808;">Pad</span> for [https://pad.xpub.nl/p/10-4-24MethodsProjects_z personal reader]<br>
*<span style ="text-shadow: 0 0 10px #FF0808;">Pad</span> for [https://pad.xpub.nl/p/10-4-24MethodsProjects_z personal reader]<br>


== Information Overload ==
== Information Overload ==
Line 34: Line 42:
[https://thecircle-o.com/blog/the-metropolitan-blas-attitude-or-the-flneur The Metropolitan: Blasé attitude or the Flâneur] describes the phenomenon of individuals experiencing a sense of Blasé in metropolitan life
[https://thecircle-o.com/blog/the-metropolitan-blas-attitude-or-the-flneur The Metropolitan: Blasé attitude or the Flâneur] describes the phenomenon of individuals experiencing a sense of Blasé in metropolitan life
I've been trying to find a description about my own feelings about city life, and this term accurately describes my personal emotions
I've been trying to find a description about my own feelings about city life, and this term accurately describes my personal emotions
=<p style="font-family:Helvetica Neue; font-size: 36px;"> 4/15 </p>=
== Making list ==
<span style ="text-shadow: 0 0 10px #FF0808;">Pad</span> for [https://pad.xpub.nl/p/15424_lists lists]<br>
list Sketching, observing the city as a spectator, joining the observation from a subjective point of view
*People sitting in shopping center rest area during workday from 11:11am
*where /how /why people laughing in public space
*List of shop signs
*Things dangerous in the park
*The sound that occurs when people enter a space
*Things between curtains and windows
=<p style="font-family:Helvetica Neue; font-size: 36px;"> 4/23 </p>=
== ESP32 WiFi Access Point with Web Server for LED Control and Sensor Monitoring ==
[https://randomnerdtutorials.com/esp32-dht11-dht22-temperature-humidity-sensor-arduino-ide/ sensor collections]
Create a WiFi Access Point (AP) using an ESP32 microcontroller. It sets up a web server on this AP to control an LED and display sensor readings (humidity and temperature) via a web interface.<br>
<syntaxhighlight lang="cpp">
#include <DHT.h>
#include <WiFi.h>
#define DHTPIN 21
#define LED_BUILTIN 23  // GPIO pin for the LED (change as needed)
#define DHTTYPE DHT22 
DHT dht(DHTPIN, DHTTYPE);
float humidity;  // Variable to store humidity value
float temperature;  // Variable to store temperature value
const char *ssid = "jungle";  // WiFi AP SSID
const char *password = "myPassword";  // WiFi AP password
WiFiServer server(80);  // Create a server object that listens on port 80
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);  // Set LED pin as output
 
  Serial.begin(115200);  // Initialize serial communication
  Serial.println();
  Serial.println("Configuring access point...");
 
  dht.begin();  // Initialize DHT sensor
 
  // Start WiFi access point
  if (!WiFi.softAP(ssid, password)) {
    Serial.println("Soft AP creation failed.");
    while(1);  // Infinite loop if AP creation fails
  }
 
  IPAddress myIP = WiFi.softAPIP();  // Get IP address of the AP
  Serial.print("AP IP address: ");
  Serial.println(myIP);
 
  server.begin();  // Start the server
  Serial.println("Server started");
}
void loop() {
  WiFiClient client = server.available();  // Check for incoming client connections
 
  if (client) {  // If a client is connected
    Serial.println("New Client.");  // Print message to serial monitor
   
    String currentLine = "";  // String to hold incoming data from the client
   
    while (client.connected()) {  // Loop while client is connected
      if (client.available()) {  // If data is available from client
        char c = client.read();  // Read a byte from client
        Serial.write(c);  // Print byte to serial monitor
       
        if (c == '\n') {  // If end of line is reached
          if (currentLine.length() == 0) {  // If current line is blank, end of HTTP request
            client.println("HTTP/1.1 200 OK");  // Send HTTP response headers
            client.println("Content-type:text/html");
            client.println();
           
            humidity = dht.readHumidity();  // Read humidity value from sensor
            temperature = dht.readTemperature();  // Read temperature value from sensor
           
            // Send HTML response with sensor data and LED control links
            client.print("<meta http-equiv='refresh' content='0.1'>");
            client.print("<style>body{background-color:purple;}</style><br>");
           
            int radius = map(humidity, 30, 90, 0, 200);
            client.print("<style>.object{width:400px;height:400px;}</style><br>");
            client.print("<style>.object{border-radius:"+ String(radius)+"px;background-color:white; }</style><br>");
           
            client.print("<h1>eviltwin" + String(temperature) + "</h1><br>");
            client.print("<div class='object'></div><br>");
            client.print("Click <a href=\"/H\">here</a> to turn ON the LED.<br>");
            client.print("Click <a href=\"/L\">here</a> to turn OFF the LED.<br>");
           
            client.print("<p>Humidity: " + String(humidity) + " %</p>");
            client.print("<p>Temperature: " + String(temperature) + " °C</p>");
           
            client.println();  // End of HTTP response
            break;  // Exit the loop
          } else {
            currentLine = "";  // Clear current line
          }
        } else if (c != '\r') {  // If not end of line or carriage return
          currentLine += c;  // Add character to current line
        }
       
        // Check for specific client requests to control LED
        if (currentLine.endsWith("GET /H")) {
          digitalWrite(LED_BUILTIN, HIGH);  // Turn LED ON
        }
        if (currentLine.endsWith("GET /L")) {
          digitalWrite(LED_BUILTIN, LOW);  // Turn LED OFF
        }
      }
    }
   
    // Close client connection
    client.stop();
    Serial.println("Client Disconnected.");
  }
}
</syntaxhighlight>

Revision as of 01:00, 9 May 2024


4/8

Start

Explore the possibilities of loitering and launching in or around Rotterdam

Why Loiter?

Why Loiter?: Women and Risk on Mumbai Streets by Shilpa Phadke points out that "loitering" is viewed negatively in Indian society, and women are expected to have a legitimate reason for being out in public. Otherwise, they may be considered not conforming to societal expectations of being a "respectable woman." This perspective reflects a common narrative of victim blaming prevalent in patriarchal societies, where women are advised to move from one sheltered space to another , and any deviation from this norm is seen as a moral deficiency by default.

Women have the right to freely navigate urban spaces without fear or judgment. Shilpa Phadke proposes a social initiative that encourages women's "loitering" to occupy urban public spaces, advocating for the creation of a more inclusive and equitable urban environment where women can move about freely without the fear of being labeled or subjected to shame.

Loitering around Blaak

Day1 blaak.jpg

The weather was lovely and we took a nice walk around Blaak, sharing memories of our individual hometowns.

4/9

Microcontroller

Beginning of Microcontroller

Circuit Brief
delect right board eg. Wemos Lolin32

  • Install ESP32 Board Package
  • Tools > Board > Wemos Lolin32
  • Tools > Upload Speed

4/10


Information Overload

INFORMATION OVERLOAD by Claire Bishop The article discusses the development of research-based installation art in contemporary art and the problems it faces.The author points out that a large number of research-based installation artworks have emerged in recent years that lack clear definitions and critical analyses. The article analyses three stages in the development of research-based art:"Many of these pieces convey a sense of being immersed-even lost-in data." Contemporary viewers face pressures from visually saturated contexts and attentional economies when processing information. And contemporary audiences are under pressure to process information through visual saturation and an economy of attention.

Blasé attitude or the Flâneur

The Metropolitan: Blasé attitude or the Flâneur describes the phenomenon of individuals experiencing a sense of Blasé in metropolitan life I've been trying to find a description about my own feelings about city life, and this term accurately describes my personal emotions

4/15

Making list

Pad for lists
list Sketching, observing the city as a spectator, joining the observation from a subjective point of view

  • People sitting in shopping center rest area during workday from 11:11am
  • where /how /why people laughing in public space
  • List of shop signs
  • Things dangerous in the park
  • The sound that occurs when people enter a space
  • Things between curtains and windows

4/23

ESP32 WiFi Access Point with Web Server for LED Control and Sensor Monitoring

sensor collections Create a WiFi Access Point (AP) using an ESP32 microcontroller. It sets up a web server on this AP to control an LED and display sensor readings (humidity and temperature) via a web interface.

#include <DHT.h>
#include <WiFi.h>

#define DHTPIN 21
#define LED_BUILTIN 23   // GPIO pin for the LED (change as needed)

#define DHTTYPE DHT22   
DHT dht(DHTPIN, DHTTYPE);

float humidity;  // Variable to store humidity value
float temperature;  // Variable to store temperature value

const char *ssid = "jungle";  // WiFi AP SSID
const char *password = "myPassword";  // WiFi AP password

WiFiServer server(80);  // Create a server object that listens on port 80

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);  // Set LED pin as output
  
  Serial.begin(115200);  // Initialize serial communication
  Serial.println();
  Serial.println("Configuring access point...");
  
  dht.begin();  // Initialize DHT sensor
  
  // Start WiFi access point
  if (!WiFi.softAP(ssid, password)) {
    Serial.println("Soft AP creation failed.");
    while(1);  // Infinite loop if AP creation fails
  }
  
  IPAddress myIP = WiFi.softAPIP();  // Get IP address of the AP
  Serial.print("AP IP address: ");
  Serial.println(myIP);
  
  server.begin();  // Start the server
  Serial.println("Server started");
}

void loop() {
  WiFiClient client = server.available();  // Check for incoming client connections
  
  if (client) {  // If a client is connected
    Serial.println("New Client.");  // Print message to serial monitor
    
    String currentLine = "";  // String to hold incoming data from the client
    
    while (client.connected()) {  // Loop while client is connected
      if (client.available()) {  // If data is available from client
        char c = client.read();  // Read a byte from client
        Serial.write(c);  // Print byte to serial monitor
        
        if (c == '\n') {  // If end of line is reached
          if (currentLine.length() == 0) {  // If current line is blank, end of HTTP request
            client.println("HTTP/1.1 200 OK");  // Send HTTP response headers
            client.println("Content-type:text/html");
            client.println();
            
            humidity = dht.readHumidity();  // Read humidity value from sensor
            temperature = dht.readTemperature();  // Read temperature value from sensor
            
            // Send HTML response with sensor data and LED control links
            client.print("<meta http-equiv='refresh' content='0.1'>");
            client.print("<style>body{background-color:purple;}</style><br>");
            
            int radius = map(humidity, 30, 90, 0, 200);
            client.print("<style>.object{width:400px;height:400px;}</style><br>");
            client.print("<style>.object{border-radius:"+ String(radius)+"px;background-color:white; }</style><br>");
            
            client.print("<h1>eviltwin" + String(temperature) + "</h1><br>");
            client.print("<div class='object'></div><br>");
            client.print("Click <a href=\"/H\">here</a> to turn ON the LED.<br>");
            client.print("Click <a href=\"/L\">here</a> to turn OFF the LED.<br>");
            
            client.print("<p>Humidity: " + String(humidity) + " %</p>");
            client.print("<p>Temperature: " + String(temperature) + " °C</p>");
            
            client.println();  // End of HTTP response
            break;  // Exit the loop
          } else {
            currentLine = "";  // Clear current line
          }
        } else if (c != '\r') {  // If not end of line or carriage return
          currentLine += c;  // Add character to current line
        }
        
        // Check for specific client requests to control LED
        if (currentLine.endsWith("GET /H")) {
          digitalWrite(LED_BUILTIN, HIGH);  // Turn LED ON
        }
        if (currentLine.endsWith("GET /L")) {
          digitalWrite(LED_BUILTIN, LOW);  // Turn LED OFF
        }
      }
    }
    
    // Close client connection
    client.stop();
    Serial.println("Client Disconnected.");
  }
}