Guest User

Untitled

a guest
Mar 18th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. #include <ESP8266WiFi.h>
  2. #include <PubSubClient.h>
  3. #include <Servo.h>
  4.  
  5. const char* ssid = "ap_name"; //change
  6. const char* password = "ap_pw"; //change
  7. const char* mqttServer = "server_ip"; //change
  8. const int mqttPort = 1883;
  9. const char* mqttUser = "server_name"; //change
  10. const char* mqttPassword = "server_pw"; //change
  11.  
  12. WiFiClient espClient;
  13. PubSubClient client(espClient);
  14.  
  15. Servo servo;
  16.  
  17. void setup() {
  18. Serial.begin(115200);
  19. WiFi.begin(ssid, password);
  20.  
  21. servo.attach(D4);
  22. servo.write(70);
  23.  
  24. while (WiFi.status() != WL_CONNECTED) {
  25. delay(500);
  26. Serial.println("Connecting to WiFi..");
  27. }
  28. Serial.println("Connected to the WiFi network");
  29.  
  30. client.setServer(mqttServer, mqttPort);
  31. client.setCallback(callback);
  32.  
  33. while (!client.connected()) {
  34. Serial.println("Connecting to MQTT...");
  35.  
  36. if (client.connect("ESP8266Client", mqttUser, mqttPassword )) {
  37.  
  38. Serial.println("connected");
  39.  
  40. } else {
  41.  
  42. Serial.print("failed with state ");
  43. Serial.print(client.state());
  44. delay(2000);
  45.  
  46. }
  47. }
  48.  
  49. client.publish("esp/test", "Hello from ESP8266");
  50. client.subscribe("esp/test");
  51.  
  52. }
  53.  
  54. void callback(char* topic, byte* payload, unsigned int length) {
  55.  
  56. Serial.print("Message arrived in topic: ");
  57. Serial.println(topic);
  58.  
  59. Serial.print("Message:");
  60. for (int i = 0; i < length; i++) {
  61. Serial.print((char)payload[i]);
  62. }
  63.  
  64. if(*payload == 49){
  65. rotServo();
  66. Serial.println();
  67. Serial.print("Roterar servo");
  68. delay(3000);
  69. client.publish("esp/test", "0");
  70. }
  71.  
  72. Serial.println();
  73. Serial.println("-----------------------");
  74.  
  75. }
  76.  
  77. void rotServo(){
  78. servo.attach(D4);
  79. servo.write(70);
  80. delay(1000);
  81. servo.write(175);
  82. delay(2000);
  83. servo.write(70);
  84. delay(3000);
  85. servo.detach();
  86. }
  87.  
  88. void loop() {
  89. client.loop();
  90. }
Add Comment
Please, Sign In to add comment