Come realizzare uno switch Wi-Fi con un WeMos e un relay

Qualche mese fa avevamo visto come programmare un WeMos, oggi vediamo direttamente come sfruttarlo assieme al relay (che potete acquistare su Amazon.

La procedura da seguire è sempre la stessa, modificate il nome del vostro hotspot Wi-Fi, la password e cambiate i parametri riferiti all’indirizzo IP statico.

#include <ESP8266WiFi.h>

const char* ssid = "Wi-Fi";
const char* password = "password";

int relayPin = D1; // The Shield uses pin 1 for the relay
WiFiServer server(80);
IPAddress ip(192, 168, 1, 2);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
void setup() {
Serial.begin(115200);
delay(10);

pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);

Serial.print(F("Setting static ip to : "));
Serial.println(ip);

Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.config(ip, gateway, subnet);
WiFi.begin(ssid, password);
//Trying to connect it will display dots
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// Start the server
server.begin();
Serial.println("Server started");

// Print the IP address
Serial.print("Use this URL : ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}

//void loop is where you put all your code. it is a funtion that returns nothing and will repeat over and over again
//6
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}

// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}

// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

//Match the request, checking to see what the currect state is
int value = LOW;
if (request.indexOf("/relay=ON") != -1) {
digitalWrite(relayPin, HIGH);
value = HIGH;
}
if (request.indexOf("/relay=OFF") != -1){
digitalWrite(relayPin, LOW);
value = LOW;
}
// Return the response, build the html page
//7
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");

client.print("Relay is now: ");

if(value == HIGH) {
client.print("Engaged (ON)");
} else {
client.print("Disengaged (OFF)");
}
client.println("<br><br><br>");
client.println("<a href=\"/relay=ON\">Click here to engage (Turn ON) the relay.</a> <br><br><br>");
client.println("<a href=\"/relay=OFF\">Click here to disengage (Turn OFF) the relay.</a><br>");
client.println("</html>");

delay(1);
Serial.println("Client disconnected");
Serial.println("");

}

Assicuratevi che la porta di Arduino, prima di uplodare il codice, sia settata in modo corretto con qualcosa di simile:

Come far passare i cavi nei muri

Ok so bene che iniziare un articolo con questo titolo può sembrare molto generico o non inerente al solito genere di guide e tutorial che pubblico su questo sito, ma spero che vi serva nel caso abbiate necessità di far passare dei cavi elettrici o di dato (quali ad esempio RJ45, RJ11 o addirittura USB nel caso vogliate fare qualcosa di molto specifico) nelle canaline di casa vostra (sì, in questo articolo non tratteremo come fare opere di muratura, fare tracce per prese, punti luce ecc).

Andiamo subito al sodo e vediamo l’occorrente.

Prima di tutto avete per forza necessità di una sonda elettrica, online ma come anche nel mondo fisico, c’è chi preferisce un materiale piuttosto che un altro. Io vi dico che dipende da voi, dalla qualità del lavoro che volete fare, da quanto siete disposti a spendere e da quanta esperienza avete. Provate e sperimentate, io così su due piedi, vi consiglio di prendere la sonda elettrica che ha più recensioni su Amazon… poi fate voi!

Ecco un esempio di sonda in nylon, qua invece potete trovare la mia preferita Perlon

Secondo avete necessità ovviamente del cavo, nel caso di RJ45 ci sono decine di bobine su Amazon che potrebbero fare al caso vostro. Anche in questo caso vi conviene prendere quelle che più si addicono al vostro prezzo (controllate anche la frequenza ovviamente). Ah e non dimenticate i connettori. Continua a leggere