Chez Banggood, nous utilisons des cookies et d'autres technologies similaires pour vous fournir des fonctionnalités essentielles et pour des statistiques agrégées.
Nous utilisons également des cookies facultatifs pour une meilleure expérience avec:
Vous pouvez choisir de ne pas autoriser certains types de cookies via "Paramètres des cookies". Si vous souhaitez en savoir plus, vous pouvez glisser vers le bas de la page pour voir la politique de confidentialité
Lorsque vous visitez un site Web, il peut stocker ou récupérer des informations sur votre navigateur, principalement sous la forme de cookies. Ces informations peuvent vous concerner, vos préférences ou votre appareil et sont principalement utilisées pour faire fonctionner le site comme vous l'attendez. Les informations ne vous identifient généralement pas directement, mais elles peuvent vous offrir une expérience Web plus personnalisée.
Parce que nous respectons votre droit à la vie privée, vous pouvez choisir de ne pas autoriser certains types de cookies. Cependant, le blocage de certains types de cookies peut avoir un impact sur votre expérience du site et les services que nous sommes en mesure d'offrir.
{{$productInfo.reviewAmount.average}} sur 5
Pour plus d'informations sur le produit, cliquez sur https://drive.google.com/file/d/1L8ll-DeAC2SATBZn0-KbSaZsrinbnXkF/view
Cliquez sur les liens pour plus de détails : https://eyun.baidu.com/s/3hsiTNgg
Remarque: Ce produit ne comprend pas la batterie.
Forfait inclus:
2 x ESP32 OLED
2 x Line
4 x pin
2 x Antenne à ressort 433m
Par exemple Un:
LoRaSender
#inclure
#inclure
#inclure
// GPIO5 - SCK SX1278
// GPIO19 -- MISO de SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 -- CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- Demande d'interruption SX1278's IRQ
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
int counter = 0;
void setup() {
pinMode(25,OUTPUT); //Envoyer succès, la LED s'allumera pendant 1 seconde
Serial.begin(115200);
while (!Serial); //Si seulement la fonction de base, doit être connecté à un ordinateur
SPI.begin(5,19,27,18);
LoRa.setPins(SS, RST, DI0);
// Serial.println("LoRa Sender");
if (!LoRa.begin(BAND)) {
Serial.println("Échec de démarrage de LoRa !");
pendant (1);
}
Serial.println("LoRa Initialisation OK!");
}
void loop() {
Serial.print("Envoi du paquet: ");
Serial.println(counter);
// envoyer paquet
LoRa.beginPacket();
LoRa.print("bonjour");
LoRa.print(counter);
LoRa.endPacket();
counter++;
digitalWrite(25, HIGH); // allumer la LED (HIGH est le niveau de tension)
delai(1000); // attendre une seconde
digitalWrite(25, LOW); // éteindre la LED en mettant la tension à BASSE
delai(1000); // attendre une seconde
retard(3000);
}
Par exemple, deux
(2)Récepteur LoRa
#inclure
#inclure
// GPIO5 - SCK SX1278
// GPIO19 -- MISO de SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 -- CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- Demande d'interruption SX1278's IRQ
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
void setup() {
Serial.begin(115200);
// tant que (!Serial); // si c'est juste la fonction de base, vous devez la connecter à un ordinateur
attente(1000);
Serial.println("LoRa Receiver");
SPI.begin(5,19,27,18);
LoRa.setPins(SS, RST, DI0);
if (!LoRa.begin(BAND)) {
Serial.println("Échec de démarrage de LoRa !");
pendant (1);
}
}
void loop() {
// essayez d'analyser le paquet
int packetSize = LoRa.parsePacket();
si (taille_du_paquet) {
// a reçu un paquet
Serial.print("Paquet reçu '");
// lire le paquet
tant que (LoRa.available()) {
Serial.print((char)LoRa.read());
}
// imprimer RSSI du paquet
Serial.print("' avec RSSI ");
Serial.println(LoRa.packetRssi());
}
}
Par exemple, trois
(3) LoRaReceiverCallback
#inclure
#inclure
// GPIO5 - SCK SX1278
// GPIO19 -- MISO de SX1278
// GPIO27 -- M0SI SX1278
// GPIO18 -- CS SX1278
// GPIO14 -- RESET SX1278
// GPIO26 -- Demande d'interruption SX1278's IRQ
#define SS 18
#define RST 14
#define DI0 26
#define BAND 433E6
void setup() {
Serial.begin(115200);
// tant que (!Serial); // si c'est juste la fonction de base, vous devez la connecter à un ordinateur
SPI.begin(5,19,27,18);
LoRa.setPins(SS, RST, DI0);
Serial.println("Rappel du récepteur LoRa");
if (!LoRa.begin(BAND)) {
Serial.println("Échec de démarrage de LoRa !");
pendant (1);
}
// enregistrer l'appel de réception
LoRa.onReceive(onReceive);
// mettre la radio en mode de réception
LoRa.receive();
}
void loop() {
// ne rien faire
}
void onReceive(int packetSize) {
// a reçu un paquet
Serial.print("Paquet reçu '");
// lire le paquet
pour (int i = 0; i < packetSize; i++) {
Serial.print((char)LoRa.read());
}
// imprimer RSSI du paquet
Serial.print("' avec RSSI ");
Serial.println(LoRa.packetRssi());
}
?
Par exemple quatre
#inclure
#inclure "SSD1306.h" // alias pour `#inclure "SSD1306Wire.h"`
#inclure "images.h
// Broches OLED vers ESP32 0.96 OLEDGPIOs via cette connexion:
//OLED_SDA -- GPIO4
//OLED_SCL -- GPIO15
// OLED_RST - GPIO16
affichage SSD1306(0x3c, 4, 15);
#définir DEMO_DURATION 3000
typedef void (*Demo)(void);
int demoMode = 0;
int counter = 1;
void setup() {
pinMode(16, OUTPUT);
digitalWrite(16, LOW); // mettre GPIO16 à l'état bas pour réinitialiser OLED
délai(50);
digitalWrite(16, HIGH); // pendant que OLED fonctionne, GPIO16 doit être réglé sur HIGH
Serial.begin(115200);
Serial.println();
Serial.println();
// L'initialisation de l'interface utilisateur initialisera également l'affichage.
display.init();
display.flipScreenVertically();
display.setFont(ArialMT_Plain_10);
}
void drawFontFaceDemo() {
// Démo Police 1
// créez plus de polices sur 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, "Bonjour tout le monde");
display.setFont(ArialMT_Plain_24);
display.drawString(0, 26, "Bonjour tout le monde");
}
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() {
// Démo d'alignement de texte
display.setFont(ArialMT_Plain_10);
// Les coordonnées définissent le point de départ gauche du texte
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawString(0, 10, "Aligné à gauche (0,10)");
// Les coordonnées définissent le centre du texte
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 22, "Aligné au centre (64,22)");
// Les coordonnées définissent la fin droite du texte
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(128, 33, "Aligné à droite (128,33)");
}
void drawRectDemo() {
// Dessiner un pixel à la position donnée
pour (int i = 0; i < 10; i++) {
display.setPixel(i, i);
display.setPixel(10 - i, i);
}
display.drawRect(12, 12, 20, 20);
// Remplir le rectangle
display.fillRect(14, 14, 17, 17);
// Dessiner une ligne horizontale
display.drawHorizontalLine(0, 40, 20);
// Dessiner une ligne horizontale
display.drawVerticalLine(40, 0, 20);
}
void drawCircleDemo() {
pour (int i=1; i < 8; i++) {
display.setColor(BLANC);
display.drawCircle(32, 32, i*3);
if (i % 2 == 0) {
display.setColor(BLACK);
}
display.fillCircle(96, 32, 32 - i* 3);
}
}
void drawProgressBarDemo() {
int progress = (compteur / 5) % 100;
// dessiner la barre de progression
display.drawProgressBar(0, 32, 120, 10, progress);
// dessiner le pourcentage sous forme de chaîne de caractères
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 15, String(progress) + "%");
}
void drawImageDemo() {
// voir http://blog.squix.org/2015/05/esp8266-nodemcu-how-to-create-xbm.html
// sur la façon de créer des fichiers 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));
tempsDepuisDernierChangementDeMode = 0;
void loop() {
// effacer l'affichage
display.clear();
// dessiner la méthode de démonstration actuelle
demos[demoMode]();
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(10, 128, String(millis()));
// écrire le tampon sur l'écran
display.display();
si (millis() - tempsDepuisDernierChangementMode > DUREE_DEMO) {
demoMode = (demoMode + 1) % demoLength;
timeSinceLastModeSwitch = millis();
}
counter++;
délai(10);
}
Méthode(s) de livraison | Temps de livraison | Informations de suivi |
---|