1
0
mirror of https://github.com/sandeepmistry/arduino-LoRa.git synced 2025-04-19 13:02:14 +03:00

Add initial documentation

This commit is contained in:
Sandeep Mistry 2016-08-20 10:00:35 -04:00
parent 1fb8b29f62
commit d690d7947f
2 changed files with 185 additions and 2 deletions

131
API.md Normal file
View File

@ -0,0 +1,131 @@
# LoRa API
## Include Library
```arduino
#include <LoRa.h>
```
## Setup
### Begin
Initialize the library with the specified frequency.
```arduino
LoRa.begin(frequency);
```
* `frequency` - frequency in Hz (`433E6`, `866E6`, `915E6`)
Returns `1` on success, `0` on failure.
## Set pins
Override the default `NSS` and `NRESET` pins used by the library. **Must** be called before `LoRa.begin()`.
```arduino
LoRa.setPins(ss, reset);
```
* `ss` new slave select pin to use, defaults to `10`
* `reset` new reset pin to use, defaults to `9`
### End
Stop the library
```arduino
LoRa.end()
```
## Sending data
### Begin packet
Start the sequence of sending a packet.
```arduino
LoRa.beginPacket();
```
Returns `1` on success, `0` on failure.
### Writing
Write data to the packet. Each packet can contain up to 255 bytes.
```arduino
LoRa.write(byte);
LoRa.write(buffer, length);
```
* `byte` single byte to write to packet
or
* `buffer` data to write to packet
* `length` size of data to write
Returns the number of bytes written.
**Note:** Other Arduino `Print` API's can also be used to write data into the packet
### End packet
End the sequence of sending a packet.
```arduino
LoRa.endPacket()
```
Returns `1` on success, `0` on failure.
## Receiving data
### Parsing packet
Check if a packet has been received.
```arduino
int packetSize = LoRa.parsePacket();
```
Returns the packet size or `0` if no packet was received.
### Packet RSSI
```arduino
int rssi = LoRa.packetRSSI();
```
Returns the RSSI of the received packet.
### Available
```arduino
int availableBytes = LoRa.available()
```
Returns number of bytes available for reading.
### Peeking
Peek at the next byte in the packet.
```arduino
byte b = LoRa.peek();
```
Returns the next byte in the packet or `-1` if no bytes available.
### Reading
Read the next byte from the packet.
```arduino
byte b = LoRa.read();
```
Returns the next byte in the packet or `-1` if no bytes available.
**Note:** Other Arduino [`Stream` API's](https://www.arduino.cc/en/Reference/Stream) can also be used to read data from the packet

View File

@ -1,2 +1,54 @@
# arduino-LoRa
An Arduino library for sending and receiving data using LoRa radios.
# Arduino LoRa
An [Arduino](http://arduino.cc/) library for sending and receiving data using [LoRa](https://www.lora-alliance.org/) radios.
## Compatible Hardware
* [Semtech SX1276/77/78/79](http://www.semtech.com/apps/product.php?pn=SX1276) based boards including:
* [Dragino Lora Shield](http://www.dragino.com/products/module/item/102-lora-shield.html)
* [HopeRF](http://www.hoperf.com/rf_transceiver/lora/) [RFM95W](http://www.hoperf.com/rf_transceiver/lora/RFM95W.html), [RFM96W](http://www.hoperf.com/rf_transceiver/lora/RFM96W.html), and [RFM98W](http://www.hoperf.com/rf_transceiver/lora/RFM98W.html)
* [Modtronix](http://modtronix.com/) [inAir4](http://modtronix.com/inair4.html), [inAir9](http://modtronix.com/inair9.html), and [inAir9B](http://modtronix.com/inair9b.html)
* [NiceRF LoRa1276](http://www.nicerf.com/product_view.aspx?id=99)
### Semtech SX1276/77/78/79 wiring
| Semtech SX1276/77/78/79 | Arduino |
| :---------------------: | :------:|
| VCC | 3.3V |
| GND | GND |
| SCK | SCK |
| MISO | MISO |
| MOSI | MOSI |
| NSS | 10 |
| NRESET | 9 |
`NSS` and `NRESET` pins can be changed by using `LoRa.setPins(ss, reset)`.
## Installation
### Using the Arduino IDE Library Manager
1. Choose `Sketch` -> `Include Library` -> `Manage Libraries...`
2. Type `LoRa` into the search box.
3. Click the row to select the library.
4. Click the `Install` button to install the library.
### Using Git
```sh
cd ~/Documents/Arduino/libraries/
git clone https://github.com/sandeepmistry/arduino-LoRa LoRa
```
## API
See [API.md](API.md).
## Examples
See [examples](examples) folder.
## License
This libary is [licensed](LICENSE) under the [MIT Licence](http://en.wikipedia.org/wiki/MIT_License).