2021-05-25 00:04:06 +03:00
add
2021-05-25 00:04:06 +03:00
add
2021-05-25 00:04:06 +03:00
add
2021-05-25 00:04:06 +03:00
2021-05-24 23:57:35 +03:00
add
2021-05-25 00:04:06 +03:00
add
2021-05-25 00:04:06 +03:00
2021-05-24 23:57:35 +03:00
add
2021-05-25 00:04:06 +03:00

License: MIT author

Gyver433_TX

Библиотека для радиомодулей 433 МГц и Arduino

  • Не использует прерывания и таймеры (кроме нулевого, читает micros())
  • Встроенный CRC контроль целостности
  • Ускоренный алгоритм IO для AVR Arduino

Совместимость

Совместима со всеми Arduino платформами (используются Arduino-функции)

Содержание

Установка

  • Библиотеку можно найти по названию Gyver433_TX и установить через менеджер библиотек в:
    • Arduino IDE
    • Arduino IDE v2
    • PlatformIO
  • Скачать библиотеку .zip архивом для ручной установки:
    • Распаковать и положить в C:\Program Files (x86)\Arduino\libraries (Windows x64)
    • Распаковать и положить в C:\Program Files\Arduino\libraries (Windows x32)
    • Распаковать и положить в Документы/Arduino/libraries/
    • (Arduino IDE) автоматическая установка из .zip: Скетч/Подключить библиотеку/Добавить .ZIP библиотеку… и указать скачанный архив
  • Читай более подробную инструкцию по установке библиотек здесь

Инициализация

// указать пин
Gyver433_RX rx(2);
Gyver433_TX tx(2);

Использование

// ========= Gyver433_TX =========
void sendData(T &data);     // отправить данные любого типа

// ========= Gyver433_RX =========
uint8_t tick();             // неблокирующий приём, вернёт кол-во успешно принятых байт
uint8_t tickWait();         // блокирующий приём, вернёт кол-во успешно принятых байт
bool readData(T &data);     // прочитает буфер в любой тип данных (в указанную переменную)
int getSize();              // получить размер принятых данных

Пример

Остальные примеры смотри в examples!

Отправка

// мелкий передатчик 3.6V SYN115

#define G433_BUFSIZE 50   // размер буфера
#define G433_SPEED 2000   // скорость бит/сек (минимальная)

#include <Gyver433.h>
Gyver433_TX tx(2);  // указали пин

void setup() {
}

char data[] = "Hello from #xx";
byte count = 0;
void loop() {
  data[12] = (count / 10) + '0';
  data[13] = (count % 10) + '0';
  if (++count >= 100) count = 0;
  tx.sendData(data);  
  delay(100);
}

Приём

// крупный приёмник 5.0 SYN480R

#define G433_BUFSIZE 50   // размер буфера
#define G433_SPEED 2000   // скорость бит/сек (минимальная)

#include <Gyver433.h>
Gyver433_RX rx(2);

void setup() {
  Serial.begin(9600);
}


void loop() {
  // tick принимает асинхронно, но может ловить ошибки при загруженном коде
  // tickWait блокирует выполнение, но принимает данные чётко
  if (rx.tickWait()) {
    byte buf[64];
    rx.readData(buf);
    for (byte i = 0; i < rx.size; i++) Serial.write(buf[i]);
  }
}

Версии

  • v1.0

Баги и обратная связь

При нахождении багов создавайте Issue, а лучше сразу пишите на почту alex@alexgyver.ru
Библиотека открыта для доработки и ваших Pull Request'ов!

S
Description
No description provided
Readme MIT 1,012 KiB
Languages
C++ 97.8%
C 2.2%