safwan092

Untitled

Apr 26th, 2024
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. #include <LoRaLib.h>
  2.  
  3. SX1278 lora = new LoRa;
  4.  
  5. int state;
  6. String str;
  7.  
  8. String dataIn;
  9. int8_t indexOfA, indexOfB, indexOfC, indexOfD;
  10. String data1, data2, data3, data4;
  11.  
  12.  
  13. void setup() {
  14. Serial.begin(9600);
  15. SetupLoRa();
  16. }
  17.  
  18. void loop() {
  19.  
  20. state = lora.receive(str);
  21. if (state == ERR_NONE) {
  22. Serial.print(F("Data: "));
  23. Serial.println(str);
  24. dataIn = str;
  25. parseData();
  26. ShowRxData();
  27. resetData();
  28. }
  29.  
  30.  
  31. }//End Of Loop
  32.  
  33.  
  34. void SetupLoRa() {
  35. Serial.print(F("Initializing ... "));
  36. state = lora.begin();
  37. if (state == ERR_NONE) {
  38. Serial.println(F("success!"));
  39. } else {
  40. Serial.print(F("failed, code "));
  41. Serial.println(state);
  42. while (true);
  43. }
  44. }
  45.  
  46. void parseData() {
  47. indexOfA = dataIn.indexOf("A");
  48. indexOfB = dataIn.indexOf("B");
  49. indexOfC = dataIn.indexOf("C");
  50. indexOfD = dataIn.indexOf("D");
  51. data1 = dataIn.substring(0, indexOfA);
  52. data2 = dataIn.substring(indexOfA + 1, indexOfB);
  53. data3 = dataIn.substring(indexOfB + 1, indexOfC);
  54. data4 = dataIn.substring(indexOfC + 1, indexOfD);
  55. }
  56.  
  57. void ShowRxData() {
  58. Serial.println("HR : " + data1);
  59. Serial.println("Temp: " + data2);
  60. Serial.println("Lat : " + data3);
  61. Serial.println("Lng : " + data4);
  62. }
  63.  
  64. void resetData() {
  65. dataIn = "";
  66. }
  67.  
  68.  
  69. /*
  70. // print RSSI (Received Signal Strength Indicator)
  71. // of the last received packet
  72. Serial.print(F("RSSI:\t\t\t"));
  73. Serial.print(lora.getRSSI());
  74. Serial.println(F(" dBm"));
  75.  
  76. // print SNR (Signal-to-Noise Ratio)
  77. // of the last received packet
  78. Serial.print(F("SNR:\t\t\t"));
  79. Serial.print(lora.getSNR());
  80. Serial.println(F(" dB"));
  81.  
  82. // print frequency error
  83. // of the last received packet
  84. Serial.print(F("Frequency error:\t"));
  85. Serial.print(lora.getFrequencyError());
  86. Serial.println(F(" Hz"));
  87.  
  88. } else if (state == ERR_RX_TIMEOUT) {
  89. // timeout occurred while waiting for a packet
  90. Serial.println(F("timeout!"));
  91.  
  92. } else if (state == ERR_CRC_MISMATCH) {
  93. // packet was received, but is malformed
  94. Serial.println(F("CRC error!"));
  95. }
  96. */
Advertisement
Add Comment
Please, Sign In to add comment