This example shows how to transmit packets through the P2P network created with other TD module
Required Materials
1 x Waspmote
1 x Battery
1 x Sigfox 868 module
1 x 868 MHz antenna
Notes
- This code is part of a two-Waspmote communication. This is the sending side. So, in order to establish communication, please set up a receiving node
- This example can be executed in Waspmote v12 and Waspmote v15
- This example only works with Sigfox 868 module
Code
/* * ------ Sigfox P2P Code Example -------- * * Explanation: This example shows how to transmit packets through the * LAN network created with other TD module * * 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 */// Put your libraries here (#include ...)#include<WaspSigfox.h>//////////////////////////////////////////////uint8_t socket = SOCKET0;//////////////////////////////////////////////// ADDRESS: Define the LAN network address. // Range: From 0x000000 to 0xFFFFFF. // Default: 0x000000//////////////////////////////////////////////uint32_t address =0x000001;//////////////////////////////////////////////// define buffer for data transmissionchar data[35];uint8_t error;uint8_t e =0;uint32_t counter =0;voidsetup() {USB.ON(); //////////////////////////////////////////////// switch on ////////////////////////////////////////////// error =Sigfox.ON(socket);// Check statusif( error ==0 ) {USB.println(F("Switch ON OK")); }else {USB.println(F("Switch ON ERROR")); } //////////////////////////////////////////////// Set LAN address ////////////////////////////////////////////// error =Sigfox.setAddressLAN(address);// Check statusif( error ==0 ) {USB.println(F("Set LAN Address OK")); }else {USB.println(F("Set LAN Address ERROR")); } USB.println();}voidloop(){// create new data counter++;snprintf(data,sizeof(data),"%034x", counter);USB.print(F("data to send:"));USB.println(data); //////////////////////////////////////////////// Send command ////////////////////////////////////////////// error =Sigfox.sendLAN(data);// Check statusif( error ==0 ) {USB.println(F("Send packet OK")); }else {USB.println(F("Send packet ERROR")); }USB.println(); delay(5000);}
Output
H#
Switch ON OK
Set LAN Address OK
data to send:0000000000000000000000000000000001
Send packet OK
data to send:0000000000000000000000000000000002
Send packet OK
data to send:0000000000000000000000000000000003
Send packet OK
data to send:0000000000000000000000000000000004
Send packet OK
...