Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

Tyler W.

tyler22

@walker-t · Se unió el junio 2025

Recién llegado

Data analyst · manufacturing

Temas
3
Respuestas
15
Puntos
0
Recién llegado10 puntos para Miembro

Respuestas de foro creadas

Viendo 15 entradas – de la 1 a la 15 (de un total de 15)

Traducido del English por IA ·

Esas filas feature.access.checked taparían todo en nuestra organización. ¿Puedo ocultarlas de la lista?

♥ 0

Traducido del English por IA ·

¿El GPS está obteniendo una posición fija? En interiores, el NEO-6M puede estar minutos con 0 satélites y TinyGPS devolverá 0.0.

♥ 2

What Carlos said, here’s the version I use for our line counters (an Uno doing the counting, a bigger board doing the network). Send binary, fixed size, in one struct, and use onReceive for commands.

Shared struct, in both sketches:

struct Reading {
  int16_t moisture;   // raw ADC
  int16_t temp_x10;   // 21.5 C -> 215
  int16_t flow_x10;   // L/min x10
};

Uno (slave):

volatile Reading r;
volatile bool openValve = false;

void requestEvent() { Wire.write((const uint8_t*)&r, sizeof(r)); }   // one write
void receiveEvent(int n) { if (Wire.available()) openValve = Wire.read() == 1; }

void setup() { Wire.begin(8); Wire.onRequest(requestEvent); Wire.onReceive(receiveEvent); }
void loop() {
  Reading tmp = { readMoisture(), (int16_t)(readTemp() * 10), (int16_t)(readFlow() * 10) };
  noInterrupts(); r = tmp; interrupts();
  digitalWrite(VALVE_PIN, openValve);
}

Mega (master):

Reading r;
if (Wire.requestFrom(8, (int)sizeof(r)) == sizeof(r)) Wire.readBytes((uint8_t*)&r, sizeof(r));
float tempC = r.temp_x10 / 10.0;

Wire.beginTransmission(8); Wire.write(1); Wire.endTransmission();   // open valve

Both are AVR, so byte order and int sizes match and the struct goes across as-is. The ÿ you saw is 0xFF, what the master reads when the slave has nothing left to send. Asking for exactly sizeof(r) fixes that too.

Solución aceptada♥ 9

Welcome. Will remember the screenshot rule, I usually just say «the chart is weird».

♥ 0

Traducido del English por IA ·

Además, si usas la antigua biblioteca Adafruit_DHT, está obsoleta. La versión de CircuitPython funciona en el Pi OS actual: adafruit-circuitpython-dht más board.D4.

♥ 2

Traducido del English por IA ·

Funciona. Mi único problema: el catálogo no tiene light.set; nuestro integrador lo llamó relay.set con un parámetro llamado state (0 o 1). La llamada rpc-commands lo mostró de inmediato. El primer atajo fue Super+L, que por supuesto bloquea la pantalla; ahora está en Super+F9.

♥ 0

Traducido del English por IA ·

Vale, eso explica que la tarjeta vuelva atrás. ¿Entonces es /api/v1/rpc? La página HTTP del dispositivo lista ese

♥ 1

Traducido del English por IA ·

Funciona. La primera llamada devolvió 403 porque solo había marcado el permiso de envío y no iot_rpc.read. Después de añadirlo, la lámpara hace clic y la llamada devuelve 200 / SUCCESSFUL en unos 300 ms. También puse una tarjeta Switch en el panel de los operadores, vinculada a relay, para que vean el estado. Gracias a los dos.

♥ 1

Traducido del English por IA ·

Lo flasheé con un adaptador FTDI prestado; me costó tres intentos ponerlo en modo boot (mantener pulsado el botón mientras lo conectaba). Ahora se conecta a Hermetry con su propio token de acceso y envía {"relay": 0} cada minuto. Así que la parte de envío está lista. ¿Y cómo lo cambio?

♥ 1

Traducido del English por IA ·

Cuidado, no creo que exista una imagen para descargar y ejecutar. La página de planes indica que las instalaciones locales (on-premises) se acuerdan con su equipo comercial, igual que los planes Enterprise, así que es una conversación, no un botón.Para las otras dos preguntas puedes responderle hoy mismo, yo hice exactamente esto para nuestro equipo de cumplimiento:Dónde están los datos: cada organización tiene una región principal, UE, EE. UU. o Turquía, elegida al crearla. Dispositivos, telemetría, alarmas, paneles, flujos y el registro de auditoría están todos allí. Como propietario o administrador, abre Ajustes y luego Residency (está en /admin/settings/residency). Muestra la región principal, cualquier requisito de residencia, los datos de la región, los subprocesadores y dónde se guardan las copias de seguridad. Hice una captura de esa página y eso fue la mayor parte de la respuesta.Sacar los datos tiene dos partes. Un propietario puede descargar una exportación JSON de la organización (dispositivos, paneles, miembros, ajustes, webhooks, parte del registro de auditoría). El historial de telemetría se obtiene aparte, con la API de historial o la descarga desde una tarjeta de gráfico, y los archivos de los paneles se descargan uno por uno. Escribí un pequeño script que cada mes obtiene los promedios horarios por dispositivo en CSV, así siempre tenemos nuestra propia copia.Página que envié a nuestro equipo de TI: Regions and data residency, además de la de «Export your data and close your organisation».

Solución aceptada♥ 2
Viendo 15 entradas – de la 1 a la 15 (de un total de 15)