-
Notifications
You must be signed in to change notification settings - Fork 2
LoRa (RFM95W & STM32F103)
blahlt edited this page Apr 27, 2020
·
1 revision

- ArduinoIDE aplinkoje einame į Tools->Manage Libraries... ir sudiegiam LoRa by Sandeep Mistry (v0.7.2)
- Sujungiam STM32F103 ir RFM95W
| STM32F103 | RFM95W |
|---|---|
| G | GND |
| 3.3 | 3.3V |
| A1 | RESET |
| A4 | NSS |
| A5 | SCK |
| A6 | MISO |
| A7 | MOSI |
Jei norim matyti duomenis per Serial tai taip pat prijungiam USB to Serial (PL2303, CP2102 ir pan.):
| STM32F103 | PL2303, CP2102 ir pan. |
|---|---|
| G | GND |
| 3.3 | 3V3 |
| A9 | RXD |
| A10 | TXD |
- Siųstuvas (angl. transmitter)
#include <LoRa.h>
int counter = 0;
#define PIN_SPI_SS PA4
#define PIN_SPI_MOSI PA7
#define PIN_SPI_MISO PA6
#define PIN_SPI_SCK PA5
void setup() {
Serial1.begin(9600);
while (!Serial1);
Serial1.println("Init Serial...[OK]");
LoRa.setPins(PA4, PA1, PA2);
Serial1.print("Init LoRa sender...");
if (!LoRa.begin(866E6)) {
Serial1.println("[FAILED]");
Serial1.println("Check wires and reset.");
while(1);
}
Serial1.println("[OK]");
Serial1.println("Registers:");
LoRa.dumpRegisters(Serial1);
Serial1.println("Registers...[DONE]");
}
void loop() {
Serial1.print("Sending packet: ");
Serial1.println(counter);
LoRa.beginPacket();
LoRa.print("hello ");
LoRa.print(counter);
LoRa.endPacket();
counter++;
delay(2000);
}- Imtuvas (angl. receiver)
#include <LoRa.h>
#define PIN_SPI_SS PA4
#define PIN_SPI_MOSI PA7
#define PIN_SPI_MISO PA6
#define PIN_SPI_SCK PA5
void setup() {
Serial1.begin(9600);
while (!Serial1);
Serial1.println("Init Serial...[OK]");
LoRa.setPins(PA4, PA1, PA2);
Serial1.print("Init LoRa receiver...");
if (!LoRa.begin(866E6)) {
Serial1.println("[FAILED]");
Serial1.println("Check wires and reset.");
while(1);
}
Serial1.println("[OK]");
Serial1.println("Registers:");
LoRa.dumpRegisters(Serial1);
Serial1.println("Registers...[DONE]");
}
void loop() {
int packetSize = LoRa.parsePacket();
if (packetSize) {
Serial1.print("Received packet '");
while (LoRa.available()) {
Serial1.print((char)LoRa.read());
}
Serial1.print("' with RSSI ");
Serial1.println(LoRa.packetRssi());
}
}Monopolinės antenos ilgis: ~86.5mm