erdems98
@erdem_s98 · Se unió el agosto 2025
Veri analisti · su ve atık su · sahada 17 yıl
- Temas
- 2
- Respuestas
- 8
- Puntos
- 0
Respuestas de foro creadas
Traducido del English por IA ·
Desde la versión 2.2.0, la página del dispositivo tiene una pestaña Log. ¿Son los mismos datos que la consulta resourceType de arriba?
Since 2.2.0 the device page has a Log tab. Same data as the resourceType query above?
Traducido del Türkçe por IA ·
Con el filtro complementario el retraso casi desapareció, y el equipo ya había encontrado un MPU6050 de todos modos. También hicimos la calibración y la diferencia izquierda-derecha se fue. Al usar last en la gráfica también se acabó la tontería del 180. Menos mal que leí este artículo antes de probar la sugerencia de Hakan Bey 🙂
Tamamlayıcı filtre ile gecikme neredeyse kayboldu, ekip bir MPU6050 bulmuştu zaten. Kalibrasyonu da yaptık, sağ-sol farkı gitti. Grafikte last yapınca 180 saçmalığı da bitti. Hakan Bey’in önerisini denemeden önce bu yazıyı okumuş olmam iyi oldu 🙂
Traducido del Türkçe por IA ·
Sí, es el promedio de las últimas 20 lecturas. A 10 Hz tarda 2 segundos.
Evet, son 20 okumanın ortalaması. 10 Hz’de 2 saniye ediyor.
Traducido del Türkçe por IA ·
El child recibe el comando, y el punto donde te atascas está en el lado del ESP32. Un comando enviado a un dispositivo detrás del gateway baja al gateway por v1/gw/rpc, y los cambios de atributos compartidos llegan por v1/gw/attributes. Tu código probablemente solo escucha v1/rpc/req/+, que es para los comandos propios del gateway. Por eso el comando se queda en Sent. Yo me quedé atascado exactamente en el mismo punto con las estaciones de agua.Esto es lo que hice:
- Añadí el comando light.set al perfil de los dimmers (no al del gateway), nivel Basic, parámetro level (Number, 0-100).
- En la tarjeta deslizador: Run a command: Device = child atolye-3, Command = light.set, para level The control’s value. Convierto el deslizador 0-100 a 0-255 en el lado del ESP32.
- Vinculé el slot Current value a la telemetría level del mismo child, para que la tarjeta muestre el valor real del dimmer.
- Para la luz desactivé Ask before running, para que no pida confirmación en cada desplazamiento.
En el lado del ESP32, después de cada conexión, suscríbete a v1/gw/rpc. Muestra primero el mensaje recibido en el puerto serie para ver su estructura, luego determina de ahí para qué child es y haz la escritura BLE:
mqtt.subscribe("v1/gw/rpc", 1);
void onMsg(char* topic, byte* payload, unsigned int len) {
if (strcmp(topic, "v1/gw/rpc") == 0) {
Serial.write(payload, len); // önce yapıya bak
Serial.println();
// child adını ve level'ı çöz:
// bleSetLevel(name, map(level, 0, 100, 0, 255));
}
}
Las reglas de las tarjetas de control están aquí: Kontrol kartları
Child’a komut gidiyor, takıldığın yer ESP32 tarafı. Gateway arkasındaki bir cihaza gönderilen komut gateway’e v1/gw/rpc üzerinden iniyor, shared attribute değişiklikleri de v1/gw/attributes üzerinden. Senin kod büyük ihtimalle sadece v1/rpc/req/+ dinliyor, o da gateway’in kendi komutları için. Komut o yüzden Sent’te kalıyor. Ben de su istasyonlarında aynı yerde takılmıştım.
Yaptığım şey şöyle:
- light.set komutunu dimmer’ların profiline ekle (gateway’inkine değil), Basic tier, parametre level (Number, 0-100).
- Slider kartında Run a command: Device = atolye-3 child’ı, Command = light.set, level için The control’s value. 0-100 slider’ı ESP32 tarafında 0-255’e çeviriyorum.
- Current value slot’unu aynı child’ın level telemetrisine bağla, kart dimmer’ın gerçek değerini göstersin.
- Işık için Ask before running’i kapattım, her kaydırmada onay sormasın.
ESP32 tarafında her bağlantıdan sonra v1/gw/rpc‘ye abone ol. Gelen mesajı önce seri porta bastırıp yapısına bak, hangi child için geldiğini oradan çözüp BLE yazmasını yaparsın:
mqtt.subscribe("v1/gw/rpc", 1);
void onMsg(char* topic, byte* payload, unsigned int len) {
if (strcmp(topic, "v1/gw/rpc") == 0) {
Serial.write(payload, len); // önce yapıya bak
Serial.println();
// child adını ve level'ı çöz:
// bleSetLevel(name, map(level, 0, 100, 0, 255));
}
}
Kontrol kartlarının kuralları burada: Kontrol kartları
Traducido del Türkçe por IA ·
+1. La duración predeterminada de la clave es de 90 días, anótalo en el calendario; si no, después de tres meses la página aparecerá vacía sin avisar.
+1. Anahtarın varsayılan süresi 90 gün, takvime yaz, yoksa üç ay sonra sayfa sessizce boş gelir.
Traducido del Türkçe por IA ·
Dejando de lado el puerto: si pones el token del dispositivo en la página, cualquiera que mire el código fuente de la página puede publicar datos en nombre de tu dispositivo con ese token. La temperatura del invernadero marca 80 grados, tu madre se va a asustar 🙂 Saca el token de ahí.
Port bir yana, cihaz token’ını sayfaya koyarsan sayfanın kaynağına bakan herkes o token ile senin cihazın adına veri basabilir. Sera sıcaklığı 80 derece görünür, annen panik olur 🙂 Token’ı oradan çıkar.
Traducido del Türkçe por IA ·
El cálculo lo aclaró mucho, gracias. Monté el de la ventana con un panel de 0,5 W + un supercondensador de 1 F + BQ25570, llevo dos semanas sin pilas; supercap_v no baja de 3,9 por la noche. En los demás pasé a NTP + envío por lotes cada hora, y la pendiente de battery_v bajó de 25 mV al día a 6 mV al día. Enterré la idea de la colmena y la lavadora 🙂
Hesap çok netleştirdi, teşekkürler. Pencere kenarındakini 0,5 W panel + 1 F süperkap + BQ25570 ile kurdum, iki haftadır pil yok, supercap_v geceleri 3,9’un altına inmiyor. Diğerlerinde NTP + saatlik dizi gönderime geçtim, battery_v eğimi günde 25 mV’den 6 mV’ye düştü. Petek ve çamaşır makinesi fikrini gömdüm 🙂
Traducido del Türkçe por IA ·
El reloj no está sincronizado, pero no uso NTP para nada. Leí en algún sitio que inventarse los ts está prohibido.
Saat senkron değil ama, NTP hiç yapmıyorum. ts uydurmak yasak diye okumuştum bir yerde.

