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

質問編集履歴

2

一部修正

2021/01/27 05:07

投稿

MaeharaKenji
MaeharaKenji

スコア86

title CHANGED
File without changes
body CHANGED
@@ -109,7 +109,7 @@
109
109
 
110
110
  if(secCount > 0)
111
111
  {
112
- Firebase.setInt("/M5Stack/counter02", countIncriment);
112
+ Firebase.setInt("/M5Stack/counter", countIncriment);
113
113
  countIncriment++;
114
114
  secCount=0;
115
115
  }

1

ソースコードを追加。

2021/01/27 05:06

投稿

MaeharaKenji
MaeharaKenji

スコア86

title CHANGED
File without changes
body CHANGED
@@ -8,4 +8,113 @@
8
8
 
9
9
  クラウド側にアップロードして、特にFirebase.getIntなどのダウンロード行為はしていないのですが、150Mbyte分課金されたようになるのはなぜでしょうか?
10
10
 
11
- どうぞ、ご教示の程よろしくお願い致します。
11
+ どうぞ、ご教示の程よろしくお願い致します。
12
+
13
+
14
+
15
+ ```cpp
16
+
17
+ #include <ArduinoJson.h>
18
+ #include <IOXhop_FirebaseStream.h>
19
+ #include <IOXhop_FirebaseESP32.h>
20
+ #include <M5Stack.h>
21
+ #include <WiFi.h>
22
+
23
+
24
+
25
+
26
+
27
+ #define WIFI_SSID "*********"
28
+ #define WIFI_PASSWORD "*********"
29
+
30
+ // FirebaseのデータベースURL(ご自身のデータベースURLに変更してください)
31
+ #define FIREBASE_DATABASE_URL "https://*******-default-rtdb.firebaseio.com"
32
+
33
+
34
+ //timer interrupt variable.
35
+ volatile unsigned long usecCount = 0;
36
+ hw_timer_t *interrupptTimer = NULL;
37
+ portMUX_TYPE mutex = portMUX_INITIALIZER_UNLOCKED;
38
+
39
+ int secCount = 0;
40
+ int emgAramCount = -1;
41
+ int emgAramSoundCount = -1;
42
+
43
+
44
+ //Timer count
45
+ void IRAM_ATTR usecTimer()
46
+ {
47
+ portENTER_CRITICAL_ISR(&mutex);
48
+ usecCount += 5;
49
+ portEXIT_CRITICAL_ISR(&mutex);
50
+
51
+ if(((usecCount / 1000000) % 60) > 0){
52
+ if(secCount > -1)
53
+ {
54
+ secCount++;
55
+ }
56
+
57
+ usecCount = 0;
58
+
59
+ }
60
+ }
61
+
62
+
63
+ void setup() {
64
+ M5.begin();
65
+
66
+ // Wi-Fi接続
67
+ WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
68
+ Serial.print("connecting");
69
+ while (WiFi.status() != WL_CONNECTED) {
70
+ Serial.print(".");
71
+ delay(500);
72
+ }
73
+ Serial.println();
74
+
75
+ // Firebase初期化
76
+ Firebase.begin(FIREBASE_DATABASE_URL);
77
+
78
+ // WiFi Connected
79
+ Serial.println("\nWiFi Connected.");
80
+ Serial.println(WiFi.localIP());
81
+ M5.Lcd.setTextSize(3);
82
+ M5.Lcd.setCursor(10, 100);
83
+ M5.Lcd.println("Button Click!");
84
+
85
+
86
+
87
+ //interrupt timer setting
88
+ //timerBegin is count per 100 microsec.
89
+ interrupptTimer = timerBegin(0, 80, true);
90
+
91
+ //interrupt method setting
92
+ timerAttachInterrupt(interrupptTimer, &usecTimer, true);
93
+
94
+ //interrupt timing setting.
95
+ timerAlarmWrite(interrupptTimer, 5, true);
96
+ timerAlarmDisable(interrupptTimer);
97
+
98
+ portENTER_CRITICAL(&mutex);
99
+ timerAlarmEnable(interrupptTimer);
100
+ portEXIT_CRITICAL(&mutex);
101
+ }
102
+
103
+
104
+ int countIncriment=0;
105
+
106
+ void loop() {
107
+ M5.update();
108
+
109
+
110
+ if(secCount > 0)
111
+ {
112
+ Firebase.setInt("/M5Stack/counter02", countIncriment);
113
+ countIncriment++;
114
+ secCount=0;
115
+ }
116
+
117
+ }
118
+
119
+
120
+ ```