User:ZUZU/SI 24

From XPUB & Lens-Based wiki


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/22

Psychogeography

Psychogeography infuses a subjective, soulful perspective into the study of urban spaces, emphasizing the immediate opinions and instincts individuals form upon entering a space. This concept was first proposed and developed by members of the Situationist International, involving the decoding of urban environments through unconventional exploratory methods, akin to the cut-up techniques used by artists like William Burroughs and Brion Gysin. The term "psychogeography" combines the Greek root "graphein" (to write) and the Latin prefix "psyche" (soul), symbolizing the interweaving of earth, mind, and movement. 心理地理学强调个人进入空间后形成的直接观点和本能。这一概念最早由情境主义国际的成员提出和发展,涉及通过非常规的探索方法对城市环境进行解码,类似于威廉-巴勒斯(William Burroughs)和布里昂-吉辛(Brion Gysin)等艺术家使用的剪切技术。心理地理学 "一词融合了希腊语词根 "graphein"(书写)和拉丁语前缀 "psyche"(灵魂),象征着大地、心灵和运动的交织。

Psychogeographers reinterpret urban spaces in a playful manner, revealing the influence of geographical environments on emotions and behaviors. This approach challenges traditional geographical research by reshaping power structures and cultural ideologies within modern society and capitalist landscapes. Through subjective experiences, chance encounters, and emotional reactions to various urban spaces, psychogeographers seek to understand and interpret urban environments with a nuanced understanding of human experiences within cityscapes.心理地理学家以游戏的方式重新诠释城市空间,揭示地理环境对情感和行为的影响。这种方法通过重塑现代社会和资本主义景观中的权力结构和文化意识形态,对传统的地理研究提出了挑战。通过对各种城市空间的主观体验、偶遇和情绪反应,心理地理学家试图通过对城市景观中人类体验的细微理解来理解和诠释城市环境。

reference

Situationist International Anthology国际情况主义者文选
Psychogeography: A Purposeful Drift Through the City心理地理学: 有目的的城市漂流
Cryptoforestry隐性林业
Theory of the Dérive

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.");
  }
}