Инструменты пользователя

Инструменты сайта


использование_сенсоров_co2_sensair_s8

Сенсоры Sensair S8

Сенсоры Sensair S8 достаточно компактны, точны, и удобны в использовании в качестве датчиков CO2 в воздухе Кроме этого, они оборудованы встроенным интерфейсом Modbus RTU, а значит их легко подключить на общую шину и опрашивать контроллером LightHub

Сенсор можно напрямую подключить к UART контроллера (с уровнями 3.3 В) но это не слишком целесообразно. В этом случае, один сенсор занимает один порт UART (к которому более ничего не подключишь) и длина проводов для такого подключения ограничена несколькими метрами

Целесообразнее использовать шину RS-485. На контроллерах LightHub уже установлен драйвер этой шины. Одна и та же шина может использоваться как для опроса сенсоров так и для управления совместимыми устройствами (диммерами, реле, вентиляцией) а также, взаимодействия с настенными панелями управления.

Аналогичный драйвер надо установить у каждого сенсора Sensair. Для электрического сопряжения выходов Sensair с шиной. Для тех, кому не хочется это делать самостоятельно - на Али есть готовая конструкция

Изменение Slave ID

Также, для того, чтобы собрать несколько сенсоров Sensair на одну шину, им надо задать разный Slave ID Это представляет собой некоторый квест, но ознакомившись с материалом ниже, его можно пройти:

The default address of the module is 254(0xFE) and the baud rate is 9600 bps. Please refer to the manual below.

https://rmtplusstoragesenseair.blob.core.windows.net/docs/Dev/publicerat/TDE2067.pdf

Senseair provides UIP5 software for demo purposes. You can download it if needed.

https://senseair.com/products/size-counts/s8-lp/

You need to change the slave Modbus address with the non-standard command if multiple sensors would be connected to the same RS485 bus.

https://github.com/letscontrolit/ESPEasy/issues/1475

Далее, пример конфига LightHub

Пример использует общий широковещательный адрес 254, на который откликается каждое Modbus устройство. Поэтому будет работать только если кроме одного Sensair на шине ничего нет

После того, как по инструкции выше (на GitHub) запрограммируете индивидуальный адрес устройства - его надо указать вместо 254

{
  "mqtt":["esp32","m2m.eclipse.org"],
  
  "items": {
    "sensair1":[14,[254,
                  "sensair",
                  {"co2":{"emit":"co2"}}
                  ]
              ]
    },
   "modbus":
   {
   "sensair":{"baud":9600,
             "poll":{"irs":[[0,3],21,[25,30]],"regs":[0,1,31],"delay":5000},
             "par":{
                            "co2":{"ir":3},
                            "meterStat":{"ir":0},
                            "alarmStat":{"ir":1},
                            "outStat":{"ir":0},
                            "pwm":{"ir":21},
                            "typeid":{"ir":25,"type":"u32"},
                            "mapver":{"ir":27},
                            "fwver":{"ir":28},
                            "sensorid":{"ir":29,"type":"u32"},
                            "ack":{"reg":0},
                            "command":{"reg":1},
                            "abc":{"reg":31}
                            
                            
             }
          
    }
   }
}
использование_сенсоров_co2_sensair_s8.txt · Последнее изменение: 2022/09/14 12:51 — Sanch-KK