Балконная метеостанция с «DHT22» за девяносто рублей всю зиму показывала ровно 0 °C — и когда за окном было минус пятнадцать, и когда минус два. Влажность стояла на сорока с точностью до процента неделями. Я неделю перекапывал код и подтяжку, греша на длину шлейфа, пока однажды не снял показания подряд и не увидел то, что должен был увидеть в первый день: температура менялась только целыми градусами. Настоящий DHT22 отдаёт десятые доли. В белом корпусе с сеточкой сидело ядро DHT11.
История типовая: разница в цене между оригиналом и клоном — двести с лишним рублей, спрос огромный, рынок забит подделками. В этом уроке три рубежа обороны: что смотреть до оплаты, что проверять в первые пять минут после вскрытия и как за четырнадцать секунд прогнать датчик стендом в Serial, который сам напечатает вердикт. Схема подключения при этом та же, что в уроке про первое подключение DHT11 — подделка втыкается в те же три провода и ничего не подозревает.
Что подделывают и почему это работает
Механика простая. Настоящий DHT22 от Aosong (марка ASAIR) стоит в рознице примерно 250–450 рублей, DHT11 — 80–150. Клон закупают за девяносто, продают под видом DHT22 — разница чистая. Внутри белого корпуса обнаруживается голубой сенсорный элемент от DHT11: диапазон 0–50 °C, шаг ровно один градус, точность ±2 °C, влажность 20–80 %. Все паспортные обещания настоящего DHT22 — минус сорок, ±0,5 °C, проценты с десятыми — для покупателя остаются на бумаге.
Самый честный сигнал — цена, но с оговоркой: дешевле 150 рублей за «DHT22» я не покупаю вовсе. Это не закон, бывают распродажи, — но именно низкая цена включает у меня остальные проверки. Второй сигнал читается до оплаты, в описании лота. Если в характеристиках указаны «±2 °C» или «влажность 20–80 %» — продавец сам признался, что внутри DHT11, и никакие красивые фотографии его не спасут. Честный лот называет производителя и модель: Aosong, ASAIR, AM2302.
Третий рубеж — маркировка корпуса. Оригинал несёт чёткую гравировку с датой партии, клоны часто со смазанным литьём и кривыми шрифтами; ножки у подделок гнутся от лёгкого касания. Формулировка «аналог DHT22» в названии — это и есть тот самый аналог, при всех прочих равных я пасую перед лотами со словом «оригинал» в кавычках: кто кавычки поставил, тот уже всё решил.
Ещё два взгляда перед оплатой. Лоты «10 штук по цене одного» — почти гарантированный клон: переплачивать за опт, чтобы потом выкинуть восемь из десяти, я пробовал, экономия вышла отрицательной. Отзывы с фотографиями чужих платок и вскрытых корпусов читаются за пять минут и говорят больше паспорта. И мнение с границей: подделка — не всегда зло. Для комнаты, где ±2 °C никто не заметит, ядро DHT11 в белом корпусе честно отработает свои девяносто рублей — если вы знали, что покупаете. Злом оно становится в момент обмана: когда клона продают как оригинал под задачу с минусом и десятыми долями.
| Признак | Оригинал DHT22 | Подделка на ядре DHT11 |
|---|---|---|
| Шаг температуры | 0,1 °C | ровно 1 °C |
| Диапазон | −40…+80 °C | 0…50 °C, в морозе замирает на нуле |
| Влажность | 0–100 %, ±2–5 % | 20–80 %, ±5 % |
| Цена | ≈250–450 ₽ | ≈80–120 ₽ |
| nan в данных | редко, чаще при проблемах питания | пачками даже на ровном месте |
| Маркировка | чёткая гравировка, партия, ASAIR | смазанное литьё, кривые шрифты |
Пять минут после вскрытия: три живых теста
Тест первый — на шаг. Подключите датчик по любой схеме из разбора кода чтения и снимите десять показаний подряд с паузой в две секунды, не трогая датчик руками. Настоящий DHT22 ходит на десятые доли градуса, клон перепрыгивает целыми числами: 24, 25, 24. Лаборатория не нужна — обычный монитор порта из первого знакомства с Serial показывает разницу наглядно. Пауза между чтениями обязательна: у DHT есть свой темп обновления, мы его разбирали в уроке про интервал опроса.
Тест второй — на холод. Настоящий DHT22 обязан показывать минус: вынесите датчик на балкон или в холодильную камеру, и при −15 он честно напишет −14,6. Клон с ядром DHT11 застынет на нуле — ниже нуля у его прошивки данных не существует. Тест третий — на верх влажности: пар над чайником, не заливая сенсор, уводит DHT22 к 90–100 %, клон упрётся в свой потолок 80 % и остановится, как уперся мой в сорок процентов зимой — только с другой стороны шкалы.
Отдельная история — частота nan. Немного пропусков бывает и у оригинала: не сошлась контрольная сумма, наводка на линии. Когда nan сыплются пачками на ровном месте при хорошем питании и честной подтяжке — это почерк клонов, который я видел чаще всего. Но порядок обвинений такой: сначала исключите свои провода — плохой контакт на макетке имитирует те же симптомы, у меня однажды «клон» оказался ни в чём не виноват, история есть в уроке про плохой контакт, — и только потом производителя. Все причины пропусков мы разбирали в уроке про nan.
Подделка всё-таки приехала — это не конец истории, а начало спора. Фото со вскрытым корпусом и скрином десяти целых градусов в мониторе спор закрывает почти всегда — у меня четыре из пяти таких возвратов прошли без ботвы. Оставшийся экземпляр я не выбрасываю: клею на корпус честную бумажку «ядро DHT11» и отдаю ему комнатные задачи, где ±2 °C не важны. Опознанный клон — рабочий датчик; недоопознанный — испорченный проект.
#include "DHT.h" #define DHTPIN 2#define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); dht.begin();} void loop() { for (int i = 1; i <= 10; i++) { float t = dht.readTemperature(); Serial.print(i); Serial.print(") t="); Serial.println(t); delay(2100); } Serial.println("---- seriya konec ----");}Стенд проверки в Serial: протокол за 14 секунд
Когда датчик уже в руках, я запускаю стенд: скетч снимает серию из восьми чтений, считает максимальный шаг между соседними показаниями, разлёт температуры и влажности, и печатает протокол с вердиктами по каждому пункту. Смысловой стержень — шаг: ядро DHT11 выдаёт скачок в целый градус, оригинал укладывается в десятые. В симуляторе стенд подключён к честному сенсору, и вердикт podozritelno честно срабатывает, если подвигать климат посреди серии: стенд не отличает подделку от вашей руки на ползунке, серия валидна только при неподвижном климате — в жизни это те самые паузы в две секунды. Полный протокол я потом сохраняю в журнал по уроку про таблицы данных.
- 1. Внутри подделки «DHT22» за 90 рублей чаще всего обнаруживается:
- 2. Какое поведение выдаёт клон в мороз минус пятнадцать?
- 3. Первый рубеж обороны — ещё до оплаты:
- 4. Серия чтений у неподвижного датчика дала максимальный шаг 1,0 °C. Вывод:
- 5. Зачем после морозильного теста датчик вносят в пакет?
- Дешевле 150 ₽ за DHT22 — лотерея; «±2 °C» или 20–80 % в описании выдают ядро DHT11.
- Три живых теста: шаг 0,1 против 1 °C, минус за бортом, потолок влажности 80 у клона.
- Пачки nan на ровном месте — почерк клона; свои провода исключите раньше, чем обвинять производителя.
- Стенд в Serial печатает протокол с максимальным шагом и вердиктами за 14 секунд.
- Морозильный тест — только в пакете: конденсат временно выводит сенсор из строя.
Частые вопросы по теме урока
- Внутри подделки «DHT22» за 90 рублей чаще всего обнаруживается:
- Классика рынка: голубой элемент DHT11 с его 0–50 °C и шагом в целый градус внутри белого корпуса с сеточкой. Все паспортные цифры DHT22 — на бумаге. Ядро DHT11 в корпусе DHT22
- Какое поведение выдаёт клон в мороз минус пятнадцать?
- Диапазон 0…50 °C зашит в прошивке ядра. Оригинал в тех же условиях напишет −14,6 — тест на холод занимает минут двадцать с пакетом против конденсата. Замирает на нуле — ниже нуля у ядра DHT11 данных нет
- Первый рубеж обороны — ещё до оплаты:
- Низкая цена — не вердикт, а сигнал включить остальные проверки. Продавец, указавший 20–80 % влажности или ±2 °C, сам раскрыл содержимое корпуса. Цена и характеристики лота: дешевле ~150 ₽ и «±2 °C» в описании — перед вами ядро DHT11
- Серия чтений у неподвижного датчика дала максимальный шаг 1,0 °C. Вывод:
- У DHT22 разрешение 0,1 °C. Шаг ровно в градус при неподвижном климате — типичный отпечаток DHT11-ядра. Уменьшение паузы тут не при чём, интервал опроса соблюдался. Подозрительно: оригинал ходит десятыми, целый скачок — почерк ядра DHT11
- Зачем после морозильного теста датчик вносят в пакет?
- Тёплый корпус на холодном воздухе собирает конденсат. Пакет с застёжкой и двадцать минут прогрева до комнатной температуры — и сенсор встречает тест сухим. Чтобы конденсат не осел на сенсоре при прогреве — иначе влажность врёт под 99 %