質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

1323閲覧

M5Stack+3Gモジュールでgoogleスプレッドシート上にデータをアップロードしたい

nullsan

総合スコア20

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2019/12/21 08:30

編集2019/12/21 08:57

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

■参考にしたサイト
https://raspberry-pi.nomad-life.net/1917477/memo/esp32%E3%81%A7google%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88%E3%81%AB%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%93%E3%81%A7%E3%81%BF%E3%82%8B

https://dev.soracom.io/jp/start/m5stack/#step2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/12/21 08:37

エラーが出るなら、エラー・メッセージを提示しましょう
nullsan

2019/12/21 08:58

すみません。 追記しました!
guest

回答1

0

ベストアンサー

TinyGsmClient.hからGSMモデムの型名を#defineしろって言われてるのだから、
スイッチサイエンスのG3モジュールのページのリンクをたどったページのサンプルのように、
#include <TinyGsmClient.h>
よりも前に
#define TINY_GSM_MODEM_UBLOX
を入れてやればいいんじゃないでしょうか。

まったく無知でコードをあてずっぽうで組み合わせただけ

だとすると他のエラーもいろいろ出そうですが。

投稿2019/12/21 09:12

thkana

総合スコア7639

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nullsan

2020/01/11 08:31

ご回答ありがとうございます。 上記手段でエラー解決しました! ほかにも問題はあるので勉強していこうと思います。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問