ESP8266 PlaneSpotterColorはESP8266で旅客機の位置情報を取得し、小型カラー液晶に表示するプログラム。なんかHSES-LCD24で簡単に動きそうなので試してみた。



プログラムはArduinoのsketchでGitHubで公開されている。GitHub中のドキュメントに従い、ライブラリをインストール。setting.hでピン配置をHSES-LCD24用に変更後、Arduino-IDEで書き込む。


[code language="cpp"]
// Tft library connectors
#define TFT_DC 15
#define TFT_CS 2
#define TOUCH_CS 16
#define TOUCH_IRQ 4
#define LED_PIN 5

// Needed for loading the map. If you want to be save better get your own key here:
// https://developer.mapquest.com/plan_purchase/steps/business_edition/business_edition_free/register
#define MAP_QUEST_API_KEY "r19I8UVBfwIkmE4EZR9S6yMR43eMiRDZ"

// Need for loading map by google static map api. If you want to be save better create one here
// https://developers.google.com/maps/documentation/static-maps/get-api-key?hl=de
#define GOOGLE_API_KEY "AIzaSyBw0G8jCBry0IATNmysuyPd2fBblndS3jU"

#define MAP_ZOOM 11
#define MAP_WIDTH 320
#define MAP_HEIGHT 192
[/code]

起動させると、WiFiの設定を待っている模様。iPhoneのWiFi設定を切り替え、ESP8266に接続するとSSIDの選択とパスワードの入力ができる。便利だ。入力が終ると、いきなり熊本周辺の地図が表示されて驚く。



どうも、現在地情報は受信できるSSIDの情報からWifi Geolocatorで取得しているらしい。が、しかし、リセットしたら位置情報を取得できず、東経0度北緯0度の地図、海が表示される。しかし、航空機の情報はいくつか表示される。抜本的な改良は時間がかかりそうなので、とりあえず羽田空港の位置をハードコードしてみる。

[code lang="cpp"]
+#if 0
locator.updateLocation();
mapCenter.lat = locator.getLat().toFloat();
mapCenter.lon = locator.getLon().toFloat();
+#else
+ // 羽田空港
+ mapCenter.lat = 35.549;
+ mapCenter.lon = 139.7798;
+#endif
[/code]



GoogleMapを表示させたり、WiFiで位置情報を取得したり、非常に興味深い。もう少し調べてみようと思う。