2ks LILYGO TTGO LORA SX1278 ESP32 0,96 OLED zobrazovací modul 16 Mt Byt? 128 Mt bit) 433Mhz – Pouze na palub?
41,99 $
Aktualizovat informace:
Popis výrobku:
Obvod nabíjení a vybíjení lithiové baterie, kdy je baterie plná, modrá LED p?estane fungovat. P?i pouívání dávejte pozor na kladný a záporný pól baterie, jinak dojde k jejímu pokození.
Pomocí dotykového vstupu signálu dotykové obrazovky IO portu musíte na tento kolík p?idat stahovací kondenzátor 100nF!
Tento produkt je ?ip SX1278 zaloený na ESP32 WIFI zvýené OLED, konkrétn? LoRa vzdálený modem, frekvence 433MHz, vysoká citlivost je asi -148dBm, výstupní výkon +20dBm, vysoká spolehlivost, dlouhá p?enosová vzdálenost.
Palubní 16 Mt bajt? (128 Mt bit), Wi-Fi anténa, 0,96palcový modrý OLED displej, obvod nabíjení lithiové baterie, rozhraní CP2102 a sériový ?ip USB, perfektní podpora pro vývojové prost?edí, lze pouít pro ov??ení programu a vývoj produktu je velmi jednoduchý a rychlý.
Provozní nap?tí: 3,3V a 7V
Rozsah provozních teplot: -40 °C a +90 °C
Podpora reim? Sniffer, Station, softAP a Wi-Fi Direct
P?enosové rychlosti: 150 Mbps@11n HT40, 72 Mbps@11n HT20, 54 Mbps@11g, 11 Mbps@11b
Vysílací výkon: 19,5 dBm@11b, 16,5 dBm@11g, 15,5 dBm@11n
Citlivost p?ijíma?e a -98 dBm
UDP udrovaná propustnost 135 Mbps
Popis reference pinu:
Pro více informací o produktu klikn?te na https://drive.google.com/file/d/1L8ll-DeAC2SATBZn0-KbSaZsrinbnXkF/view
Podrobnosti testu:
Kliknutím na odkazy zobrazíte dalí podrobnosti: https://eyun.baidu.com/s/3hsiTNgg
Poznámka: Tento produkt neobsahuje baterii.
Balí?ek obsahuje:
2 x ESP32 OLED
2 x Line
4 x pin
2 x 433m pruinová anténa
Nap?íklad jedna:
(1) LoRaSender
#zahrnout
#zahrnout
#zahrnout
// GPIO5 -- SCK SX1278
// GPIO19 -- MISO SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 -- CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- IRQ SX1278 (poadavek na p?eruení)
#definujte SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
int ?íta? = 0;
void setup() {
pinMode(25,VYSTUP); //Odeslání bylo úsp?né, LED se rozsvítí na 1 sekundu
Serial.begin(115200);
zatímco (!Seriál); //Pokud jde jen o základní funkci, musí se p?ipojit k po?íta?i
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0);
// Serial.println("LoRa Sender");
if (!LoRa.begin(BAND)) {
Serial.println("Sput?ní LoRa se nezda?ilo!");
zatímco (1);
}
Serial.println("LoRa Initial OK!");
}
prázdná smy?ka () {
Serial.print("Odesílání paketu: ");
Serial.println(counter);
// odeslání paketu
LoRa.beginPacket();
LoRa.print("ahoj");
LoRa.print(po?ítadlo);
LoRa.endPacket();
?íta?++;
digitalWrite(25, VYSOKÝ); // zapn?te LED (HIGH je úrove? nap?tí)
zpod?ní(1000); // po?kejte chvíli
digitalWrite(25, NÍZKÁ); // vypn?te LED tak, e snííte nap?tí
zpod?ní(1000); // po?kejte chvíli
zpod?ní(3000);
}
Nap?íklad Dva
(2)LoRaReceiver
#zahrnout
#zahrnout
// GPIO5 -- SCK SX1278
// GPIO19 -- MISO SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 -- CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- IRQ SX1278 (poadavek na p?eruení)
#definujte SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
void setup() {
Serial.begin(115200);
zatímco (!Seriál); //pokud jde jen o základní funkci, musí se p?ipojit k po?íta?i
zpod?ní(1000);
Serial.println("P?ijíma? LoRa");
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0);
if (!LoRa.begin(BAND)) {
Serial.println("Sput?ní LoRa se nezda?ilo!");
zatímco (1);
}
}
prázdná smy?ka () {
// pokus o analýzu paketu
int packetSize = LoRa.parsePacket();
if (packetSize) {
// p?ijatý paket
Serial.print("P?ijatý paket '");
// p?e?tení paketu
while (LoRa.available()) {
Serial.print((char)LoRa.read());
}
// tisk RSSI paketu
Serial.print("' s RSSI ");
Serial.println(LoRa.packetRssi());
}
}
Nap?íklad t?i
(3)LoRaReceiverCallback
#zahrnout
#zahrnout
// GPIO5 -- SCK SX1278
// GPIO19 -- MISO SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 -- CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- IRQ SX1278 (poadavek na p?eruení)
#definujte SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
void setup() {
Serial.begin(115200);
zatímco (!Seriál); //pokud jde jen o základní funkci, musí se p?ipojit k po?íta?i
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0);
Serial.println("Zp?tné volání p?ijíma?e LoRa");
if (!LoRa.begin(BAND)) {
Serial.println("Sput?ní LoRa se nezda?ilo!");
zatímco (1);
}
// registrace zp?tného volání pro p?íjem
LoRa.onReceive(onReceive);
// p?epn?te rádio do reimu p?íjmu
LoRa.receive();
}
prázdná smy?ka () {
// ned?lat nic
}
void onReceive (int packetSize) {
// p?ijatý paket
Serial.print("P?ijatý paket '");
// p?e?tení paketu
for (int i = 0; i < packetSize; i++) {
Serial.print((char)LoRa.read());
}
// tisk RSSI paketu
Serial.print("' s RSSI ");
Serial.println(LoRa.packetRssi());
}
?
Nap?íklad ?ty?i
#zahrnout // Pot?ebné pouze pro 1.6.5 a starí
#zahrnout "SSD1306.h" // alias pro `#zahrnout "SSD1306Wire.h"`
#zahrnout "images.h"
// OLED piny k ESP32 0,96OLEDGPIO p?es toto p?ipojení:
//OLED_SDA -- GPIO4
//OLED_SCL -- GPIO15
//OLED_RST -- GPIO16
Displej SSD1306 (0x3c, 4, 15);
#define DEMO_DURATION 3000
typedef void (*Demo)(void);
int demoMode = 0;
int ?íta? = 1;
void setup() {
pinMode(16,VYSTUP);
digitalWrite(16, NÍZKÁ); // nastavením GPIO16 na nízkou hodnotu resetujete OLED
zpod?ní(50);
digitalWrite(16, VYSOKÝ); // kdy OLED b?í, je t?eba nastavit GPIO16 na vysokou
Serial.begin(115200);
Serial.println();
Serial.println();
// Inicializace uivatelského rozhraní spustí také zobrazení.
display.init();
display.flipScreenVerticky();
display.setFont(ArialMT_Plain_10);
}
void drawFontFaceDemo() {
// Demo písma1
// vytvo?it více písem na http://oleddisplay.squix.ch/
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.setFont(ArialMT_Plain_10);
display.drawString(0, 0, "Ahoj sv?te");
display.setFont(ArialMT_Plain_16);
display.drawString(0, 10, "Ahoj sv?te");
display.setFont(ArialMT_Plain_24);
display.drawString(0, 26, "Ahoj sv?te");
}
void drawTextFlowDemo() {
display.setFont(ArialMT_Plain_10);
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawStringMaxWidth(0, 0, 128,
"Lorem ipsumn dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore." );
}
void drawTextAlignmentDemo() {
// Ukázka zarovnání textu
display.setFont(ArialMT_Plain_10);
// Sou?adnice definují levý po?áte?ní bod textu
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawString(0, 10, "Zarovnáno doleva (0,10)");
// Sou?adnice definují st?ed textu
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 22, "Zarovnáno na st?ed (64,22)");
// Sou?adnice definují pravý konec textu
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(128, 33, "Zarovnáno doprava (128,33)");
}
void drawRectDemo() {
// Nakreslete pixel na dané pozici
for (int i = 0; i < 10; i++) {
display.setPixel(i, i);
display.setPixel(10 - i, i);
}
display.drawRect(12, 12, 20, 20);
// Vypl?te obdélník
display.fillRect(14, 14, 17, 17);
// Nakreslete ?áru vodorovn?
display.drawHorizontalLine(0, 40, 20);
// Nakreslete ?áru vodorovn?
display.drawVerticalLine(40, 0, 20);
}
void drawCircleDemo() {
pro (int i=1; i < 8; i++) {
display.setColor(WHITE);
display.drawCircle(32, 32, i*3);
if (i % 2 == 0) {
display.setColor(BLACK);
}
display.fillCircle(96, 32, 32 - i* 3);
}
}
void drawProgressBarDemo() {
int progress = (po?ítadlo / 5) % 100;
// nakreslí ukazatel pr?b?hu
display.drawProgressBar(0, 32, 120, 10, pr?b?h);
// vykreslí procento jako ?et?zec
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 15, String(progres) + "%");
}
void drawImageDemo() {
// viz http://blog.squix.org/2015/05/esp8266-nodemcu-how-to-create-xbm.html
// o tom, jak vytvo?it soubory xbm
display.drawXbm(34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);
}
Demo ukázky[] = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof(demo) / sizeof(Demo));
long timeSinceLastModeSwitch = 0;
prázdná smy?ka () {
// vymazání displeje
display.clear();
// nakreslí aktuální demo metodu
demos[demoMode]();
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(10, 128, String(millis()));
// zápis bufferu na display
display.display();
if (millis() - timeSinceLastModeSwitch > DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength;
timeSinceLastModeSwitch = millis();
}
?íta?++;
zpod?ní(10);
}