m5stackと3Gモジュールを購入し、センシングしたデータをgoogleスプレッドシートにアップロードしたいと思っています。
■3Gモジュール
https://www.switch-science.com/catalog/4000/
■M5Stack Gray
https://www.switch-science.com/catalog/3648/
まったく情報がなく、サンプルコードをめちゃくちゃに組み合わせてみましたが案の定コンパイルでエラーが発生します。
#include <M5Stack.h> #include <M5StackUpdater.h> #include <TinyGsmClient.h> #define TINY_GSM_MODEM_UBLOX const char* server = "script.google.com"; const char* key = "キーを入力しました"; // google script key float sensor_data1; float sensor_data2; float sensor_data3; TinyGsm modem(Serial2); /* Serial2 is Modem of 3G Module */ TinyGsmClient ctx(modem); void setup() { if(digitalRead(BUTTON_A_PIN) == 0) { Serial.println("Will Load menu binary"); updateFromFS(SD); ESP.restart(); Serial.begin(115200); M5.begin(); M5.Lcd.clear(BLACK); M5.Lcd.setTextColor(WHITE); M5.Lcd.println(F("M5Stack + 3G Module")); M5.Lcd.print(F("modem.restart()")); Serial2.begin(115200, SERIAL_8N1, 16, 17); modem.restart(); M5.Lcd.println(F("done")); M5.Lcd.print(F("getModemInfo:")); String modemInfo = modem.getModemInfo(); M5.Lcd.println(modemInfo); M5.Lcd.print(F("waitForNetwork()")); while (!modem.waitForNetwork()) M5.Lcd.print("."); M5.Lcd.println(F("Ok")); M5.Lcd.print(F("gprsConnect(soracom.io)")); modem.gprsConnect("soracom.io", "sora", "sora"); M5.Lcd.println(F("done")); M5.Lcd.print(F("isNetworkConnected()")); while (!modem.isNetworkConnected()) M5.Lcd.print("."); M5.Lcd.println(F("Ok")); M5.Lcd.print(F("My IP addr: ")); IPAddress ipaddr = modem.localIP(); M5.Lcd.print(ipaddr); delay(2000); } void loop() {} sensor_data1=100; //100をセンサー出力に変更すればセンサー計測値になります sensor_data2=200; sensor_data3=300; String URL="https://script.google.com/macros/s/"; URL += key; URL += "/exec?"; URL += "&1_cell="; URL += sensor_data1 ; URL += "&2_cell="; URL += sensor_data2 ; URL += "&3_cell="; URL += sensor_data3 ; delay(10000); //10秒毎に書き込みする }
スプレッドシート側のスクリプトのコード
var id = スプレッドシートのIDを入力しました'; function doGet(e) { if (e.parameter == undefined) { result = 'Parameter undefined'; } else { var sheet = SpreadsheetApp.openById(id).getActiveSheet(); var newRow = sheet.getLastRow() + 1; // 次の行に入力する var rowData = []; rowData[0] = new Date(); //タイムスタンプ for (var param in e.parameter) { var value = e.parameter[param]; rowData[parseInt(param)] = value; } var newRange = sheet.getRange(newRow, 1, 1, rowData.length); newRange.setValues([rowData]); var result = 'Ok'// Text des Anworts } return ContentService.createTextOutput(result); }
情報も知識もなくどうしようかと悩んでいます。
まったく無知でコードをあてずっぽうで組み合わせただけなので動かいないのは当たり前ですが...
参考になるサイトや情報、コードに不足している部分や変更したほうがいい点があれば教えてください。
■エラーメッセージ
In file included from C:\Users\User\Google ドライブ\RPMLOGv2\スケッチ\LENOVO\3GStackgoogleUPload\3GStackgoogleUPload.ino:3:0: C:\Users\User\OneDrive\�h�L�������g\Arduino\libraries\TinyGSM\src/TinyGsmClient.h:117:4: error: #error "Please define GSM modem model" #error "Please define GSM modem model" ^ 「SD.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SD 未使用:C:\Program 「SPIFFS.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SPIFFS 「M5StackUpdater.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\OneDrive\ドキュメント\Arduino\libraries\M5Stack-SD-Updater 「Preferences.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\Preferences 「TinyGsmClient.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\OneDrive\ドキュメント\Arduino\libraries\TinyGSM 「HTTPClient.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\HTTPClient 「SPI.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SPI 「FS.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\FS 「Update.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\Update 「WiFiClient.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi 未使用:C:\Program 「WiFiClientSecure.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFiClientSecure 「M5Stack.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\OneDrive\ドキュメント\Arduino\libraries\M5Stack 「Wire.h」に対して複数のライブラリが見つかりました 使用済:C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\Wire
回答1件
あなたの回答
tips
プレビュー