This library allows you to use the ATMEL SigFox transceiver (ATAB8520E) on the Arduino MKRFOX1200 board. For additional information on the Arduino MKR Fox 1200 board, see the Getting Started page and the product page.
SigFox employs a cellular system that enables remote devices to connect using Ultra-Narrow Band (UNB) technology. It requires little energy, being termed Low-power Wide-area network (LPWAN).
- In the Arduino IDE, navigate to Sketch > Include Library > Manage Libraries
- Then the Library Manager will open and you will find a list of libraries that are already installed or ready for installation.
- Then search for SigFox using the search bar.
- Click on the text area and then select the specific version and install it.
- Navigate to the Releases page.
- Download the latest release.
- Extract the zip file
- In the Arduino IDE, navigate to Sketch > Include Library > Add .ZIP Library
-
This library enables remote devices to use UNB. The benefit of using ultra narrowband receiver is that it rejects noise and interference which may enter the receiver, enabling an acceptable signal-to-noise ratio to be achieved with a relatively weak received signal
-
SigFox library requires Low Powered Wide Area Network. This technology connects low-bandwidth devices with low rate of bits over long ranges.
-
This library is a good fit for any application that needs to send small, infrequent bursts of data. Things like basic alarm systems, location monitoring, and simple metering are all examples of one-way systems that might make sense for this network.
-
SigFox is free for everyone. The licensed document can be copied, redistributed and used in the projects, assignments or anywhere.
-
Library is licensed under GNU lesser General Public License. It's not allowed to make changes in the functions or anything. The user simply has to import the library in the project and can use any of its functions by just calling it.
- begin()
- beginPacket()
- write()
- print()
- endPacket()
- parsePacket()
- statusCode()
- AtmVersion()
- SigVersion()
- ID()
- PAC()
- reset()
- internalTemperature()
- debug()
- noDebug()
- end()
- peek()
- available()
- read()
For further functions description visit SigFox
There are many examples implemented where this library is used. You can find other examples from Github-SigFox and Arduino-Reference
-
This sketch demonstrates how to send a simple binary data ( 0 or 1 ) using a MKR Fox 1200. If the application only needs to send one bit of information the transmission time (and thus power consumption) will be much lower than sending a full 12 bytes packet.
#include <SigFox.h>
bool value_to_send = true;
#define DEBUG 1
void setup() {
if (DEBUG){
Serial.begin(9600);
while (!Serial) {};
}
if (!SigFox.begin()) {
if (DEBUG){
Serial.println("Sigfox module unavailable !");
}
return;
}
if (DEBUG){
SigFox.debug();
Serial.println("ID = " + SigFox.ID());
}
delay(100);
SigFox.beginPacket();
SigFox.write(value_to_send);
int ret = SigFox.endPacket();
if (DEBUG){
Serial.print("Status : ");
Serial.println(ret);
}
}
void loop(){}
If you want to contribute to this project:
- Report bugs and errors
- Ask for enhancements
- Create issues and pull requests
- Tell others about this library
- Contribute new protocols
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
The Library created and maintained by Arduino LLC
Based on previous work by:
- M. Facchin
- N. Lesconnec
- N. Barcucci
version: v1.0.4
This library is licensed under GNU LGPL.