Compare commits

..

4 Commits

6 changed files with 37 additions and 34 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -3,54 +3,43 @@
// Include the mqtt client lib // Include the mqtt client lib
#include <PubSubClient.h> #include <PubSubClient.h>
// Include any secrets. // Include the settings.h.
#include "window_control_secrets.h" #include "window_control_settings.h"
#define wifi_ssid SECRET_SSID #define buzzer 2
#define wifi_password SECRET_PASS #define motorForward 1
#define motorReverse 0
#define mqtt_server "mqtt.kitsunehosting.net" #define sense 3
#define mqtt_port 1883
#define mqtt_user SECRET_MQTT_USER
#define mqtt_password SECRET_MQTT_PASS
#define window_name "window_0"
#define mqtt_root "/house/upstairs_lab/actuators/" window_name
#define in_topic "/testing/in"
#define out_topic "/testing/out"
// Replace by 2 if you aren't enable to use Serial Monitor... Don't forget to Rewire R1 to GPIO2!
#define in_led 2
WiFiClient espClient; WiFiClient espClient;
PubSubClient client; PubSubClient client;
void setup() { void setup() {
Serial.begin(115200);
setup_wifi(); setup_wifi();
client.setClient(espClient); client.setClient(espClient);
client.setServer(mqtt_server, mqtt_port); client.setServer(MQTT_SERVER, MQTT_PORT);
client.setCallback(callback); client.setCallback(callback);
// initialize digital pin LED_BUILTIN as an output. // Initalize some pins!
pinMode(in_led, OUTPUT); // Initalize buzzer pin
digitalWrite(in_led, HIGH); pinMode(buzzer, OUTPUT);
digitalWrite(buzzer, LOW);
} }
void setup_wifi() { void setup_wifi() {
delay(10); delay(10);
// We start by connecting to a WiFi network // We start by connecting to a WiFi network
Serial.println(); Serial.println();
WiFi.hostname("ESP-" window_name); WiFi.hostname("ESP-" WINDOW_NAME);
Serial.print("Connecting to "); Serial.print("Connecting to ");
Serial.println(wifi_ssid); Serial.println(WIFI_SSID);
WiFi.begin(wifi_ssid, wifi_password); WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED) { while (WiFi.status() != WL_CONNECTED) {
delay(500); delay(950);
Serial.println("Not yet connected.. Waiting 500ms to check again.."); tone(buzzer, 1200, 50);
Serial.println("Not yet connected.. Waiting 1s to check again..");
} }
Serial.println(""); Serial.println("");
@ -64,7 +53,7 @@ void reconnect() {
while (!client.connected()) { while (!client.connected()) {
Serial.print("Attempting MQTT connection..."); Serial.print("Attempting MQTT connection...");
// Attempt to connect // Attempt to connect
if (client.connect("ESP8266Client", mqtt_user, mqtt_password)) { if (client.connect("ESP8266Client", MQTT_USER, MQTT_PASS)) {
Serial.println("connected"); Serial.println("connected");
} else { } else {
Serial.print("failed, rc="); Serial.print("failed, rc=");
@ -84,22 +73,26 @@ void callback(char* topic, byte* payload, unsigned int length) {
char receivedChar = (char)payload[i]; char receivedChar = (char)payload[i];
Serial.print(receivedChar); Serial.print(receivedChar);
if (receivedChar == '0') if (receivedChar == '0')
digitalWrite(in_led, LOW); //digitalWrite(in_led, LOW);
if (receivedChar == '1') if (receivedChar == '1')
digitalWrite(in_led, HIGH); //digitalWrite(in_led, HIGH);
} }
Serial.println(); Serial.println();
} }
void loop() { void loop() {
// If we ever disconnect, reconnect.
if (!client.connected()) { if (!client.connected()) {
reconnect(); reconnect();
} }
// Run the client loop
client.loop(); client.loop();
// Publishes a random 0 and 1 like someone switching off and on randomly (random(2)) // Publishes a random 0 and 1 like someone switching off and on randomly (random(2))
client.publish(out_topic, String(random(2)).c_str(), true); client.publish(MQTT_ROOT "/random", String(random(2)).c_str(), true);
delay(1000); delay(1000);
client.subscribe(in_topic); client.subscribe(MQTT_ROOT "/in");
tone(2, 2000, 500); tone(buzzer, 2000, 500);
delay(1000); delay(1000);
} }

View File

@ -0,0 +1,10 @@
#define WIFI_SSID "muner"
#define WIFI_PASS "apollo11"
#define MQTT_SERVER "mqtt.kitsunehosting.net"
#define MQTT_PORT 1883
#define MQTT_USER "device"
#define MQTT_PASS "iamnotacrook"
#define WINDOW_NAME "window_0"
#define MQTT_ROOT "home/upstairs_lab/actuators/" WINDOW_NAME