Logger Pro ========== Battery-powered industrial data logger: pulse counting, 4-20 mA loops, 0-5 V input and switched sensor supply rails, reporting over LTE. Overview -------- * ESP32 (MicroPython v1.25), deep-sleep duty cycle, ~116 uA sleeping * Quectel EG915 LTE modem (:class:`findylab.modem.eg915`) * 2x digital pulse inputs counted by the ULP co-processor - counting continues through deep sleep (:class:`findylab.sensor.counter`) * 2x 4-20 mA analog inputs + 1x 0-5 V input + external-power monitor on an external I2C ADC (:meth:`findylab.core.fw.adcMeasure`) * Switched 5 V and 12 V sensor rails (:doc:`/api/relay`) * Reed switch wakeup (magnet-triggered alarm reports) * Buzzer for on-site feedback Pin map ------- .. list-table:: :header-rows: 1 :widths: 30 15 55 * - Function - GPIO - Notes * - Modem power rail - 17 - Held through deep sleep * - Modem PWRKEY - 23 - Power-on pulse * - Modem UART TX (ESP32 side) - 21 - Modem RX * - Modem UART RX (ESP32 side) - 36 - Modem TX * - Modem DTR - 5 - Slow-clock (sleep) control * - I2C SCL / SDA - 19 / 18 - External ADC, address 104 * - Peripheral power - 25 - Sensor bus supply enable * - Relay 5 V / 12 V - 22 / 12 - Switched sensor rails * - Pulse input 1 / 2 - 4 / 14 - Counted by the ULP (RTC GPIO 10 / 16) * - Reed switch - 15 - EXT0 deep-sleep wakeup * - Buzzer - 27 - 5 kHz PWM .. note:: This board revision has no dedicated modem RESET or PSM pins, so :meth:`findylab.modem.eg915.reset` power-cycles the supply rail and sleep is a plain ``machine.deepsleep()`` (no network PSM negotiation). Duty cycle ---------- #. Wake up (timer at a round boundary of parameter 421, reed switch, or watchdog). #. ``measure()`` - power the sensor rails, warm up (parameter 587), read the ADC channels, collect the ULP pulse counters, evaluate the min/max alarms, store everything in the database. #. Every N wakeups (ratio 422/421) or on an alarm: ``report()`` - turn the modem on, register, send the ``datalist`` parameters to the server, execute any queued server commands. #. Deep sleep until the next round boundary. Related pages ------------- * :doc:`/guides/getting-started` * :doc:`/datatypes/system-ids` * API: :doc:`/api/modem`, :doc:`/api/sensor`, :doc:`/api/relay`