teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

修正しました

2021/06/18 06:59

投稿

raspypy
raspypy

スコア247

title CHANGED
@@ -1,1 +1,1 @@
1
- ESP32 測定データ 定期的に取得
1
+ Arduino 測定データ 定期的に取得
body CHANGED
@@ -1,6 +1,6 @@
1
1
  ##試していること
2
- ESP32で取得したデータを一定間隔の時間でAmbientに送信するプログラムを作成しています.
2
+ 取得したデータを一定間隔の時間でAmbientに送信するプログラムを作成しています.
3
- ESP32は,Ambientに送信した後,deep sleepに移行します.
3
+ Arduino,Ambientに送信した後,deep sleepに移行します.
4
4
 
5
5
  ##困っていること
6
6
  ↓のプログラムで,Ambientへのデータ送信を試みているのですが,
@@ -11,11 +11,6 @@
11
11
  **sendAmbient()**関数でデータ取得,Ambientへのデータ送信をするという考えなのですが,
12
12
  実際は,**sendAmbient()**関数へ移行することなく,Deep sleepになってしまいます.
13
13
 
14
- **sendAmbient()**関数へ移行しないというのは,**sendAmbient()**関数の一行目に"Hello"を表示させるようにして確認しました.
15
- (Helloが表示されませんでした.)
16
-
17
-
18
-
19
14
  ##プログラム
20
15
  ```C++
21
16
  void setup(){
@@ -27,40 +22,5 @@
27
22
  Serial.printf("in deep sleep\n");
28
23
  }
29
24
 
30
- void loop(){
31
- while (SwSerial.available() > 0) {
32
- if (gps.encode(SwSerial.read())) {
33
- break;
34
- }
35
- }
36
- sendAmbient();
37
- }
38
25
 
39
- void sendAmbient()
40
- {
41
- Serial.printf("Hello3\n");
42
- char buf[16];
43
- ambient.set(1, String(data.temperature).c_str());
44
- ambient.set(2, String(data.humidity).c_str());
45
- ambient.set(3, String(data.pressure / 100).c_str());
46
- if (gps.location.isValid()) {
47
- dtostrf(gps.altitude.meters(), 4, 2, buf);
48
- //println: 末尾にCR('\r')LR('\n')を付けて送信
49
- Serial.printf("ALT=",buf);
50
- Serial.println(buf);
51
- ambient.set(4, buf);
52
-
53
- dtostrf(gps.location.lat(), 12, 8, buf);
54
- Serial.printf("LAT=",buf);
55
- Serial.println(buf);
56
- ambient.set(9, buf);
57
-
58
- dtostrf(gps.location.lng(), 12, 8, buf);
59
- Serial.printf("LONG=",buf);
60
- Serial.println(buf);
61
- ambient.set(10, buf);
62
-
63
- ambient.send();
64
- }
65
- }
66
26
  ```

3

プログラムを編集しました

2021/06/18 06:59

投稿

raspypy
raspypy

スコア247

title CHANGED
File without changes
body CHANGED
@@ -21,17 +21,6 @@
21
21
  void setup(){
22
22
    SwSerial.begin(9600);
23
23
 
24
- while (SwSerial.available() > 0) {
25
- Serial.printf("Hello1\n");
26
- if (gps.encode(SwSerial.read())) {
27
- Serial.printf("Hello2\n");
28
- if (gps.location.isValid()) {
29
- sendAmbient();
30
- }
31
- break;
32
- }
33
- }
34
-
35
24
  Serial.printf("enter deep sleep\n");
36
25
  delay(10);
37
26
  esp_deep_sleep(1000000LL * S_PERIOD); // S_PERIOD秒Deep Sleepする
@@ -39,6 +28,12 @@
39
28
  }
40
29
 
41
30
  void loop(){
31
+ while (SwSerial.available() > 0) {
32
+ if (gps.encode(SwSerial.read())) {
33
+ break;
34
+ }
35
+ }
36
+ sendAmbient();
42
37
  }
43
38
 
44
39
  void sendAmbient()

2

プログラムを編集しました

2021/06/15 06:47

投稿

raspypy
raspypy

スコア247

title CHANGED
File without changes
body CHANGED
@@ -20,13 +20,18 @@
20
20
  ```C++
21
21
  void setup(){
22
22
    SwSerial.begin(9600);
23
+
23
24
  while (SwSerial.available() > 0) {
25
+ Serial.printf("Hello1\n");
24
26
  if (gps.encode(SwSerial.read())) {
27
+ Serial.printf("Hello2\n");
28
+ if (gps.location.isValid()) {
25
- //sendAmbient();
29
+ sendAmbient();
30
+ }
26
31
  break;
27
32
  }
28
- }
33
+ }
29
- sendAmbient();
34
+
30
35
  Serial.printf("enter deep sleep\n");
31
36
  delay(10);
32
37
  esp_deep_sleep(1000000LL * S_PERIOD); // S_PERIOD秒Deep Sleepする
@@ -38,7 +43,7 @@
38
43
 
39
44
  void sendAmbient()
40
45
  {
41
- Serial.printf("Hello\n");
46
+ Serial.printf("Hello3\n");
42
47
  char buf[16];
43
48
  ambient.set(1, String(data.temperature).c_str());
44
49
  ambient.set(2, String(data.humidity).c_str());

1

sendAmbient()の位置を修正しました

2021/06/15 06:18

投稿

raspypy
raspypy

スコア247

title CHANGED
File without changes
body CHANGED
@@ -22,10 +22,11 @@
22
22
    SwSerial.begin(9600);
23
23
  while (SwSerial.available() > 0) {
24
24
  if (gps.encode(SwSerial.read())) {
25
- sendAmbient();
25
+ //sendAmbient();
26
26
  break;
27
27
  }
28
- }
28
+ }
29
+ sendAmbient();
29
30
  Serial.printf("enter deep sleep\n");
30
31
  delay(10);
31
32
  esp_deep_sleep(1000000LL * S_PERIOD); // S_PERIOD秒Deep Sleepする