#define BUTTON_PIN 0
#define RED_LED_PIN 1
#define GREEN_LED_PIN 2
#define RELAY_PIN 3
boolean iswitch = 0;
boolean flag_button = 0;
static uint32_t previousMillis;
//#define MY_DEBUG
#define MY_DISABLED_SERIAL
#define MY_RADIO_NRF5_ESB
//#define MY_NRF5_ESB_PA_LEVEL (NRF5_PA_LOW)
#define MY_NRF5_ESB_PA_LEVEL (NRF5_PA_MAX)
//#define MY_PASSIVE_NODE
#define MY_NODE_ID 201
#define MY_PARENT_NODE_ID 0
#define MY_PARENT_NODE_IS_STATIC
#define MY_TRANSPORT_UPLINK_CHECK_DISABLED
#define RELAY_ID 1
#include <MySensors.h>
MyMessage lMsg(RELAY_ID, V_STATUS);
void preHwInit() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(RED_LED_PIN, OUTPUT);
pinMode(GREEN_LED_PIN, OUTPUT);
pinMode(RELAY_PIN, OUTPUT);
}
void before()
{
digitalWrite(RED_LED_PIN, HIGH);
}
void presentation()
{
sendSketchInfo("REDMOND R nRF51", "1.0");
wait(300);
present(RELAY_ID, S_BINARY, "RELAY SWITCH");
wait(300);
}
void setup()
{
digitalWrite(RED_LED_PIN, LOW);
wait(300);
digitalWrite(GREEN_LED_PIN, HIGH);
wait(200);
digitalWrite(GREEN_LED_PIN, LOW);
wait(200);
digitalWrite(GREEN_LED_PIN, HIGH);
wait(200);
digitalWrite(GREEN_LED_PIN, LOW);
wait(200);
digitalWrite(GREEN_LED_PIN, HIGH);
wait(200);
digitalWrite(GREEN_LED_PIN, LOW);
wait(500);
send(lMsg.set(iswitch));
wait(500);
}
void loop()
{
if (digitalRead(BUTTON_PIN) == LOW && flag_button == 0) {
flag_button = 1;
previousMillis = millis();
wait(20);
}
if (digitalRead(BUTTON_PIN) == LOW && flag_button == 1) {
//что нибудь потом добавить, может быть
}
if (digitalRead(BUTTON_PIN) == HIGH && flag_button == 1) {
if ((millis() - previousMillis > 0) && (millis() - previousMillis <= 3000)) {
if (iswitch == 0) {
digitalWrite(GREEN_LED_PIN, HIGH);
wait(10);
} else if (iswitch == 1) {
digitalWrite(GREEN_LED_PIN, LOW);
wait(10);
}
flag_button = 0;
iswitch = !iswitch;
digitalWrite(RELAY_PIN, iswitch);
wait(1500);
send(lMsg.set(iswitch));
}
if (millis() - previousMillis > 3000)
{
flag_button = 0;
}
}
}
void receive(const MyMessage & message) {
if (message.type == V_STATUS) {
if (message.sensor == RELAY_ID) {
if (mGetCommand(message) == 1) {
if (message.isAck()) {
//AckG = 1;
} else {
wait(50);
if (iswitch == 0) {
digitalWrite(GREEN_LED_PIN, HIGH);
}else
if (iswitch == 1) {
digitalWrite(GREEN_LED_PIN, LOW);
}
iswitch = !iswitch;
wait(10);
digitalWrite(RELAY_PIN, iswitch);
wait(1500);
send(lMsg.set(iswitch));
}
}
if (mGetCommand(message) == 2) {
}
}
}
}
+53 |
2302
67
|
+29 |
2666
42
|
+164 |
3618
48
|
Можете сделать фотку модуля 51822?
Upd: глянул доки, все там есть, dc-dc может не работать только если жадные китайцы не поставили дроссель на модуль nrf
There is NO way to heat up water if Keep Warm mode is off.
обычно используется mqtt поверх тцпип или зигби и усб адаптер для кучи всяких готовых датчиков или самопальных на базе зигби
недавно писал одному клиенту, который хотел сделать мониторинг напряжений в 11 точках на зигби, так малость изучил эту систему и протокол
а бт мало подходит для автоматики, чисто костыль
только если тупо с телефона щелкать
а где температурный датчик?((
Хочу такую розетку европейскую БЕЗ переходников, что бы дистанционно включать отопление (калорифер 1000Вт) с контролем температуры.
Sonoff замечательно, но не хочу возиться с проводкой.((
Кто-что посоветует?
Розеток то все наделали, но или беда с датчиком, либо с штекером!
Или ваш т.датчик увидится через приложение Редмонда?
PS… не понял сначала про какой датчик,… да мой датчик естественно не видит приложение редмонд, и розетка теперь его не видит. Датчики я делаю сам такие или такие или даже такие и работает это все на MySensors
Так и приходится гейты на esp и arduino делать, а ноды на NRF
https://aliexpress.com/item/item/32950360272.html
Wi-Fi + RF:
https://aliexpress.com/item/item/32952150158.html
или совсем дешёвый вариант:
https://aliexpress.com/item/item/32993647682.html
если вы пишете обзоры в интернете для большой аудитории людей, не кажется ли вам, что эти обзоры должны быть написаны грамотно?
если нет, забейте.
Кто хочет начать «с нуля», найдите мою статью на Гиктаймс, там все разжевано, и тема ВТ раскрыта
б) многим он ближе/понятнее, чем MySensors
Если что, я довольно часто пишу в тему nrf5 action! на форуме mysensors, а дома у меня все датчики на них (еще со времен nRF24)
Статья: habr.com/ru/post/407683/
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.