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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Arduino

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

Q&A

2回答

430閲覧

ESP32と3gimとの接続

CyPris

総合スコア11

Arduino

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

0グッド

0クリップ

投稿2018/05/26 10:50

前提・実現したいこと

ESP32と3gimを接続したいと思っています。
ESP32ではソフトウェアシリアルが使えないので、3gimのライブラリ"a3gim2.h"と"a3gim2.cpp"を
ESP32用に書き換えました。
書き換え方や配線に問題があれば、ご教授お願いします。

発生している問題・エラーメッセージ

3gimの起動は確認できたのですが、 a3gim.start後に表示されるはずの「Welcom to 3GIM(v2)」が確認できません。

該当のソースコード

Arduino

1■ino skech 2// 3GIM(V2) sample skech for Mega/Leonardo.. -- getRSSI 3 4#include "a3gim2.h" 5 6#define baudrate 9600 7const int powerPin = 18; 8 9void setup() 10{ 11 Serial.begin(baudrate); 12 delay(3000); // Wait for Start Serial Monitor 13 Serial.println("Ready."); 14 //3gimの起動 15 while(a3gs.start(powerPin)!=0) 16 { 17 Serial.print("."); 18 delay(500); 19 } 20 //3gimの通信開始 21 while(a3gs.begin()!=0) 22 { 23 Serial.print("."); 24 delay(500); 25 } 26 //電波状況確認 27 Serial.println("status check"); 28 a3gs.getRSSI(value); 29 Serial.printf("denpa %d\n", value); 30 delay(500); 31 32} 33 34void loop() 35{ 36} 37 38// END 39```[リンク内容](https://github.com/openwireless/3gim) 40 41

試したこと

"a3gim2.h"の44行目をコメントアウト
"a3gim2.cpp"に#include "HardwareSerial"
HardwareSerial a3gSerial(2);
を追加しました。

補足情報(FW/ツールのバージョンなど)

ピンの配線

3gim ESP32

#1 PWR_ON GPIO18
#2 RX GPIO16
#3 TX GPIO17
#4 IOREF 5V
#5 VCC 3.3V
#6 GND GND

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

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

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

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

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

guest

回答2

0

3GIMというモジュールを使ったことありませんが、GPS及び3Gモジュールをいくつか使ったことがあるので参考になれば。

a3gim2.hのライブラリの内容がわかりませんが、TX,RXを16,17ピンで使用する場合は「Serial2」にする必要があります。

下記コードはそのままコピペはできませんが、GPSモジュールから緯度経度情報を取得するコードになります。Serialが2つ使われていることがわかると思います。

参考になれば。

c

1#include <TinyGPS++.h> 2 3TinyGPSPlus gps; 4 5float gps_lat; //緯度 6float gps_longt; //経度 7 8void setup() 9{ 10 // シリアルポート開始 11 Serial.begin(115200); 12 // Arduino core for ESP32でデフォルトでSerial2に設定されているらしいのでそのまま開始 13 Serial2.begin(9600); // NEO-7M デフォルト 14} 15 16void loop() { 17 while (Serial2.available() > 0) { 18 char c = Serial2.read(); 19 gps.encode(c); 20 if (gps.location.isUpdated()) { 21 gps_lat = gps.location.lat(); 22 gps_longt = gps.location.lng(); 23 Serial.print("LAT: "); Serial.println(gps_lat,9); 24 Serial.print("LONG: "); Serial.println(gps_longt,9); 25 delay(5000); 26 } 27 } 28} 29 30

投稿2022/09/27 05:02

nariyyynari

総合スコア48

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

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

0

ESP32ではESP32用のライブラリ使えばどーなんでしょう。
ちょっとぐぐっても製作例がたくさん出てきますし

投稿2018/05/26 11:02

y_waiwai

総合スコア87774

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

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

CyPris

2018/05/26 11:17

3gimを用いた例があまり見当たらず困っていたところなんです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問