- PVSM.RU - https://www.pvsm.ru -
Плата датчика разрабатывалась в программе DipTrace [1], разработка заняла несколько дней. Плата датчика получился в размерах 29мм х 67мм. Место под напайку радиомодуля сделал универсальным, для возможности установки нескольких видов радиомодулей: EBYTE E18-MS1-PCB(200м), EBYTE E18-MS1PA2-PCB (800м), EBYTE E18-2G4Z27SI IPEX (2500м).
Для удобства сборки все электронные компоненты располагаются на одной стороне платы, за исключением держателя батарейки, который напаивается на обратную сторону платы. В проекте использовались цифровые сенсоры BME280, BMP280 и SHTC3. В первом варианте датчика использовался сенсор bme280, но из-за кризиса производства полупроводников и, как следствие, роста цен в дальнейшем в проект был добавлен сенсор BMP280. Это самый недорогой вариант, стоимость bmp280 на Али экспресс составляет примерно 40 рублей. Но данный сенсор измеряет только атмосферное давление и температуру, а хотелось ещё и влажность, поэтому позднее в проект был добавлен сенсор SHTC3.
BME280 (Bosch)
BMP280 (Bosch)
SHTC3 (Sensorion)
На плате установлен светодиод для индикации режимов работы: вход в сеть, выход из сети, отправка данных, две кнопки: кнопка сброса и пользовательская кнопка(вход в сеть, выход из сети, чтение и отправка данных не по расписанию), порт программирования.
Датчик получился простой и лёгкий в изготовлении, время сборки датчика при ручной пайке составляет 10-15 минут, схема датчика состоит всего из 10 элементов, включая радиомодуль.
Убедиться в этом вы можете, изучив схему проекта.
Программная часть этого проекта доступна на моём github [2] в виде исходного кода, а также в виде уже скомпилированной прошивки. Прошивка скомпилирована для варианта датчика с самым простым и дешёвым радио модулем EBYTE E18-MS1-PCB. Установлен интервал чтения сенсора один раз в минуту и отправка данных при изменении значений на 0.33 градуса для температуры, на 2.5 процента для влажности и на 1 единицу для атмосферного давления. Отправка информации об уровне заряда батареек происходит один раз в 6 часов.
Для загрузки прошивки в радиомодуль может понадобиться СС Debager, или SmartRF04EB это такая не очень догорая платка которую можно купить на Али экспресс.
Впрочем, прошить можно и через ардуино/есп, для этих целей написан удобный и бесплатный онлайн-сервис ZESP_multitool [3]. Заходите на сайт, выбираете тип модуля, который планирует прошить, в нашем случае TI CCХХХХ. Справа в интерфейсе будет картинка с тем, что, как и куда подключать. Подключаете вашу ESP к USB порту, в интерфейсе сервиса выбираете make adapter и кликаете esp32adapter.json. Далее выбираете самый нижний пункт слева в интерфейсе — local и выбираете на своём компьютере прошивку, которую требуется загрузить в датчик.
Исходные файлы проекта EFEKTA THPTHPLR OutdoorIndoor sensor находятся папке /PROJECT SOURCE, это может быть интересно тем, кто хочет изменить какие-либо параметры работы датчика или, например, скомпилировать прошивку для радиомодуля с усилителем сигнала. Для такой настройки проекта необходимо переконфигурировать настройки проекта в файле /PROJECT SOURCE/THP/Source/preinclude.h, нужно закомментировать или, наоборот, раскомментировать нужные вам #define и в #define APP_REPORT_DELAY указать нужные вам значения времени в миллисекундах.
//#define OUTDOOR_LONG_RANGE
//#define BMP
//#define SHTC3
#ifdef OUTDOOR_LONG_RANGE
#define APP_REPORT_DELAY ((uint32) 300000) //5 minutes
#else
#define APP_REPORT_DELAY ((uint32) 60000) //1 minute
#endif
Корпус для датчика был разработан под печать на FDM принтере, модели корпуса также доступны на моём гитхабе в папке /ENCLOUSER/. В корпусе предусмотрено место для вывода внешней антенны, в этом месте толщина стенок тоньше, если необходим вариант с внешней антенной, то в этом месте нужно будет высверлить отверстие.
Проект уже не новый, первую публикацию о проекте я разместил 1 ноября 2021 года на площадке hackaday.io. С того времени проект пережил несколько ревизий дизайна платы, был протестирован при минусовых температурах(до -20С) на улице, в помещении, и даже в морозильной камере (-24С). Датчик работает очень стабильно. Информация о датчике уже добавлена в проект z2m [4], так что внешний конвертер не нужен, также датчик отлично работает в zha.
{
zigbeeModel: ['EFEKTA_THP_LR'],
model: 'EFEKTA_THP_LR',
vendor: 'Custom devices (DiY)',
description: 'DIY outdoor long-range sensor for temperature, humidity and atmospheric pressure',
fromZigbee: [fz.temperature, fz.humidity, fz.pressure, fz.battery],
toZigbee: [tz.factory_reset],
configure: async (device, coordinatorEndpoint, logger) => {
const endpoint = device.getEndpoint(1);
await reporting.bind(endpoint, coordinatorEndpoint, [
'genPowerCfg', 'msTemperatureMeasurement', 'msRelativeHumidity', 'msPressureMeasurement']);
const overides = {min: 0, max: 64800, change: 0};
await reporting.batteryVoltage(endpoint, overides);
await reporting.batteryPercentageRemaining(endpoint, overides);
await reporting.temperature(endpoint, overides);
await reporting.humidity(endpoint, overides);
await reporting.pressureExtended(endpoint, overides);
await endpoint.read('msPressureMeasurement', ['scale']);
},
exposes: [e.battery(), e.temperature(), e.humidity(), e.pressure()],
},
Гербер файлы [5] проекта размещены в каталоге проектов на сервисе по заказу плат pсbway.com, сейчас (04.2022) это, наверное, единственный доступный сервис.
Чтобы не потеряться, подписывайтесь на мой профиль на Habr и на Youtube канал. Также приглашаю в телеграмм чат DIYDEV [6], где можно почитать, как заказывать PCB в апреле 2022 года, как легче всего их оплачивать не потеряв лишних денег и как приобрести уже готовые мои датчики, если по какой-то из причин вы не сможете их самостоятельно собрать.
Ссылки:
Всем добра!
Автор:
Berkseo
Источник [13]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/umny-j-dom/374485
Ссылки в тексте:
[1] DipTrace: https://diptrace.com/rus/
[2] github: https://github.com/smartboxchannel/EFEKTA-THP-THPLR-Outdoor-Indoor-sensor-Zigbee
[3] ZESP_multitool: https://mygateway.ru/ZESP_multitool/#
[4] уже добавлена в проект z2m: https://www.zigbee2mqtt.io/supported-devices/#s=efekta
[5] Гербер файлы: https://github.com/smartboxchannel/EFEKTA-THP-THPLR-Outdoor-Indoor-sensor-Zigbee/tree/main/GERBER%20FILES
[6] телеграмм чат DIYDEV: https://t.me/diy_devices
[7] EBYTE E18-MS1-PCB: https://www.ebyte.com/en/product-view-news.aspx?id=122
[8] EBYTE E18-MS1PA2-PCB: https://www.ebyte.com/en/product-view-news.html?id=988
[9] EBYTE E18-2G4Z27SI IPEX: https://www.ebyte.com/en/product-view-news.aspx?id=522
[10] BME280: https://www.bosch-sensortec.com/products/environmental-sensors/humidity-sensors-bme280/
[11] BMP280: https://www.bosch-sensortec.com/products/environmental-sensors/pressure-sensors/bmp280/
[12] SHTC3: https://sensirion.com/products/catalog/SHTC3/
[13] Источник: https://habr.com/ru/post/659263/?utm_source=habrahabr&utm_medium=rss&utm_campaign=659263
Нажмите здесь для печати.