说明
读取传入的SigFox 数据。 read() 继承自 Stream 实用程序类。
用法
SigFox.read()
参数
None
返回
传入 SigFox 数据的第一个字节可用(如果没有可用数据,则为 -1) - int
示例
/*
SigFox First Configuration
This sketch demonstrates the usage of MKRFox1200 SigFox module.
Since the board is designed with low power in mind, it depends directly on ArduinoLowPower library
This example code is in the public domain.
*/
#include <SigFox.h>
#include <ArduinoLowPower.h>
void setup() {
Serial.begin(9600);
while (!Serial) {};
// Uncomment this line and comment begin() if you are working with a custom board
//if (!SigFox.begin(SPI1, 30, 31, 33, 28, LED_BUILTIN)) {
if (!SigFox.begin()) {
Serial.println("Shield error or not present!");
return;
}
// Enable debug led and disable automatic deep sleep
// Comment this line when shipping your project :)
SigFox.debug();
String version = SigFox.SigVersion();
String ID = SigFox.ID();
String PAC = SigFox.PAC();
// Display module information
Serial.println("MKRFox1200 Sigfox first configuration");
Serial.println("SigFox FW version " + version);
Serial.println("ID = " + ID);
Serial.println("PAC = " + PAC);
Serial.println("");
Serial.print("Module temperature: ");
Serial.println(SigFox.internalTemperature());
Serial.println("Register your board on https://backend.sigfox.com/activate with provided ID and PAC");
delay(100);
// Send the module to the deepest sleep
SigFox.end();
Serial.println("Type the message to be sent");
while (!Serial.available());
String message;
while (Serial.available()) {
message += (char)Serial.read();
}
// Every SigFox packet cannot exceed 12 bytes
// If the string is longer, only the first 12 bytes will be sent
if (message.length() > 12) {
Serial.println("Message too long, only first 12 bytes will be sent");
}
Serial.println("Sending " + message);
// Remove EOL
message.trim();
// Example of message that can be sent
// sendString(message);
Serial.println("Getting the response will take up to 50 seconds");
Serial.println("The LED will blink while the operation is ongoing");
// Example of send and read response
sendStringAndGetResponse(message);
}
void loop()
{
}
void sendString(String str) {
// Start the module
SigFox.begin();
// Wait at least 30mS after first configuration (100mS before)
delay(100);
// Clears all pending interrupts
SigFox.status();
delay(1);
SigFox.beginPacket();
SigFox.print(str);
int ret = SigFox.endPacket(); // send buffer to SIGFOX network
if (ret > 0) {
Serial.println("No transmission");
} else {
Serial.println("Transmission ok");
}
Serial.println(SigFox.status(SIGFOX));
Serial.println(SigFox.status(ATMEL));
SigFox.end();
}
void sendStringAndGetResponse(String str) {
// Start the module
SigFox.begin();
// Wait at least 30mS after first configuration (100mS before)
delay(100);
// Clears all pending interrupts
SigFox.status();
delay(1);
SigFox.beginPacket();
SigFox.print(str);
int ret = SigFox.endPacket(true); // send buffer to SIGFOX network and wait for a response
if (ret > 0) {
Serial.println("No transmission");
} else {
Serial.println("Transmission ok");
}
Serial.println(SigFox.status(SIGFOX));
Serial.println(SigFox.status(ATMEL));
if (SigFox.parsePacket()) {
Serial.println("Response from server:");
while (SigFox.available()) {
Serial.print("0x");
Serial.println(SigFox.read(), HEX);
}
} else {
Serial.println("Could not get any response from the server");
Serial.println("Check the SigFox coverage in your area");
Serial.println("If you are indoor, check the 20dB coverage or move near a window");
}
Serial.println();
SigFox.end();
}
相关用法
- Arduino Arduino SigFox for MKRFox1200 - SigFox.begin()用法及代码示例
- Arduino Arduino SigFox for MKRFox1200 - SigFox.end()用法及代码示例
- Arduino Arduino SigFox for MKRFox1200 - SigFox.endPacket()用法及代码示例
- Arduino Arduino SigFox for MKRFox1200 - SigFox.beginPacket()用法及代码示例
- Arduino Arduino_EMBRYO_2 - setLengthXY()用法及代码示例
- Arduino ArduinoBLE - bleDevice.advertisedServiceUuidCount()用法及代码示例
- Arduino ArduinoBLE - BLEService()用法及代码示例
- Arduino ArduinoBLE - bleCharacteristic.subscribe()用法及代码示例
- Arduino Arduino_LSM9DS1 - readGyroscope()用法及代码示例
- Arduino ArduinoSound - FFTAnalyzer.input()用法及代码示例
- Arduino Arduino_LSM9DS1 - magneticFieldAvailable()用法及代码示例
- Arduino ArduinoBLE - BLE.poll()用法及代码示例
- Arduino ArduinoBLE - bleCharacteristic.hasDescriptor()用法及代码示例
- Arduino Arduino_APDS9960 - begin()用法及代码示例
- Arduino ArduinoGraphics - text()用法及代码示例
- Arduino Arduino_MKRGPS - standby()用法及代码示例
- Arduino ArduinoBLE - BLEDescriptor()用法及代码示例
- Arduino ArduinoGraphics - fill()用法及代码示例
- Arduino Arduino_EMBRYO_2 - end()用法及代码示例
- Arduino Arduino_LSM6DSOX - gyroscopeAvailable()用法及代码示例
- Arduino Arduino_EMBRYO_2 - terminateInterrupt()用法及代码示例
- Arduino ArduinoSound - AudioInI2S.sampleRate()用法及代码示例
- Arduino Arduino_OplaUI - setSuffix()用法及代码示例
- Arduino Arduino_MKRGPS - longitude()用法及代码示例
- Arduino Arduino_MKRGPS - latitude()用法及代码示例
注:本文由纯净天空筛选整理自arduino.cc大神的英文原创作品 Arduino SigFox for MKRFox1200 - read()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。