Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/radiopizza/esp-alarm

Wireless alarm system using ESP-NOW
https://github.com/radiopizza/esp-alarm

alarm-system cpp electronics embedded esp-now esp8266 microcontroller-firmware

Last synced: about 1 month ago
JSON representation

Wireless alarm system using ESP-NOW

Awesome Lists containing this project

README

        

# ESP-alarm
## Содержание
* [Описание проекта](#chapter-0)
* [Папки проекта](#chapter-1)
* [Схема макета](#chapter-2)
* [Установка](#chapter-3)


## Описание проекта
ESP-alarm - это проект беспроводной системы тревоги, использующий пару ESP8266. Для моментальной передачи сигнала о срабатывании датчика (например, нажатие кнопки или срабатывание датчика движения) от одного устройства к другому, чтобы активировать сигнал тревоги, используется ESP-NOW (упрощенный протокол связи WiFi с передачей коротких пакетов между парами сопряженных устройств).

### Используемые компоненты
1. 2x Wemos D1 Mini
2. Тактовая кнопка
3. Светодиод
4. Резистор 10 кОм (pull-up)
5. Резистор 100 Ом (ограничение тока светодиода)


## Папки
- **circuits** - электрические схемы
- **firmware** - прошивки для микроконтроллеров
- **libraries** - все необходимые библиотеки, испрользуемые в коде


## Схема макета
![PrototypeCircuit](/circuits/PrototypeCircuit.png)
- К любому пину ESP-отправителя подключается кнопка, используется подтягивающий резистор R1 любого большого сопротивления, например 10 кОм. Эта кнопка может быть заменена на цифровой датчик.
- К любому пину ESP-приёмника подключается светодиод через токоограничивабщий резситор R2

### Расчёт токоограничивающего резистора
Для расчета токоограничивающего резистора для светодиода можно использовать следующую формулу:
$$R2 = \frac{V_{СС} - V_{LED}}{I_{LED}} \$$
Где:
- $R2$ — номинал токоограничивающего резистора, Ом *(если рассчитанный номинал не соответствует стандартному ряду, выберите ближайшее большее значение)*
- $V_{CC}$ — напряжение питания, В *(у ESP это 3,3 В)*
- $V_{LED}$ — падение напряжения на светодиоде, В *(зависит от цвета светодиода и может варьироваться)*
- $I_{LED}$ — номинальный ток светодиода, А *(зависит от светодиода, обычно от 10 мА до 20 мА)*


## Установка
1. Установить и запустить Arduino IDE - [официальный сайт](https://www.arduino.cc/en/software')
2. Установить драйвера для контроллеров:
* CH340/CH341 - [официальный сайт](https://wch-ic.com/downloads/CH341SER_EXE.html)
* CP2102 - [официальный сайт](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers)
3. Добавить допополнительные ссылки для менеджера плат:
* `Arduino IDE/Файл/Настройки/Дополнительные ссылки …`
- `http://arduino.esp8266.com/stable/package_esp8266com_index.json`
4. Установить в менеджере плат:
* `ESP8266 boards` рекомендуется версия 2.7.4
5. Скачать архив с проектом
6. Установить библиотеки (заменить имеющиеся версии) в
* `C:\Program Files (x86)\Arduino\libraries\` (Windows x64)
* `C:\Program Files\Arduino\libraries\` (Windows x86)
7. По очереди открыть файлы прошивки для каждого из микроконтроллеров, выбирая использумые платы и порт, прошить их
* `LOLIN Wemos D1 R2 & mini` изменяйте в зависимости от используемой платы

### Настройки в коде
#### Прошивка TX - Передатчик
```cpp
// Настройка пинов подключения
#define BTN_PIN 14 // это D5 на Wemos

// MAC адрес приёмника
uint8_t broadcastAddress[] = {0x48, 0x55, 0x19, 0xDE, 0xB3, 0x6B};
```
#### Прошивка RX - Приёмник
```cpp
// Настройка пинов подключения
#define LED_PIN 2 // это D4 на Wemos
```