[Открытая платформа для создания заботливой квартиры](http://cutecare.ru) Это датчик, который принимает два состояния: включено или выключено, в результате обнаружения движения в помещении, при помощи анализа отраженного радиосигнала (доплеровский эффект). На улице такой датчик лучше не применять, поскольку там слишком много помех: деревья, птицы, домашние питомцы и т.п. Вместо этого используйте схему разработки датчика движения на основе ИК-приемника. Итак, вам потребуются следующие компоненты: |Название|Назначение|Цена, руб.| | :----------- |:----------- |:----------- | |[BLE JDY-08](https://rover.ebay.com/rover/1/711-53200-19255-0/1?icep_id=114&ipn=icep&toolid=20004&campid=5338218090&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2FBluetooth-4-0-BLE-Low-Power-CC2541-JDY-08-Support-Airsync-iBeacon-Module%2F322511962233%3FssPageName%3DSTRK%253AMEBIDX%253AIT%26_trksid%3Dp2057872.m2749.l2649)|Радиомодуль Bluetooth LE|140| |[Arduino Pro Mini](https://rover.ebay.com/rover/1/711-53200-19255-0/1?icep_id=114&ipn=icep&toolid=20004&campid=5338218090&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2F2PCS-New-Pro-Mini-atmega328-Board-5V-16M-Arduino-Compatible-Nano%2F191674251828%3FssPageName%3DSTRK%253AMEBIDX%253AIT%26_trksid%3Dp2057872.m2749.l2649)|Микроконтроллер для учета затраченной электроэнергии|135| |[RCWL-0516](https://amperkot.ru/products/doplerovskiy_datchik_dvizheniya_rcwl0516/24327865.html)|Доплеровский датчик движения|70| |[DC-DC 0.9 - 3.3V](https://rover.ebay.com/rover/1/711-53200-19255-0/1?icep_id=114&ipn=icep&toolid=20004&campid=5338218090&mpre=https%3A%2F%2Fwww.ebay.com%2Fitm%2FDC-Converter-0-9V-3-3V-to-5V-12V-Boost-Step-up-Down-1-8-5V-to-3-3V-Power-Supply-%2F201932734402%3Fvar%3D%26hash%3Ditem0)|DC-DC преобразователь|65| Помимо того, что датчик интегрирован с инфраструктурой умного дома, его преимущества еще и в том, что он в три раза дешевле китайского датчика движения, его не нужно прикреплять к потолку или стене, его можно разместить в любом удобном месте, ведь он работает от батареек или пальчиковых аккумуляторов. ![Умный радио датчик движения](https://github.com/cutecare/cutecare-docs/blob/master/images/rcwlMovementSensor.png?raw=true) Чтобы датчик дольше проработал от двух элементов питания АА, рекомендуем удалить светодиоды с DC-DC преобразователя и микроконтроллера. Также с микроконтроллера лучше удалить стабилизатор. **Программирование** О том как настроить Arduino IDE и подключить микроконтроллер к ПК читайте в этой коротенькой [инструкции](http://cutecare.readthedocs.io/ru/master/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D1%8B/#arduino-pro-mini). Для компиляции программы необходимо загрузить библиотеки и добавить их в Arduino IDE через меню Sketch - Install library: * [JDY8](https://github.com/cutecare/jdy8/archive/master.zip) ``` #include #include #define SENSOR_PIN 2 #define BLE_VCC_PIN 11 #define BLE_RX 8 #define BLE_TX 7 #define BLE_RESET 9 volatile byte rcwlState = LOW; void setup() { JDY8 ble(BLE_RX, BLE_TX, BLE_RESET); ble.configure("Motion-2"); pinMode(SENSOR_PIN, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(SENSOR_PIN), waitForRCWL, CHANGE); waitForRCWL(); } void loop() { byte nowState = digitalRead(SENSOR_PIN); if ( nowState != rcwlState ) { rcwlState = nowState; reportRCWLStateChanged(rcwlState); } LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); } void waitForRCWL() { } void reportRCWLStateChanged( byte state ) { pinMode(BLE_VCC_PIN, OUTPUT); digitalWrite(BLE_VCC_PIN, HIGH); delay(1000); JDY8 ble(BLE_RX, BLE_TX, BLE_RESET); ble.setData(0, state, true); pinMode(BLE_RX, INPUT); pinMode(BLE_TX, INPUT); LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); digitalWrite(BLE_VCC_PIN, LOW); pinMode(BLE_VCC_PIN, INPUT); } ``` **Схема устройства** ![схема](https://github.com/cutecare/cutecare-docs/blob/master/images/MotionDetectorRadio_bb.png?raw=true) **Настройка HASS** Файл: /config/configuration.yaml ``` binary_sensor: - platform: cutecare name: Motion detector mac: 3c:a3:08:c6:82:10 ``` Файл: /config/customize.yaml ``` binary_sensor.motion_detector: friendly_name: Движение ``` В приложении вы сможете отслеживать изменение состояния датчика: **Автоматизация** Здесь приведен достаточно простой пример автоматизации, который включает свет на кухне при обнаружении движения и отключает его через 10 минут после последнего обнаруженного движения. Конечно, более реалистичный сценарий потребует некоторого усложнения. Файл: /config/automations.yaml ``` - alias: Включить свет на кухне, если обнаружено движение trigger: platform: state entity_id: binary_sensor.motion_detector to: 'on' action: service: homeassistant.turn_on entity_id: light.kitchen_light - alias: Выключить свет на кухне через 10 минут после последнего движения trigger: platform: state entity_id: binary_sensor.motion_detector to: 'off' for: minutes: 10 action: service: homeassistant.turn_off entity_id: light.kitchen_light ```