W Banggood używamy plików cookie i innych podobnych technologii, aby zapewnić Ci niezbędne funkcjonalności i zagregowane statystyki.
Używamy również opcjonalnych plików cookie, aby zapewnić lepsze wrażenia z:
Możesz nie zezwalać na niektóre typy plików cookie w „Ustawieniach plików cookie”. Jeśli chcesz dowiedzieć się więcej na ten temat, możesz przesunąć palcem w dół strony, aby zapoznać się z Polityką prywatności
Kiedy odwiedzasz jakąkolwiek stronę internetową, może ona przechowywać lub pobierać informacje w Twojej przeglądarce, głównie w postaci plików cookie. Informacje te mogą dotyczyć Ciebie, Twoich preferencji lub Twojego urządzenia i są wykorzystywane głównie do tego, aby witryna działała zgodnie z Twoimi oczekiwaniami. Informacje te zazwyczaj nie identyfikują Cię bezpośrednio, ale mogą zapewnić bardziej spersonalizowane korzystanie z Internetu.
Ponieważ szanujemy Twoje prawo do prywatności, możesz nie zezwalać na niektóre rodzaje plików cookie. Jednak zablokowanie niektórych rodzajów plików cookie może wpłynąć na korzystanie z witryny i usługi, które jesteśmy w stanie zaoferować.
{{$productInfo.reviewAmount.average}} z5
Aby uzyskać więcej informacji o produkcie, kliknij https://drive.google.com/file/d/1L8ll-DeAC2SATBZn0-KbSaZsrinbnXkF/view
Kliknij linki, aby uzyskać więcej szczegółów: https://eyun.baidu.com/s/3hsiTNgg
Uwaga: Ten produkt nie zawiera baterii.
Pakiet zawiera:
2 x ESP32 OLED
2 x Line
4 x pin
2 x 433m Antena sprężynowa
Na przykład jedno:
(1) LoRaSender
#include
#include
#include
// GPIO5 -- SCK SX1278
// GPIO19 -- MISO SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 - CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- IRQ (Żądanie Przerwania) SX1278
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
int licznik = 0;
void setup() {
pinMode(25,OUTPUT); //Wysyłanie powodzenia, LED będzie świecić przez 1 sekundę
Serial.begin(115200);
podczas (!Serial); // Jeśli tylko podstawowe zadanie, musisz podłączyć się do komputera
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0);
//Serial.println("LoRa Sender");
if (!LoRa.begin(BAND)) {
Serial.println("Błąd podczas uruchamiania LoRa!");
podczas (1);
}
Serial.println("LoRa Initial OK!");
}
pętla nieskończona {
Serial.print("Wysyłanie pakietu: ");
Serial.println(counter);
// wysłać pakiet
LoRa.beginPacket();
LoRa.print("Cześć ");
LoRa.drukuj(counter);
LoRa.endPacket();
counter++;
digitalWrite(25, HIGH); // włącz diodę LED (HIGH jest poziomem napięcia)
opóźnienie(1000); // czekaj przez sekundę
digitalWrite(25, NISKI); // wyłącz diodę LED, ustawiając niskie napięcie
opóźnienie(1000); // czekaj przez sekundę
opóźnienie(3000);
}
Na przykład Dwa
(2)LoRaReceiver
#include
#include
// GPIO5 -- SCK SX1278
// GPIO19 -- MISO SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 - CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- IRQ (Żądanie Przerwania) SX1278
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
void setup() {
Serial.begin(115200);
podczas (!Serial); //jeśli tylko podstawowa funkcja, musi połączyć się z komputerem
opóźnienie(1000);
Serial.println("Odbiornik LoRa");
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0);
if (!LoRa.begin(BAND)) {
Serial.println("Błąd podczas uruchamiania LoRa!");
podczas (1);
}
}
pętla nieskończona {
// próbuj parsować paczkę
int rozmiarPakietu = LoRa.parsePacket();
if (packetSize) {
// odebrano paczkę
Serial.print("Otrzymano pakiet '");
// odczytaj pakiet
podczas (LoRa.dostępne()) {
Serial.print((char)LoRa.read());
}
// wyświetl RSSI pakietu
Serial.print("' z RSSI ");
Serial.println(LoRa.packetRssi());
}
}
Na przykład trzy
(3) LoRaReceiverCallback
#include
#include
// GPIO5 -- SCK SX1278
// GPIO19 -- MISO SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 - CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- IRQ (Żądanie Przerwania) SX1278
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
void setup() {
Serial.begin(115200);
podczas (!Serial); //jeśli tylko podstawowa funkcja, musi połączyć się z komputerem
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0);
Serial.println("Wywołanie zwrotne odbiornika LoRa");
if (!LoRa.begin(BAND)) {
Serial.println("Błąd podczas uruchamiania LoRa!");
podczas (1);
}
// zarejestruj funkcję wywołującą odbieranie
LoRa.onReceive(onReceive);
// umieść radio w trybie odbioru
LoRa.odbierz();
}
pętla nieskończona {
// nic nie rób
}
void onReceive(int packetSize) {
// odebrano paczkę
Serial.print("Otrzymano pakiet '");
// odczytaj pakiet
for (int i = 0; i < packetSize; i++) {
Serial.print((char)LoRa.read());
}
// wyświetl RSSI pakietu
Serial.print("' z RSSI ");
Serial.println(LoRa.packetRssi());
}
?
Na przykład cztery
#include // Wymagane tylko dla wersji 1.6.5 i starszej
#include "SSD1306.h" // alias dla `#include "SSD1306Wire.h"`
#include "images.h
//Piny OLED do ESP32 0.96OLEDGPIOs przez to połączenie:
//OLED_SDA -- GPIO4
//OLED_SCL -- GPIO15
//OLED_RST -- GPIO16
SSD1306 wyświetlacz(0x3c, 4, 15);
#definiuj DEMO_DURATION 3000
typedef void (*Demo)(void);
int demoMode = 0;
int licznik = 1;
void setup() {
pinMode(16,WYJŚCIE);
digitalWrite(16, NISKI); // ustaw GPIO16 jako niski, aby zresetować OLED
opóźnienie(50);
digitalWrite(16, HIGH); // podczas działania OLED, należy ustawić GPIO16 na wysoki
Serial.begin(115200);
Serial.println();
Serial.println();
// Inicjalizacja interfejsu użytkownika spowoduje także inicjalizację wyświetlania.
display.init();
display.flipScreenVertically();
display.setFont(ArialMT_Plain_10);
}
void drawFontFaceDemo() {
// Demo czcionki1
// utwórz więcej czcionek na stronie 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,"Hello world");
}
void drawTextFlowDemo() {
display.setFont(ArialMT_Plain_10);
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawStringMaxWidth(0, 0, 128,
Lorem ipsumn dolor siedzę amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore." );
}
void wyświetlPrzykładWyrównaniaTekstu() {
// Demo wyświetlania tekstu
display.setFont(ArialMT_Plain_10);
// Współrzędne określają lewy punkt startowy tekstu
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawString(0, 10, "Wyrównane do lewej (0,10)")
// Współrzędne definiują środek tekstu
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 22, "Wyśrodkowany (64,22)");
// Współrzędne definiują prawy koniec tekstu
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(128, 33, "Wyrównane do prawej (128,33)")
}
void drawRectDemo() {
// Narysuj piksel na podanej pozycji
for (int i = 0; i < 10; i++) {
display.setPixel(i, i);
display.setPixel(10 - i, i);
}
display.drawRect(12, 12, 20, 20);
// Wypełnij prostokąt
display.fillRect(14, 14, 17, 17);
// Narysuj linię poziomo
display.drawHorizontalLine(0, 40, 20);
// Narysuj linię poziomo
display.drawVerticalLine(40, 0, 20);
}
void rysujOkragDemo() {
dla (int i=1; i < 8; i++) {
Wyświetlacz.ustawKolor(BIAŁY);
display.drawCircle(32, 32, i*3);
if (i % 2 == 0) {
display.setColor(CZARNY);
}
display.fillCircle(96, 32, 32 - i* 3);
}
}
void rysujDemoPaskaPostępu() {
int postęp = (licznik / 5) % 100;
// narysuj pasek postępu
display.drawProgressBar(0, 32, 120, 10, progress);
// narysuj procent jako String
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 15, String(progress) + "%");
}
void drawImageDemo() {
// zobacz http://blog.squix.org/2015/05/esp8266-nodemcu-jak-stworzyc-xbm.html
// na temat tworzenia plików xbm
display.drawXbm(34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);
}
Demo demos[] = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof(demos) / sizeof(Demo));
long timeSinceLastModeSwitch = 0;
pętla nieskończona {
// wyczyść wyświetlacz
display.clear();
// rysuj aktualną metodę demo
demos[demoMode]();
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(10, 128, String(millis()));
// zapisz bufor na wyświetlaczu
display.display();
jeżeli (milisekundy() - czasOdOstatniegoPrzełączeniaTrybu > CZAS_TRWANIA_DEMO) {
demoMode = (demoMode + 1) % demoLength;
czasOdOstatniegoPrzełączeniaTrybu = millis();
}
counter++;
opóźnij(10);
}
Metoda wysyłki | Czas wysyłki | Informacje o śledzeniu |
---|