Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/radiopizza/esp-alarm
- Owner: RadioPizza
- Created: 2024-03-27T21:04:22.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-03-31T23:28:55.000Z (9 months ago)
- Last Synced: 2024-04-02T00:25:22.553Z (9 months ago)
- Topics: alarm-system, cpp, electronics, embedded, esp-now, esp8266, microcontroller-firmware
- Language: C++
- Homepage:
- Size: 698 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
```