Su Banggood utilizziamo cookie e altre tecnologie simili per fornirti funzionalità essenziali e per statistiche aggregate.
Utilizziamo anche cookie opzionali per una migliore esperienza con:
Puoi scegliere di non consentire alcuni tipi di cookie tramite "Impostazioni cookie". Se vuoi saperne di più puoi scorrere fino in fondo alla pagina per visualizzare la Privacy Policy
Quando visiti un sito Web, questo può memorizzare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookie. Queste informazioni potrebbero riguardare te, le tue preferenze o il tuo dispositivo e vengono utilizzate principalmente per far funzionare il sito come ti aspetti. Le informazioni di solito non ti identificano direttamente, ma possono darti un'esperienza web più personalizzata.
Poiché rispettiamo il tuo diritto alla privacy, puoi scegliere di non consentire alcuni tipi di cookie. Tuttavia, il blocco di alcuni tipi di cookie potrebbe influire sulla tua esperienza sul sito e sui servizi che siamo in grado di offrire.
{{$productInfo.reviewAmount.average}} su 5
Per ulteriori informazioni sul prodotto, clicca su https://drive.google.com/file/d/1L8ll-DeAC2SATBZn0-KbSaZsrinbnXkF/view
Clicca sui link per ulteriori dettagli: https://eyun.baidu.com/s/3hsiTNgg
Nota: Questo prodotto non include la batteria.
Pacchetto incluso:
2 x ESP32 OLED
2 x Line
4 x pin
2 x Antenna a molla 433m
Per esempio Uno:
LoRaSender
#include
#include
#include
// GPIO5 - SCK SX1278
// GPIO19 -- MISO di SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 -- CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- IRQ (Richiesta di interruzione) di SX1278
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
int counter = 0;
void setup() {
pinMode(25,OUTPUT); //Invia successo, il LED si accenderà per 1 secondo
Serial.begin(115200);
while (!Serial); //Se solo la funzione di base, deve essere collegato a un computer
SPI.begin(5,19,27,18);
LoRa.setPins(SS, RST, DI0);
// Serial.println("LoRa Sender");
if (!LoRa.begin(BAND)) {
Serial.println("Avvio di LoRa non riuscito!");
mentre (1);
}
Serial.println("LoRa Iniziale OK!");
}
void loop() {
Serial.print("Invio del pacchetto: ");
Serial.println(counter);
// invia pacchetto
LoRa.beginPacket();
LoRa.print("ciao");
LoRa.print(counter);
LoRa.endPacket();
counter++;
digitalWrite(25, HIGH); // accendere il LED (HIGH è il livello di tensione)
ritardo(1000); // attendi per un secondo
digitalWrite(25, LOW); // spegne il LED abbassando la tensione
ritardo(1000); // attendi per un secondo
ritardo(3000);
}
Ad esempio, due
(2)Ricevitore LoRa
#include
#include
// GPIO5 - SCK SX1278
// GPIO19 -- MISO di SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 -- CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- IRQ (Richiesta di interruzione) di SX1278
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
void setup() {
Serial.begin(115200);
// mentre (!Serial); // se è solo la funzione di base, devi connetterla a un computer
ritardo(1000);
Serial.println("LoRa Receiver");
SPI.begin(5,19,27,18);
LoRa.setPins(SS, RST, DI0);
if (!LoRa.begin(BAND)) {
Serial.println("Avvio di LoRa non riuscito!");
mentre (1);
}
}
void loop() {
// prova a analizzare il pacchetto
int packetSize = LoRa.parsePacket();
se (dimensione_del_pacchetto) {
// ricevuto un pacchetto
Serial.print("Pacchetto ricevuto '");
// leggere pacchetto
while (LoRa.available()) {
Serial.print((char)LoRa.read());
}
// stampa RSSI del pacchetto
Serial.print("' con RSSI ");
Serial.println(LoRa.packetRssi());
}
}
Ad esempio, tre
(3) LoRaReceiverCallback
#include
#include
// GPIO5 - SCK SX1278
// GPIO19 -- MISO di SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 -- CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- IRQ (Richiesta di interruzione) di SX1278
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
void setup() {
Serial.begin(115200);
// mentre (!Serial); // se è solo la funzione di base, devi connetterla a un computer
SPI.begin(5,19,27,18);
LoRa.setPins(SS, RST, DI0);
Serial.println("Callback del ricevitore LoRa");
if (!LoRa.begin(BAND)) {
Serial.println("Avvio di LoRa non riuscito!");
mentre (1);
}
// registra la callback di ricezione
LoRa.onReceive(onReceive);
// metti la radio in modalità di ricezione
LoRa.receive();
}
void loop() {
// non fare nulla
}
void onReceive(int packetSize) {
// ricevuto un pacchetto
Serial.print("Pacchetto ricevuto '");
// leggere pacchetto
per (int i = 0; i < packetSize; i++) {
Serial.print((char)LoRa.read());
}
// stampa RSSI del pacchetto
Serial.print("' con RSSI ");
Serial.println(LoRa.packetRssi());
}
?
Ad esempio quattro
#include
#include "SSD1306.h" // alias per `#include "SSD1306Wire.h"`
#include "images.h
// Pin OLED a ESP32 0.96 OLEDGPIOs tramite questa connessione:
//OLED_SDA -- GPIO4
//OLED_SCL -- GPIO15
// OLED_RST - GPIO16
display SSD1306(0x3c, 4, 15);
#definire DEMO_DURATION 3000
typedef void (*Demo)(void);
int demoMode = 0;
int counter = 1;
void setup() {
pinMode(16, OUTPUT);
digitalWrite(16, LOW); // impostare GPIO16 a basso per ripristinare OLED
ritardo(50);
digitalWrite(16, HIGH); // mentre l'OLED è in esecuzione, è necessario impostare GPIO16 su alto
Serial.begin(115200);
Serial.println();
Serial.println();
// Inizializzare l'interfaccia utente inizierà anche il display.
display.init();
display.flipScreenVertically();
display.setFont(ArialMT_Plain_10);
}
void drawFontFaceDemo() {
// Demo di carattere 1
// crea più font su 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, "Ciao mondo");
display.setFont(ArialMT_Plain_24);
display.drawString(0, 26, "Ciao mondo");
}
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() {
// Demo allineamento del testo
display.setFont(ArialMT_Plain_10);
// Le coordinate definiscono il punto di inizio sinistro del testo
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawString(0, 10, "Allineato a sinistra (0,10)");
// Le coordinate definiscono il centro del testo
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 22, "Allineamento centrato (64,22)");
// Le coordinate definiscono il lato destro del testo
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(128, 33, "Allineato a destra (128,33)");
}
void drawRectDemo() {
// Disegna un pixel nella posizione specificata
per (int i = 0; i < 10; i++) {
display.setPixel(i, i);
display.setPixel(10 - i, i);
}
display.drawRect(12, 12, 20, 20);
// Riempire il rettangolo
display.fillRect(14, 14, 17, 17);
// Disegna una linea orizzontale
display.drawHorizontalLine(0, 40, 20);
// Disegna una linea orizzontale
display.drawVerticalLine(40, 0, 20);
}
void drawCircleDemo() {
per (int i=1; i < 8; i++) {
display.setColor(BIANCO);
display.drawCircle(32, 32, i*3);
if (i % 2 == 0) {
display.setColor(BLACK);
}
display.fillCircle(96, 32, 32 - i* 3);
}
}
void drawProgressBarDemo() {
int progresso = (contatore / 5) % 100;
// disegna la barra di avanzamento
display.drawProgressBar(0, 32, 120, 10, progress);
// disegnare la percentuale come Stringa
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 15, String(progress) + "%");
}
void drawImageDemo() {
// vedere http://blog.squix.org/2015/05/esp8266-nodemcu-how-to-create-xbm.html
// su come creare file 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));
tempoDallaUltimaModificaModo = 0;
void loop() {
// cancellare il display
display.clear();
// disegna il metodo di demo corrente
demos[demoMode]();
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(10, 128, String(millis()));
// scrivere il buffer sul display
display.display();
se (millis () - tempoDalUltimoCambioModalità > DURATA_DEMO) {
demoMode = (demoMode + 1) % demoLength;
timeSinceLastModeSwitch = millis();
}
counter++;
ritardo(10);
}
Metodi di spedizione(i) | Tempo di spedizione | Tracciamento dell'ordine |
---|