Productomschrijving:
De 433MHz-antenne moet worden gebruikt in combinatie met de IPEX-interface (als de antenne niet is aangesloten, kan de LoRa-chip beschadigen)Lithium batterij opladen en ontladen circuit, wanneer de batterij vol is, zal de blauwe LED stoppen met werken. Let tijdens gebruik op het positieve en negatieve van de batterij, anders wordt deze beschadigd.
Met behulp van de aanraakscherminvoer van de IO-poort aanraakscherm, moet u de 100nF aftrekcondensator bij deze pin toevoegen!
Dit product is een SX1278-chip op basis van ESP32 WIFI-enhanced OLED, namelijk LoRa remote modem, 433MHz-frequentie, hoge gevoeligheid is ongeveer -148dBm, + 20dBm uitgangsvermogen, hoge betrouwbaarheid, lange transmissieafstand.
De ingebouwde 16 Mt bytes (128 Mt bit), wifi-antenne, 0,96 inch blauw OLED-display, oplaadcircuit voor lithiumbatterijen, CP2102-interface en USB-seriële chip, de perfecte ondersteuning voor ontwikkelomgeving, kunnen worden gebruikt voor programmaverificatie en productontwikkeling is heel eenvoudig en snel.
Bedrijfsspanning: 3.3V tot 7V
Bedrijfstemperatuurbereik: -40 graden C tot +90 graden C
Ondersteuning voor Sniffer-, Station-, SoftAP- en Wi-Fi Direct-modi
Gegevensnelheden: 150 Mbps @ 11n HT40, 72 Mbps @ 11n HT20, 54 Mbps @ 11g, 11 Mbps @ 11b
Zendvermogen: 19,5 dBm @ 11b, 16,5 dBm @ 11g, 15,5 dBm @ 11n
Ontvanger gevoeligheid tot -98 dBm
UDP duurzame doorvoer van 135 Mbps

Pin referentie omschrijving:

Klik voor meer productinformatie op https://drive.google.com/file/d/1L8ll-DeAC2SATBZn0-KbSaZsrinbnXkF/view
Test details:


