cg_radsense СМБ20-1: http://alii.pub/6ewvzn
cg_radsense СМБ20: http://alii.pub/6ewx6t
cg_radsense без трубки СМБ20: http://alii.pub/6ewx61
cg_radsense без трубки СМБ20-1: http://alii.pub/6ewx59
Esp32: http://alii.pub/6c9kzh
Arduino: http://alii.pub/6ahstu
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Всегда хотелось иметь счетчик Гейгера. И хотелось не просто иметь портативный счетчик, а именно модуль. На Aliexpress был один такой модуль, я всегда на него смотрел с интересом, но как-то не решался заказать.
Но не так давно, появились более интересные модули счетчиков Гейгера под названием CG_RadSense. От Русских ребят их Climate Guard.
Модули CG_RadSense существуют под разные трубки такие как СМБ20 и СМБ20-1.
Так-как трубка – это самая дорогая часть в модуле. Отдельно продают платы, без трубок. На Авито всегда можно купить трубку подешевле, нежели в комплекте.
Характеристики дозиметра
Газоразрядный счетчик Гейгера | СБМ 20-1 |
Диапазон измеряемого излучения | 14,4 … 144 000,0 мкР/ч |
Собственный фон не более | 1 имп/с |
Чувствительность к гамма-излучению от источника 37 Cs | 160 … 75 имп/мкР |
Разброс относительной чувствительности | 15 % |
Напряжение питания | 3,0 … 3,5 В |
Максимальный ток потребления | 50 мА |
Интерфейс подключения | I2C |
Частота шины I2C | 400 кГц |
I2C адрес | 0x66 |
Чувствительность счетчика СБМ20-1 | 105 имп/мкР |
Светодиодный индикатор радиоактивного фона | да |
Светодиодный индикатор питания | нет |
Диапазон рабочих температур | -20°C … +60°C |
Размеры | 89 х 21 х 13,5 мм |
Вес устройства (примерно) | 12 г |
Габариты устройства с трубкой СМБ20-1:
Разъем подключения
Контакт | Цепь | Описание |
1 | VCC | Напряжение питания 3,0 В … 3,5 В |
2 | GND | Земля (общий провод) |
3 | SCL | Линия тактирования шины I2C |
4 | SDA |
Линия данных шины I2C |
Под эти модули есть страничка на github, где есть библиотека для работы в arduino IDE с модулем, даташит устройства. https://github.com/climateguard/RadSens
Для установки библиотеки в Arduino ide, достаточно найти библиотеку в поиске библиотек под названием:
После установки библиотеки, появится пример, который будет брать данные с модуля cg_RadSense и отправлять их в монитор порта. Данный пример будет работать под любым микроконтроллером.
Но чтоб данные снимать с датчика, то нужно подключить модуль по шине i2c к микроконтроллеру. А именно для подключения будет использоваться 4 провода. +,-, SCL и SDA.
+ и – это напряжение 5 Вольт. А вот SCL и SDA – это какраз шина i2c. У каждого контроллера она расположена на разных пинах. Нужно смотреть распиновку микроконтроллера.
Ну и выглядят показания с датчика в мониторе порта вот так:
Подключили, данные получили, работает. Теперь все это бы нужно отправить на сервер умного дома. Чтоб собирать статистику, строить графики и возможно делать автоматизации на основе этих данных, которые дай Бог никогда не пригодятся и не сработают.
Я в этой статье расскажу про два способа отправки данных на сервер умного дома Home Assistant.
-
Это отправка по MQTT на сервер Home Assistant.
Для этого я сделал программу на основе примера из библиотеки. Скачать программу можно отсюда: https://disk.yandex.ru/d/WzFmiPPaUdrR4w
В скетче нужно изменить следующее:
#define WIFI_SSID “NETGEAR”
#define WIFI_PASSWORD “14532552352”
это SSID и пароль от Вашей wi-fi сети.
#define MQTT_HOST IPAddress(192, 168, 31, 145) – тут указывается ip адрес сервера mqtt. В моем случае это сервер Home Assitant.
#define MQTT_PUB_TEMP “esp32/radsence/tvoc” – это топик куда будут отправляться данные.
mqttClient.setCredentials(“mqtt”, “mqtt”); – это пароль от сервера mqtt
Ну и так-же давайте подготовим сервер Home Assitant для получения этих данных по mqtt.
Для этого в Configuration.yaml в блоке Sensor, добавим следующий блок:
sensor:
- platform: "mqtt"
name: "RadSense"
state_topic: "esp32/radsence/tvoc"
value_template: "{{ value }}"
unit_of_measurement: "μR/h"
icon: "mdi:radioactive"
Собственно тут изменить только топик, из которого будем брать данные. Ну или оставить так как у меня.
После добавления этого блока в Configuration.yaml, нужно перезагрузить Home Assistant. И после перезагрузки у Нас появится сенсор с именем RadSense.
Ну а теперь второй способ.
2. Это добавление устройства в ESPHome.
Официальной поддержки данных модулей в ESPHome нет. Но существует пользовательский вариант добавления модуля cg_RadSense в ESPHome. Описан он на страничке: https://github.com/maaad/RadSens1v2
Тут не все так просто и есть моменты о которых хотелось бы рассказать.
Сначала для того, чтоб этот метод заработал, нам нужно на сервере Home Assistant создать папку под названием “RadSens1v2″ В Папке ESPHome. И закинуть туда 3 файла которые присутствуют на страничке github, ссылка выше.
По итогу выглядеть должно вот так:
Теперь Сам конфиг устройства в ESPHome.
Он состоит из нескольких блоков.
Добавляем эту часть:
libraries:
- Wire
- "vurdalakov/RadSensBoard"
includes:
- RadSens1v2/_radsensboard.h
- RadSens1v2/CountsPerMinute.h
Причем ее нужно добавить в то место, как показано на скрине ниже. Блок этот выделен:
Ну и в самом конце добавляем следующее:
i2c:
sda: 21
scl: 22
scan: true
sensor:
- platform: custom
lambda: |-
auto rad_sens = new MyRadSens();
App.register_component(rad_sens);
return {rad_sens->IntensityDynamic_Sensor, rad_sens->IntensityStatic_Sensor, rad_sens->CurrentCPM_Sensor, rad_sens->MaxCPM_Sensor};
sensors:
- name: "Dynamic intensity"
id: dynamic_intensity
accuracy_decimals: 1
unit_of_measurement: μR/h
- name: "Static intensity"
accuracy_decimals: 1
unit_of_measurement: μR/h
- name: "Current CPM"
accuracy_decimals: 1
unit_of_measurement: CPM
- name: "Max CPM"
accuracy_decimals: 1
unit_of_measurement: CPM
Как показано на скрине:
Тут изменить нужно только пины шины i2c.
Ну и все. После этого у Вас в Home Assistant появятся сенсоры с показаниями радиации:
Radiation measurement on esp32 in ESPHome and Home Assistant