Категории

Цифровой ДП-5: оживляем советский дозиметр для эпохи 2040

2025-08-15 12:06:19 | 2040
Аналоговый дозиметр ДП-5 - оживляем и добавляем в систему мониторинга хомасистент

Год 2040. Города пульсируют под светом неоновых фильтров, но где-то в подвалах, бункерах и сельских домах до сих пор работают приборы, созданные задолго до того, как слово «IoT» появилось в лексиконе. Один из них — легендарный ДП-5. А что, если мы не выбросим его, а подключим к будущему?

Советская надёжность против цифровой эпохи

У меня есть ДП-5. Не цифровой симулятор из AliExpress, а настоящий — в деревянном ящике, с ручной обработкой, стрелочным индикатором и наушниками, в которых слышен тот самый, знаменитый щелчок радиации.

Прибор работает от 12 вольт, имеет механическую логику и не нуждается в интернете. Он не сломается от EMP, не требует обновлений прошивки и не шпионит за тобой. Это — аппаратная честность.

Но в 2040 году хочется большего. Хочется, чтобы он:

Короче, пора его цифровизировать.

Идея: ДП-5 как IoT-сенсор

Я не буду трогать внутренности прибора. Никаких паяльников вблизи катушек и резисторов времен Хрущёва. Вместо этого — нечто простое, костыльное, но рабочее:

Слушаем наушники. Если слышим щелчок — значит, счётчик Гейгера сработал. Считаем щелчки в минуту — получаем уровень радиации. Всё.

Что нужно?

  1. ДП-5 (с рабочим наушником и питанием 12 В)
  2. Микроконтроллер (например, ESP32 — он умеет Wi-Fi и MQTT)
  3. Звуковой датчик (модуль с микрофоном, например, KY-038 или лучше — аналоговый MAX4466)
  4. Реле (чтобы включать/выключать питание ДП-5 по расписанию)
  5. Блок питания 12 В (для ДП-5) и 5 В (для ESP32)
  6. MQTT-брокер (например, Mosquitto на Raspberry Pi или в Docker)
  7. Самописный домашний ассистент (на Python, Node.js или даже в Home Assistant)

Как это работает?

Вот сценарий на каждый день:

  1. В 3:00 ночи ESP32 включает реле — подаёт 12 В на ДП-5.
  2. Через 30 секунд (чтобы прибор прогрелся) — ESP32 начинает слушать микрофон, подключённый к наушнику ДП-5.
  3. В течение 60 секунд он считает количество звуковых импульсов (щелчков).
  4. Конвертирует в примерный уровень радиации (например, 1 щелчок ≈ 0.1 μSv/h — калибровка нужна!)
  5. Отправляет данные по MQTT в топик: sensor/dp5/radiation
  6. Выключает реле — экономит ресурс прибора.

Код для ESP32 (на примере Arduino + WiFi + MQTT)

#include <WiFi.h>
#include <PubSubClient.h>

// Настройки Wi-Fi
const char* ssid = "ваш_вайфай";
const char* password = "пароль";

// Настройки MQTT
const char* mqtt_server = "192.168.1.100"; // IP вашего брокера
WiFiClient espClient;
PubSubClient client(espClient);

// Пины
const int micPin = 34;        // Аналоговый вход от микрофона
const int relayPin = 12;      // Реле для включения ДП-5
const int threshold = 1000;   // Порог срабатывания звука (калибровать!)
const int sampleTime = 60;    // Время измерения в секундах

void setup() {
  Serial.begin(115200);
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, LOW); // Реле выключено

  setup_wifi();
  client.setServer(mqtt_server, 1883);
}

void setup_wifi() {
  delay(10);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("WiFi подключён");
}

void loop() {
  static unsigned long lastRun = 0;
  unsigned long now = millis();

  // Запуск раз в 24 часа (86400000 мс)
  if (now - lastRun > 86400000) {
    lastRun = now;

    // Включаем ДП-5
    digitalWrite(relayPin, HIGH);
    Serial.println("ДП-5 включён");
    delay(30000); // Ждём 30 секунд на прогрев

    // Считаем щелчки
    int clicks = 0;
    unsigned long start = millis();
    while (millis() - start < sampleTime * 1000) {
      int sound = analogRead(micPin);
      if (sound > threshold) {
        clicks++;
        delay(50); // Антидребезг
      }
    }

    // Выключаем
    digitalWrite(relayPin, LOW);
    Serial.println("ДП-5 выключён");

    // Отправляем данные
    float radiation = clicks * 0.1; // Примерная калибровка
    String payload = String(radiation, 2) + "," + String(clicks);
    
    if (client.connect("DP5_Sensor")) {
      client.publish("sensor/dp5/radiation", payload.c_str());
      client.disconnect();
    }

    Serial.print("Щелчков: "); Serial.print(clicks);
    Serial.print(", Уровень: "); Serial.print(radiation); Serial.println(" μSv/h");
  }

  delay(60000); // Проверка раз в минуту
}

Интеграция с домашним ассистентом

Представь: у тебя есть самописный ассистент (на Python, Node.js или через Home Assistant). Он слушает MQTT.

Каждый день утром он говорит:

«Доброе утро. Уровень радиации в бункере — 0.12 мкЗв/ч. Норма. ДП-5 выполнил измерение. Всё чисто.»

Или, если уровень повышен:

«Внимание! Обнаружено повышение радиационного фона. Рекомендую проверить герметичность укрытия.»

Ты можешь:

Почему это гениальный костыль?

Потому что:

А что дальше?

Можно пойти дальше:

Заключение: прошлое служит будущему

ДП-5 — это не просто прибор. Это символ эпохи, когда технологии делали на века. А мы — не выбрасываем его, а интегрируем.

Это и есть подготовка к 2040: не гнаться за новым, а уметь оживлять старое. Не просто «умный дом», а дом с историей, совестью и щелчками радиации в наушниках.

Пусть бункер знает, что происходит за стенами. Даже если это — 1951 год в деревянном ящике.

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

DISCLAIMER: Блог-эксперимент

Внимание: Cтатьи здесь сгенерированы нейросетью, пока не правил ошибки, только запустил его да и не до этого. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
НО!
Каждый кейс я реально делал минимум один раз. Серьёзно.
Сервера стоят, клиенты довольны, дата-центры не горят.
Это не просто копипаста — это опыт, выстраданный в бою, просто пересказанный через ИИ.
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.

Посетителей сегодня: 0


© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA
Кто я | HSH | Контакты и регион