Klik links voor meer details: https://eyun.baidu.com/s/3hsiTNgg
Opmerking: dit product bevat geen batterij.
Pakket inbegrepen:
2 x ESP32 OLED
2 x Line
4 x pin
2 x 433m lenteantenne
Bijvoorbeeld One:
(1) LoRaSender
#include
#include
#include
// GPIO5 - SCK van SX1278
// GPIO19 - MISO van SX1278
// GPIO27 - MOSI van SX1278
// GPIO18 - CS CS van CS
// GPIO14 - RESET VAN SX1278
// GPIO26 - IRQ van SX1278 (Interruptieverzoek)
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
int-teller = 0;
Void setup () {
pinMode (25, OUTPUT); // Verstuur succes, LED licht 1 seconde op
Serial.begin (115200);
terwijl (! Serieel); // Als alleen de basisfunctie moet worden aangesloten op een computer
SPI.begin (5,19,27,18);
LoRa.setPins (SS, RST, DI0);
// Serial.println ("LoRa Sender");
if (! LoRa.begin (BAND)) {
Serial.println ("Start LoRa mislukt!");
terwijl (1);
}
Serial.println ("LoRa Initial OK!");
}
Void loop () {
Serial.print ("Verzendpakket:");
Serial.println (teller);
// verzend pakket
LoRa.beginPacket ();
LoRa.print ("hallo");
LoRa.print (teller);
LoRa.endPacket ();
teller ++;
digitalWrite (25, HIGH); // zet de LED aan (HIGH is het spanningsniveau)
delay (1000); // wacht even
digitalWrite (25, LOW); // zet de LED uit door de spanning LAAG te maken
delay (1000); // wacht even
delay (3000);
}
Bijvoorbeeld twee
(2) LoRaReceiver
#include
#include
// GPIO5 - SCK van SX1278
// GPIO19 - MISO van SX1278
// GPIO27 - MOSI van SX1278
// GPIO18 - CS CS van CS
// GPIO14 - RESET VAN SX1278
// GPIO26 - IRQ van SX1278 (Interruptieverzoek)
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
Void setup () {
Serial.begin (115200);
while (! Serial); // als alleen de basisfunctie verbinding moet maken met een computer
delay (1000);
Serial.println ("LoRa-ontvanger");
SPI.begin (5,19,27,18);
LoRa.setPins (SS, RST, DI0);
if (! LoRa.begin (BAND)) {
Serial.println ("Start LoRa mislukt!");
terwijl (1);
}
}
Void loop () {
// probeer pakket te ontleden
int packetSize = LoRa.parsePacket ();
if (packetSize) {
// een pakket ontvangen
Serial.print ("ontvangen pakket");
// lees pakket
while (LoRa.available ()) {
Serial.print ((char) LoRa.read ());
}
// print RSSI van pakket
Serial.print ("'met RSSI");
Serial.println (LoRa.packetRssi ());
}
}
Bijvoorbeeld drie
(3) LoRaReceiverCallback
#include
#include
// GPIO5 - SCK van SX1278
// GPIO19 - MISO van SX1278
// GPIO27 - MOSI van SX1278
// GPIO18 - CS CS van CS
// GPIO14 - RESET VAN SX1278
// GPIO26 - IRQ van SX1278 (Interruptieverzoek)
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
Void setup () {
Serial.begin (115200);
while (! Serial); // als alleen de basisfunctie verbinding moet maken met een computer
SPI.begin (5,19,27,18);
LoRa.setPins (SS, RST, DI0);
Serial.println ("LoRa Receiver Callback");
if (! LoRa.begin (BAND)) {
Serial.println ("Start LoRa mislukt!");
terwijl (1);
}
// registreer de ontvang callback
LoRa.onReceive (onReceive);
// zet de radio in ontvangstmodus
LoRa.receive ();
}
Void loop () {
// niets doen
}
void onReceive (int packetSize) {
// een pakket ontvangen
Serial.print ("ontvangen pakket");
// lees pakket
voor (int i = 0; i
}
// print RSSI van pakket
Serial.print ("'met RSSI");
Serial.println (LoRa.packetRssi ());
}
?
Bijvoorbeeld vier
#include // Alleen nodig voor 1.6.5 en eerder
# include "SSD1306.h" // alias voor `#include" SSD1306Wire.h "`
# include "images.h"
// OLED-pinnen naar ESP32 0.96OLEDGPIO's via deze connecthin:
// OLED_SDA - GPIO4
// OLED_SCL - GPIO15
// OLED_RST - GPIO16
SSD1306 display (0x3c, 4, 15);
#define DEMO_DURATION 3000
typedef void (* Demo) (void);
int demoMode = 0;
int-teller = 1;
Void setup () {
pinMode (16, OUTPUT);
digitalWrite (16, LOW); // zet GPIO16 laag om OLED opnieuw in te stellen
delay (50);
digitalWrite (16, HIGH); // terwijl OLED actief is, moet GPIO16 hoog worden ingesteld
Serial.begin (115200);
Serial.println ();
Serial.println ();
// Initialisatie van de gebruikersinterface start het display ook.
display.init ();
display.flipScreenVertically ();
display.setFont (ArialMT_Plain_10);
}
void drawFontFaceDemo () {
// Font Demo1
// maak meer lettertypen aan op http://oleddisplay.squix.ch/
display.setTextAlignment (TEXT_ALIGN_LEFT);
display.setFont (ArialMT_Plain_10);
display.drawString (0, 0, "Hello world");
display.setFont (ArialMT_Plain_16);
display.drawString (0, 10, "Hello world");
display.setFont (ArialMT_Plain_24);
display.drawString (0, 26, "Hallo wereld");
}
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 () {
// Tekstuitlijningsdemo
display.setFont (ArialMT_Plain_10);
// De coördinaten definiëren het linker startpunt van de tekst
display.setTextAlignment (TEXT_ALIGN_LEFT);
display.drawString (0, 10, "Left aligned (0,10)");
// De coördinaten bepalen het midden van de tekst
display.setTextAlignment (TEXT_ALIGN_CENTER);
display.drawString (64, 22, "Centre-aligned (64, 22)");
// De coördinaten definiëren het rechteruiteinde van de tekst
display.setTextAlignment (TEXT_ALIGN_RIGHT);
display.drawString (128, 33, "Right aligned (128,33)");
}
void drawRectDemo () {
// Teken een pixel op een bepaalde positie
voor (int i = 0; i <10; i ++) {
display.setPixel (i, i);
display.setPixel (10 - i, i);
}
display.drawRect (12, 12, 20, 20);
// Vul de rechthoek
display.fillRect (14, 14, 17, 17);
// Trek een lijn horizontaal
display.drawHorizontalLine (0, 40, 20);
// Trek een lijn horizontaal
display.drawVerticalLine (40, 0, 20);
}
void drawCircleDemo () {
voor (int i = 1; i <8; i ++) {
display.setColor (wit);
display.drawCircle (32, 32, i * 3);
if (i% 2 == 0) {
display.setColor (BLACK);
}
display.fillCircle (96, 32, 32 - i * 3);
}
}
void drawProgressBarDemo () {
int progress = (teller / 5)% 100;
// teken de voortgangsbalk
display.drawProgressBar (0, 32, 120, 10, voortgang);
// teken het percentage als tekenreeks
display.setTextAlignment (TEXT_ALIGN_CENTER);
display.drawString (64, 15, String (progress) + "%");
}
void drawImageDemo () {
// zie http://blog.squix.org/2015/05/esp8266-nodemcu-how-to-create-xbm.html
// over het maken van xbm-bestanden
display.drawXbm (34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);
}
Demomodi [] = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof (demo's) / sizeof (Demo));
long timeSinceLastModeSwitch = 0;
Void loop () {
// wis het display
display.clear ();
// teken de huidige demomethode
manifestaties [demoMode] ();
display.setTextAlignment (TEXT_ALIGN_RIGHT);
display.drawString (10, 128, String (millis ()));
// schrijf de buffer naar het scherm
Display.Display ();
if (millis () - timeSinceLastModeSwitch> DEMO_DURATION) {
demoMode = (demoMode + 1)% demoLength;
timeSinceLastModeSwitch = millis ();
}
teller ++;
delay (10);
}




