2 pieces LILYGO TTGO LORA SX1278 ESP32 0.96 Module d’affichage OLED 16 Mt octets 128 Mt bits) 433Mhz – Conseil seulement
$115,88
Description
.
Mettre e jour les informations:
Description du produit:
L'antenne 433MHz doit etre utilisee en conjonction avec l'interface IPEX (si l'antenne n'est pas connectee, cela peut endommager la puce LoRa)
Circuit de charge et de decharge de la batterie au lithium, lorsque la batterie est pleine, le bleu LED cessera de fonctionner. Lors de l'utilisation, faites attention au positif et au negatif de la batterie, sinon elle sera endommagee.
En utilisant l'entree de signal tactile de l'ecran tactile du port IO, vous devez ajouter le condensateur deroulant 100nF e cette broche !
Exemple:
Ce produit est une puce SX1278 basee sur ESP32 WIFI augmente OLED, e savoir un modem distant LoRa, une frequence de 433 MHz, une sensibilite elevee d'environ -148 dBm, une puissance de sortie de + 20 dBm, une fiabilite elevee, une longue distance de transmission.
Les 16 Mt d'octets (128 Mt bit), l'antenne Wi-Fi, l'ecran OLED bleu de 0,96 pouce, le circuit de charge de la batterie au lithium, l'interface CP2102 et la puce serie USB, le support parfait pour l'environnement de developpement, peuvent etre utilises pour la verification de programme et le developpement de produits est tres simple et rapide.
Tension de fonctionnement : 3,3 V e 7 V
Plage de temperature de fonctionnement : -40 degres C e +90 degres C
Prise en charge des modes Sniffer, Station, softAP et Wi-Fi Direct
Debits de donnees : 150 Mbps@11n HT40, 72 Mbps@11n HT20, 54 Mbps@11g, 11 Mbps@11b
Puissance d'emission : 19,5 dBm@11b, 16,5 dBm@11g, 15,5 dBm@11n
Sensibilite du recepteur jusqu'e -98 dBm
Debit soutenu UDP de 135 Mbps
Description de la reference de la broche :
Pour plus d'informations sur le produit, cliquez sur https://drive.google.com/file/d/1L8ll-DeAC2SATBZn0-KbSaZsrinbnXkF/view
Details du test :
Cliquez sur les liens pour plus de details : https://eyun.baidu.com/s/3hsiTNgg
Re : ce produit n'inclut pas la batterie.
Emballage inclus:
2 x ESP32 OLED
2 x Line
4 x pin
Antenne e ressort 2 x 433 m
Par exemple Un :
(1) LoRaSender
#comprendre
#comprendre
#comprendre
// GPIO5 -- SCK du SX1278
// GPIO19 -- MISO du SX1278
// GPIO27 -- M0SI du SX1278
// GPIO18 -- CS du SX1278
// GPIO14 -- ReINITIALISATION du SX1278
// GPIO26 -- IRQ (demande d'interruption) du SX1278
#definir SS 18
#definir RST 14
#definir DI0 26
#definir la BANDE 433E6
compteur entier = 0 ;
void setup() {
pinMode (25, SORTIE); //Envoyer le succes, LED s'allumera pendant 1 seconde
Serial.begin(115200);
tandis que (!Serie); //Si seulement la fonction de base, doit se connecter e un ordinateur
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0) ;
// Serial.println("LoRa Sender");
si (!LoRa.begin(BANDE)) {
Serial.println("Le demarrage de LoRa a echoue !");
tandis que (1) ;
}
Serial.println("LoRa Initial OK!");
}
boucle vide() {
Serial.print("Envoi du paquet : ");
Serial.println(compteur);
// envoyer le paquet
LoRa.beginPacket();
LoRa.print("bonjour ");
LoRa.print(compteur);
LoRa.endPacket();
compteur++;
digitalWrite (25, HAUT); // allume le LED (HIGH est le niveau de tension)
retard(1000); // attend une seconde
digitalWrite (25, FAIBLE); // eteins le LED en abaissant la tension
retard(1000); // attend une seconde
retard (3000);
}
Par exemple Deux
(2)LoRaRecepteur
#comprendre
#comprendre
// GPIO5 -- SCK du SX1278
// GPIO19 -- MISO du SX1278
// GPIO27 -- M0SI du SX1278
// GPIO18 -- CS du SX1278
// GPIO14 -- ReINITIALISATION du SX1278
// GPIO26 -- IRQ (demande d'interruption) du SX1278
#definir SS 18
#definir RST 14
#definir DI0 26
#definir la BANDE 433E6
void setup() {
Serial.begin(115200);
tandis que (!Serie); //si seulement la fonction de base, doit se connecter e un ordinateur
retard(1000);
Serial.println("Recepteur LoRa");
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0) ;
si (!LoRa.begin(BANDE)) {
Serial.println("Le demarrage de LoRa a echoue !");
tandis que (1) ;
}
}
boucle vide() {
// essaie d'analyser le paquet
int packetSize = LoRa.parsePacket();
si (taille du paquet) {
// a reeu un paquet
Serial.print("Paquet reeu '");
// lecture du paquet
tandis que (LoRa.available()) {
Serial.print((char)LoRa.read());
}
// imprime le RSSI du paquet
Serial.print("' avec RSSI ");
Serial.println(LoRa.packetRssi());
}
}
Par exemple trois
(3)LoRaReceiverRappel
#comprendre
#comprendre
// GPIO5 -- SCK du SX1278
// GPIO19 -- MISO du SX1278
// GPIO27 -- M0SI du SX1278
// GPIO18 -- CS du SX1278
// GPIO14 -- ReINITIALISATION du SX1278
// GPIO26 -- IRQ (demande d'interruption) du SX1278
#definir SS 18
#definir RST 14
#definir DI0 26
#definir la BANDE 433E6
void setup() {
Serial.begin(115200);
tandis que (!Serie); //si seulement la fonction de base, doit se connecter e un ordinateur
SPI.begin(5,19,27,18);
LoRa.setPins(SS,RST,DI0) ;
Serial.println ("Rappel du recepteur LoRa");
si (!LoRa.begin(BANDE)) {
Serial.println("Le demarrage de LoRa a echoue !");
tandis que (1) ;
}
// enregistre le rappel reeu
LoRa.onReceive(onReceive);
// met la radio en mode reception
LoRa.receive();
}
boucle vide() {
// ne fais rien
}
void onReceive(int packetSize) {
// a reeu un paquet
Serial.print("Paquet reeu '");
// lecture du paquet
pour (int i = 0; i < packetSize; i++) {
Serial.print((char)LoRa.read());
}
// imprime le RSSI du paquet
Serial.print("' avec RSSI ");
Serial.println(LoRa.packetRssi());
}
?
Par exemple quatre
#comprendre // Uniquement necessaire pour la 1.6.5 et les versions anterieures
#comprendre "SSD1306.h" // alias pour `#comprendre "SSD1306Wire.h"`
#comprendre "images.h"
// Broches OLED vers ESP32 0.96OLEDGPIO via cette connexion :
//OLED_SDA -- GPIO4
//OLED_SCL -- GPIO15
//OLED_RST -- GPIO16
Affichage SSD1306 (0x3c, 4, 15);
#define DEMO_DURATION 3000
typedef void (*Demo)(void);
int demoMode = 0 ;
compteur int = 1 ;
void setup() {
pinMode (16, SORTIE);
digitalWrite (16, FAIBLE); // definir GPIO16 bas pour reinitialiser OLED
retard (50);
digitalWrite (16, HAUT); // pendant que l'OLED est en cours d'execution, doit definir GPIO16 en haut
Serial.begin(115200);
Serial.println();
Serial.println();
// L'initialisation de l'interface utilisateur initialise egalement l'affichage.
display.init();
display.flipScreenVertically();
display.setFont(ArialMT_Plain_10) ;
}
void drawFontFaceDemo() {
// Demo police1
// creer plus de polices sur http://oleddisplay.squix.ch/
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.setFont(ArialMT_Plain_10) ;
display.drawString(0, 0, "Bonjour tout le monde");
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() {
// Demo d'alignement de texte
display.setFont(ArialMT_Plain_10) ;
// Les coordonnees definissent le point de depart gauche du texte
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawString(0, 10, "Aligne e gauche (0,10)");
// Les coordonnees definissent le centre du texte
display.setTextAlignment(TEXT_ALIGN_CENTER);
display.drawString(64, 22, "Centre aligne (64,22)");
// Les coordonnees definissent l'extremite droite du texte
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(128, 33, "Aligne e droite (128,33)");
}
void drawRectDemo() {
// Dessine un pixel e une position donnee
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);
// Trace une ligne horizontalement
display.drawHorizontalLine (0, 40, 20);
// Trace une ligne horizontalement
display.drawVerticalLine (40, 0, 20);
}
void drawCircleDemo() {
pour (int i=1; i < 8; i++) {
display.setColor(BLANC);
display.drawCircle(32, 32, i*3) ;
si (i % 2 == 0) {
display.setColor(NOIR);
}
display.fillCircle(96, 32, 32 - i* 3);
}
}
void drawProgressBarDemo() {
int progression = (compteur / 5) % 100 ;
// dessine la barre de progression
display.drawProgressBar (0, 32, 120, 10, progression);
// dessine le pourcentage sous forme de chaene
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 faeon de creer 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));
long timeSinceLastModeSwitch = 0;
boucle vide() {
// efface l'affichage
display.clear();
// dessine la methode de demonstration actuelle
demos[modedemo]();
display.setTextAlignment(TEXT_ALIGN_RIGHT);
display.drawString(10, 128, String(millis()));
// ecrit le tampon sur l'affichage
display.display();
if (millis() - timeSinceLastModeSwitch > DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength ;
timeSinceLastModeSwitch = millis();
}
compteur++;
retard(10) ;
}