Skip to content

Commit 435651a

Browse files
2 parents b98d213 + 13a5c52 commit 435651a

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
/*
2+
This is a simple example show the Heltec.LoRa recived data in OLED.
3+
4+
The onboard OLED display is SSD1306 driver and I2C interface. In order to make the
5+
OLED correctly operation, you should output a high-low-high(1-0-1) signal by soft-
6+
ware to OLED's reset pin, the low-level signal at least 5ms.
7+
8+
OLED pins to ESP32 GPIOs via this connecthin:
9+
OLED_SDA -- GPIO4
10+
OLED_SCL -- GPIO15
11+
OLED_RST -- GPIO16
12+
13+
by Aaron.Lee from HelTec AutoMation, ChengDu, China
14+
成都惠利特自动化科技有限公司
15+
www.heltec.cn
16+
17+
this project also realess in GitHub:
18+
https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series
19+
*/
20+
#include "heltec.h"
21+
22+
23+
#define BAND 868E6 //you can set band here directly,e.g. 868E6,915E6
24+
String rssi = "RSSI --";
25+
String packSize = "--";
26+
String packet ;
27+
28+
29+
30+
void LoRaData(){
31+
Heltec.display->clear();
32+
Heltec.display->setTextAlignment(TEXT_ALIGN_LEFT);
33+
Heltec.display->setFont(ArialMT_Plain_10);
34+
Heltec.display->drawString(0 , 15 , "Received "+ packSize + " bytes");
35+
Heltec.display->drawStringMaxWidth(0 , 26 , 128, packet);
36+
Heltec.display->drawString(0, 0, rssi);
37+
Heltec.display->display();
38+
}
39+
40+
void cbk(int packetSize) {
41+
packet ="";
42+
packSize = String(packetSize,DEC);
43+
for (int i = 0; i < packetSize; i++) { packet += (char) LoRa.read(); }
44+
rssi = "RSSI " + String(LoRa.packetRssi(), DEC) ;
45+
LoRaData();
46+
}
47+
48+
void setup() {
49+
//WIFI Kit series V1 not support Vext control
50+
Heltec.begin(true /*DisplayEnable Enable*/, true /*Heltec.Heltec.Heltec.LoRa Disable*/, true /*Serial Enable*/, true /*PABOOST Enable*/, BAND /*long BAND*/);
51+
//
52+
LoRa.setSpreadingFactor(8);
53+
// put in standby mode
54+
LoRa.setSignalBandwidth(125E3);
55+
LoRa.setCodingRate4(4);
56+
LoRa.setSyncWord(0x12); //0x34
57+
LoRa.setPreambleLength(8);
58+
59+
Heltec.display->init();
60+
Heltec.display->flipScreenVertically();
61+
Heltec.display->setFont(ArialMT_Plain_10);
62+
63+
delay(1500);
64+
Heltec.display->clear();
65+
66+
Heltec.display->drawString(0, 0, "Heltec.LoRa Initial success!");
67+
Heltec.display->drawString(0, 10, "Wait for incoming data...");
68+
Heltec.display->display();
69+
delay(1000);
70+
//LoRa.onReceive(cbk);
71+
LoRa.receive();
72+
}
73+
74+
void loop() {
75+
int packetSize = LoRa.parsePacket();
76+
if (packetSize) { cbk(packetSize); }
77+
delay(10);
78+
}

0 commit comments

Comments
 (0)