Advertisement
Guest User

Móvil

a guest
Nov 18th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. #include <Arduino.h>
  2. #include <freertos/FreeRTOS.h>
  3. #include <WiFi.h>
  4. #include <esp_wifi.h>
  5. #include <MPU6050_tockn.h>
  6. #include <Wire.h>
  7. #include <vector>
  8. #include <algorithm>
  9. #include <WiFiMulti.h>
  10.  
  11. const char* ssid = "Acces point";
  12. const char* contrasena = "noidea123";
  13. MPU6050 mpu6050(Wire);
  14. const uint16_t port = 5050;
  15. const char * host = "192.168.4.1"; // ip or dns
  16. long timer = 0;
  17. std::vector<double> datos;
  18. WiFiClient client;
  19.  
  20. void Accer (void* parameter)
  21. {
  22.  
  23. for(;;)
  24. {
  25. mpu6050.update();
  26.  
  27. if(millis() - timer > 1000)
  28. {
  29. auto angle = mpu6050.getAngleX();
  30. datos.push_back(angle);
  31. Serial.print("angleX : ");Serial.print(angle);
  32. //mpu6050getAngleX();
  33. timer = millis();
  34. }
  35. }
  36. }
  37. void setup() {
  38. Serial.begin(9600);
  39. WiFi.begin(ssid, contrasena);
  40. while(WiFi.status() != WL_CONNECTED)
  41. {
  42. Serial.print(".");
  43. delay(500);
  44. }
  45. esp_wifi_set_ps(WIFI_PS_NONE);
  46. Wire.begin();
  47. mpu6050.begin();
  48. mpu6050.calcGyroOffsets(true);
  49. xTaskCreate(
  50. Accer,
  51. "Accer",
  52. 10000,
  53. nullptr,
  54. 1,
  55. nullptr);
  56. }
  57.  
  58. void loop() {
  59. uint32_t RSSI = WiFi.RSSI();
  60. Serial.println(WiFi.RSSI());
  61. if (RSSI>500)
  62. {
  63. auto promedio = std::accumulate(begin(datos), end(datos), 0) / datos.size();
  64. datos.clear();
  65. while (!client.available())
  66. {
  67. client.connect(host, port);
  68. delay(10);
  69. }
  70. client.write(reinterpret_cast<const char*>(&promedio), sizeof(promedio));
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement