Untitled
unknown
plain_text
a year ago
3.5 kB
5
Indexable
#include <Arduino.h>
#include <WiFi.h>
#include "SparkFun_LSM6DSV16X.h"
#include <Wire.h>
#define WIFI_SSID "ESP32_Network" // ESP32'nin oluşturacağı ağ adı
#define WIFI_PASSWORD "123456789" // Ağ şifresi
String x1s, y1s, z1s, x2s, y2s, z2s, adc1s, adc2s;
SparkFun_LSM6DSV16X myLSM;
sfe_lsm_data_t accelData;
sfe_lsm_data_t gyroData;
WiFiServer server(80); // HTTP server için port 80
void setup() {
Serial.begin(115200);
Wire.begin(19, 20); // I2C pinleri
pinMode(1, INPUT);
pinMode(2, INPUT);
// LSM6DSV16X sensörünü başlat
if (!myLSM.begin()) {
Serial.println("Did not begin, check your wiring and/or I2C address!");
while (1);
}
myLSM.deviceReset();
while (!myLSM.getDeviceReset()) {
delay(1);
}
Serial.println("Board has been Reset.");
Serial.println("Applying settings.");
myLSM.enableBlockDataUpdate();
myLSM.setAccelDataRate(LSM6DSV16X_ODR_AT_7Hz5);
myLSM.setAccelFullScale(LSM6DSV16X_16g);
myLSM.setGyroDataRate(LSM6DSV16X_ODR_AT_15Hz);
myLSM.setGyroFullScale(LSM6DSV16X_2000dps);
myLSM.enableFilterSettling();
myLSM.enableAccelLP2Filter();
myLSM.setAccelLP2Bandwidth(LSM6DSV16X_XL_STRONG);
myLSM.enableGyroLP1Filter();
myLSM.setGyroLP1Bandwidth(LSM6DSV16X_GY_ULTRA_LIGHT);
Serial.println("Ready.");
// ESP32 Wi-Fi ağını başlat
WiFi.softAP(WIFI_SSID, WIFI_PASSWORD); // Wi-Fi ağını başlat
IPAddress IP = WiFi.softAPIP();
Serial.print("ESP32 Wi-Fi ağı başlatıldı. IP adresi: ");
Serial.println(IP);
// Web server'ı başlat
server.begin();
}
void loop() {
// Sensör verilerini oku
if (myLSM.checkStatus()) {
myLSM.getAccel(&accelData);
myLSM.getGyro(&gyroData);
x1s = String(accelData.xData);
y1s = String(accelData.yData);
z1s = String(accelData.zData);
x2s = String(gyroData.xData);
y2s = String(gyroData.yData);
z2s = String(gyroData.zData);
adc1s = String(analogRead(1)); // A0 pininden okuma
adc2s = String(analogRead(2)); // A1 pininden okuma
}
// Bağlantı kontrol et ve veri gönder
WiFiClient client = server.available();
if (client) {
Serial.println("Yeni bir istemci bağlandı!");
String request = "";
// İstemciyi dinle ve isteklerini al
while (client.connected()) {
if (client.available()) {
char c = client.read();
request += c;
if (c == '\n') {
break;
}
}
}
// Verileri JSON formatında oluştur
String data = "{";
data += "\"A0\":\"" + adc1s + "\",";
data += "\"A1\":\"" + adc2s + "\",";
data += "\"accelx\":\"" + x1s + "\",";
data += "\"accely\":\"" + y1s + "\",";
data += "\"accelz\":\"" + z1s + "\",";
data += "\"gyrox\":\"" + x2s + "\",";
data += "\"gyroy\":\"" + y2s + "\",";
data += "\"gyroz\":\"" + z2s + "\",";
// Zaman damgası ekle
data += "\"Ts\":" + String(millis()) + "}";
// HTTP yanıtı gönder
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: application/json");
client.println("Connection: close");
client.println();
client.println(data); // JSON verilerini gönder
// Bağlantıyı kes
client.stop();
Serial.println("İstemci bağlantısı kesildi.");
}
// Bu döngüde delay yok, sürekli olarak veriler güncellenir.
}
Editor is loading...
Leave a Comment