Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Arduino.h>
- #include <freertos/FreeRTOS.h>
- #include <WiFi.h>
- #include <esp_wifi.h>
- #include <MPU6050_tockn.h>
- #include <Wire.h>
- #include <vector>
- #include <algorithm>
- #include <WiFiMulti.h>
- const char* ssid = "Acces point";
- const char* contrasena = "noidea123";
- MPU6050 mpu6050(Wire);
- const uint16_t port = 5050;
- const char * host = "192.168.4.1"; // ip or dns
- long timer = 0;
- std::vector<double> datos;
- WiFiClient client;
- void Accer (void* parameter)
- {
- for(;;)
- {
- mpu6050.update();
- if(millis() - timer > 1000)
- {
- auto angle = mpu6050.getAngleX();
- datos.push_back(angle);
- Serial.print("angleX : ");Serial.print(angle);
- //mpu6050getAngleX();
- timer = millis();
- }
- }
- }
- void setup() {
- Serial.begin(9600);
- WiFi.begin(ssid, contrasena);
- while(WiFi.status() != WL_CONNECTED)
- {
- Serial.print(".");
- delay(500);
- }
- esp_wifi_set_ps(WIFI_PS_NONE);
- Wire.begin();
- mpu6050.begin();
- mpu6050.calcGyroOffsets(true);
- xTaskCreate(
- Accer,
- "Accer",
- 10000,
- nullptr,
- 1,
- nullptr);
- }
- void loop() {
- uint32_t RSSI = WiFi.RSSI();
- Serial.println(WiFi.RSSI());
- if (RSSI>500)
- {
- auto promedio = std::accumulate(begin(datos), end(datos), 0) / datos.size();
- datos.clear();
- while (!client.available())
- {
- client.connect(host, port);
- delay(10);
- }
- client.write(reinterpret_cast<const char*>(&promedio), sizeof(promedio));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement