Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. #ifdef ARDUINO_ARCH_ESP32
  2. #include <WiFi.h>
  3. #include <WiFiMulti.h>
  4. WiFiMulti wifiMulti;
  5. #else
  6. #include <ESP8266WiFi.h>
  7. #include <ESP8266WiFiMulti.h>
  8. ESP8266WiFiMulti wifiMulti;
  9. #endif
  10.  
  11. #include <MQTT.h>
  12. const int Trigger = 12;
  13. const int Echo = 13;
  14. int PersonaX = 0;
  15. int PersonaXa = 0;
  16.  
  17. const char ssid1[] = "ALSW";
  18. const char pass1[] = "25264897";
  19. const char ssid2[] = "ALSW2";
  20. const char pass2[] = "7210-3607";
  21. const char ssid3[] = "ssid";
  22. const char pass3[] = "pass";
  23.  
  24. WiFiClient net;
  25. MQTTClient client;
  26.  
  27. unsigned long lastMillis = 0;
  28.  
  29. void Conectar() {
  30. Serial.print("Conectandoo Al Wifi...");
  31. while (wifiMulti.run() != WL_CONNECTED) {
  32. Serial.print(".");
  33. digitalWrite(LED_BUILTIN , 1);
  34. delay(2000);
  35. digitalWrite(LED_BUILTIN , 0);
  36. delay(2000);
  37. }
  38.  
  39. Serial.print("\nConectado con Wifi\n Buscando MQTT");
  40. while (!client.connect("SensorUltrasonico", "Pulseraxd", "12345678")) {
  41. Serial.print("*");
  42. digitalWrite(LED_BUILTIN , 1);
  43. delay(500);
  44. digitalWrite(LED_BUILTIN , 0);
  45. delay(500);
  46. }
  47.  
  48. Serial.println("\nSistema Conectado");
  49. digitalWrite(LED_BUILTIN , 0);
  50. client.subscribe("/Pulsera/Puerta/Principal");
  51. // client.unsubscribe("/hello");
  52. }
  53.  
  54. void MensajeRecibido(String &topic, String &payload) {
  55. Serial.println("Mensaje: " + topic + " - " + payload);
  56. }
  57.  
  58. void setup() {
  59. pinMode(Trigger, OUTPUT);
  60. pinMode(Echo, INPUT);
  61. digitalWrite(Trigger, LOW);
  62. Serial.begin(115200);
  63. WiFi.mode(WIFI_STA);//Cambiar modo del Wi-Fi
  64. delay(100);
  65. wifiMulti.addAP(ssid1, pass1);
  66. wifiMulti.addAP(ssid2, pass2);
  67. wifiMulti.addAP(ssid3, pass3);
  68. pinMode(LED_BUILTIN, OUTPUT);
  69. client.begin("broker.shiftr.io", net);
  70. client.onMessage(MensajeRecibido);
  71.  
  72. Conectar();
  73. }
  74.  
  75. void loop() {
  76. client.loop();
  77. delay(10);
  78.  
  79. if (!client.connected()) {
  80. Conectar();
  81. }
  82.  
  83.  
  84. long t; //timepo que demora en llegar el eco
  85. long d; //distancia en centimetros
  86.  
  87. digitalWrite(Trigger, HIGH);
  88. delayMicroseconds(10); //Enviamos un pulso de 10us
  89. digitalWrite(Trigger, LOW);
  90.  
  91. t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso
  92. d = t / 59; //escalamos el tiempo a una distancia en cm
  93.  
  94. if (d < 50) {
  95. PersonaX = 1;
  96. }
  97. else {
  98. PersonaX = 0;
  99. }
  100.  
  101.  
  102. if (PersonaX != PersonaXa) {
  103. PersonaXa = PersonaX;
  104. String Mensaje = String(PersonaX);
  105. client.publish("/Pulsera/Puerta/Principal", Mensaje);
  106. }
  107.  
  108.  
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement