回答編集履歴

1

追記

2020/08/14 09:20

投稿

thkana
thkana

スコア7703

test CHANGED
@@ -9,3 +9,41 @@
9
9
 
10
10
 
11
11
  Arduino IDEを使う環境でライブラリが掲載されているのはESP8266かESP32(M5Stack)ですので、まずはそのどちらかを使っているというのが条件になりそうですが、大丈夫ですか。
12
+
13
+
14
+
15
+ ---
16
+
17
+ > loraで送受信すると1行のパケットとして受信されるため、これを区別することができていないのです。
18
+
19
+
20
+
21
+ LoRaの受信パケットをひとつの文字列にまとめてパースするとして、LoRaの受信ループのところを
22
+
23
+ ```C++
24
+
25
+ float temperture;
26
+
27
+ float humidity;
28
+
29
+ int sensorValue;
30
+
31
+ int counter;
32
+
33
+ char c[packetSize + 1]; // C++の文法ではないけれどgccの拡張で通る...はず。
34
+
35
+ for (int i = 0;i<packetSize;i++){
36
+
37
+ c[i] = Lora.read();
38
+
39
+ }
40
+
41
+ c[packetSize] = '\0';
42
+
43
+ sscanf(c, "%f *C,%f RH%%%d Soil%%hello%d",
44
+
45
+ &temperture, &humidity, &sensorValue, &counter);
46
+
47
+ ```
48
+
49
+ としてみたらどうでしょうか。