This example shows how to send a Sigfox packet waiting for a ACK (acknowledgement) to arrive. In this example, the message to be sent is defined as a string. This string defines the diferente HEX values of the bytes to be sent
Required Materials
1 x Waspmote
1 x Battery
1 x Sigfox 868 or Sigfox 900 module
1 x 868/900 MHz antenna
Notes
- This example can be executed in Waspmote v12 and Waspmote v15
Code
/* * ------ Sigfox Code Example -------- * * Explanation: This example shows how to send a Sigfox packet waiting * for a ACK (acknowledgement) to arrive. * In this example, the message to be sent is defined as a string. * This string defines the diferente HEX values of the bytes to be sent * * Copyright (C) 2016 Libelium Comunicaciones Distribuidas S.L. * http://www.libelium.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Version: 3.0 * Design: David Gascon * Implementation: Yuri Carmona */#include<WaspSigfox.h>//////////////////////////////////////////////uint8_t socket = SOCKET0;//////////////////////////////////////////////uint8_t error;voidsetup() {USB.ON(); USB.println(F("Sigfox - Sending example\n")); }voidloop() { //////////////////////////////////////////////// 1. switch on ////////////////////////////////////////////// error =Sigfox.ON(socket);// Check sending statusif( error ==0 ) {USB.println(F("Switch ON OK")); }else {USB.println(F("Switch ON ERROR")); } //////////////////////////////////////////////// 2. send data //////////////////////////////////////////////USB.println(F("Sending a packet...")); // Send 12 bytes at most error =Sigfox.sendACK("000102030405060708090A0B");// Check sending statusif( error ==0 ) {USB.println(F("Sigfox packet sent OK")); USB.print(F("Back-End response:"));USB.println(Sigfox._buffer,Sigfox._length); }else {USB.println(F("Sigfox packet sent ERROR")); } //////////////////////////////////////////////// 3. sleep //////////////////////////////////////////////USB.println("\nEnter sleep");PWR.deepSleep("00:01:00:00",RTC_OFFSET,RTC_ALM1_MODE1,ALL_OFF);USB.println("\n***************************************");}
Output
H#
Sigfox - Sending example
Switch ON OK
Sending a packet...
Sigfox packet sent OK
Back-End response:
+RX=55D2F9870000FF94
+RX END
Enter sleep
...