RadioLib/README.md

64 wiersze
4.5 KiB
Markdown
Czysty Zwykły widok Historia

2019-02-08 14:58:29 +00:00
# RadioLib [![Build Status](https://travis-ci.org/jgromes/RadioLib.svg?branch=master)](https://travis-ci.org/jgromes/RadioLib)
2018-07-14 15:03:27 +00:00
2018-12-26 12:46:06 +00:00
### _One radio library to rule them all!_
2018-07-14 15:03:27 +00:00
## Universal wireless communication library for Arduino
2019-05-25 08:44:27 +00:00
## See the [Wiki](https://github.com/jgromes/RadioLib/wiki) for further information. See the [GitHub Pages](https://jgromes.github.io/RadioLib) for detailed and up-to-date API reference.
2019-02-05 08:59:11 +00:00
RadioLib allows its users to integrate all sorts of different wireless communication modules into a single consistent system.
Want to add a Bluetooth interface to your ZigBee network? Sure thing! Need to connect LoRa network to the Internet with a GSM module? RadioLib has got your back!
2018-07-14 15:03:27 +00:00
2019-02-05 08:59:11 +00:00
RadioLib was originally created as a driver for [__RadioShield__](https://github.com/jgromes/RadioShield), but it can be used to control as many different wireless modules as you like - or at least as many as your Arduino can handle!
2018-07-14 15:03:27 +00:00
### Supported modules:
2018-12-26 12:46:06 +00:00
* __CC1101__ FSK radio module
2019-07-17 18:12:29 +00:00
* __ESP8266__ WiFi module
2018-07-14 15:03:27 +00:00
* __HC05__ Bluetooth module
* __JDY08__ BLE module
2019-06-01 18:56:24 +00:00
* __nRF24L01__ 2.4 GHz module
2018-07-14 15:03:27 +00:00
* __RF69__ FSK/OOK radio module
2019-05-19 15:10:11 +00:00
* __RFM9x__ series LoRa modules (RFM95, RM96, RFM97, RFM98)
* __SX127x__ series LoRa modules (SX1272, SX1273, SX1276, SX1277, SX1278, SX1279)
* __SX126x__ series LoRa modules (SX1261, SX1262, SX1268)
2018-07-14 15:03:27 +00:00
* __SX1231__ FSK/OOK radio module
* __XBee__ modules (S2B)
### Supported protocols:
2019-05-19 15:10:11 +00:00
* __MQTT__ for modules: ESP8266
* __HTTP__ for modules: ESP8266
2019-06-01 18:56:24 +00:00
* __RTTY__ for modules: SX127x, RFM9x, SX126x, RF69, SX1231, CC1101 and nRF24L01
* __Morse Code__ for modules: SX127x, RFM9x, SX126x, RF69, SX1231, CC1101 and nRF24L01
2020-02-14 07:08:59 +00:00
* __AX.25__ for modules: SX127x, RFM9x, SX126x, RF69, SX1231 and CC1101
2018-07-14 15:03:27 +00:00
2019-07-31 05:27:40 +00:00
### Supported platforms:
2020-03-27 13:39:45 +00:00
* __Arduino AVR__ - tested with hardware on Uno, Mega and Leonardo
2020-01-07 10:25:07 +00:00
* __ESP8266__ - tested with hardware on NodeMCU and Wemos D1
* __ESP32__ - tested with hardware on ESP-WROOM-32
* __STM32__ - tested with hardware on Nucleo L452RE-P
2020-03-27 13:39:45 +00:00
* __Arduino SAMD__ - Arduino Zero, Arduino MKR boards, M0 Pro etc.
* __Arduino SAM__ - Arduino Due
* __Adafruit nRF52__ - Adafruit Bluefruit Feather etc.
2020-01-07 10:25:07 +00:00
* _Intel Curie_ - Arduino 101
2020-03-27 13:39:45 +00:00
* _Arduino megaAVR_ - Arduino Uno WiFi Rev.2 etc.
2020-01-07 10:25:07 +00:00
* _Apollo3_ - SparkFun Artemis Redboard etc.
2020-03-27 13:40:20 +00:00
* _Arduino nRF52_ - Arduino Nano 33 BLE
2019-11-23 09:24:50 +00:00
2020-01-07 10:25:07 +00:00
The list above is by no means exhaustive. Most of RadioLib code is independent of the used platform, so as long as your board is running some Arduino-compatible core, RadioLib should work. Compilation of all examples is tested for all platoforms in __bold__ on each git push. Platforms in _italic_ are not tested on each push, but do compile and should be working.
2019-07-31 05:27:40 +00:00
2018-07-14 15:03:27 +00:00
### In development:
* __SIM800C__ GSM module
2019-05-19 15:10:11 +00:00
* __LoRaWAN__ protocol for SX127x, RFM9x and SX126x modules
2018-07-14 15:03:27 +00:00
* ___and more!___
## Frequently Asked Questions
### Where should I start?
2019-03-12 19:59:31 +00:00
First of all, take a look at the [examples](https://github.com/jgromes/RadioLib/tree/master/examples) and the [Wiki](https://github.com/jgromes/RadioLib/wiki) - especially the [Basics](https://github.com/jgromes/RadioLib/wiki/Basics) page. There's a lot of useful information over there. Also, you should check out [RadioShield](https://github.com/jgromes/RadioShield) - open source Arduino shield that will allow you to easily connect any two wireless modules supported by RadioLib!
2018-07-14 15:03:27 +00:00
2019-12-01 06:46:11 +00:00
### Help, my module isn't working!
The fastest way to get help is by creating an [issue](https://github.com/jgromes/RadioLib/issues/new?assignees=&labels=&template=bug_report.md&title=) using the appropriate template. It is also highly recommended to try running the examples first - their functionality is tested from time to time and they should work. Finally, RadioLib is still under development, which means that sometimes, backwards-incompatible changes might be introduced. Though these are kept at minimum, sometimes it is unavoidable. You can check the [release changelog](https://github.com/jgromes/RadioLib/releases) to find out if there's been such a major change recently.
2019-02-05 08:59:11 +00:00
### RadioLib doesn't support my module! What should I do?
Start by creating new issue (if it doesn't exist yet). If you have some experience with Arduino and C/C++ in general, you can try to add the support yourself! Use the template files in `/extras/` folder to get started. This is by far the fastest way to implement new modules into RadioLib, since I can't be working on everything all the time. If you don't trust your programming skills enough to have a go at it yourself, don't worry. I will try to implement all requested modules, but it will take me a while.