Arduino筆記(37):NodeMCU與GPS模組GY-NEO-6MV2

Blynk 的 APP有個 Map的小程式(widget),可以透過開發板讀取 GPS 模組的地理座標,轉換成地圖位置呈現在手機上。不過這好像有點多此一舉,因為手機就有 GPS 的功能,還要透過 Blynk 讀取 NodeMCU的 GPS模組資料,取的座標位置後,再開啟 Blynk的 Map顯示在上面。不過可以試試讀取的步驟跟作法,下次來試做一下直接顯示在筆記型電腦的 Google Map上。

我將上傳到 NodeMCU 的 SSID 帳號密碼,則是設定成我手機熱點的帳號密碼,利用搭客運時,將手機設定成「個人熱點」,透過 4G 分享網路,讓 NodeMCU 連接到網際網路, Blynk 也可以連線到我的專案,這樣就完成顯示 GPS位置的功能。

Blynk有個範例程式碼自動產生的網站: Example Code Builder,選擇左方使用的開發板、連接網路的方式及使用 Widget 的類型,即可產生 Blynk 的範例程式。

開啟 Blynk APP,建立一個專案,如下圖左方。在新專案中點選 Map 及GPS Stream兩個 Widget。


調整畫面大小後,設定輸入為[V1]。回到主畫面可以對地圖用雙指進行放大縮小。

[材料]

•  GPS 模組GY-NEO-6MV2  x 1個
•  NodeMCU V3 x 1個
• 麵包板 x 1個
• 連接線 x 4條
• 可使用3G/4G上網手機 x 1支

[線路圖]

GY-NEO-6MV2 
NodeMCU
VCC
3V
GND
GND
RX
Pin D1
TX
Pin D2


[程式]

#define BLYNK_PRINT Serial
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// 修改成上述寄到登入郵箱的 Token號碼
char auth[] = "12345678901234567890123456789012";


// 設定手機分享的網路基地台SSID跟密碼
char ssid[] = "MyCellPhone WiFi";
char pass[] = "12345678";

WidgetMap myMap(V1);

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);

  int index = 0;
  float lat = 51.5074;
  float lon = 0.1278;
  myMap.location(index, lat, lon, "value");
}

void loop()
{
  Blynk.run();
}


[執行結果]

執行結果,如下左圖,也可以切換成衛星模式,如右圖。


[參考資料]

Blynk 官方網站: https://blynk.io/
Hackster.io: NodeMCU GPS Tracker Blynk App In IOT Platform

8 留言

  1. 那可以用藍芽不用wifi嗎?

    回覆刪除
    回覆
    1. NodeMCU只有Wifi,沒有藍牙功能。如改用ESP32,具有藍牙功能的開發板,不確定Blynk是否可以使用,找時間試試。

      刪除
  2. 不好意思請問我可以把我所得到的資訊傳送到其他裝置嗎??

    回覆刪除
  3. 回覆
    1. 你自己爛還敢嘴別人啊
      笑死

      刪除
    2. 爛死了不會自己debug嗎?
      別人願意告訴你有這東西就謝天謝地了Wwww

      刪除

張貼留言

較新的 較舊