2019年7月18日木曜日

Arduino+74HC595+8×8nマトリクスLED(8.1)

1.名鉄公式サイトにAPIが存在しない

駅すぱ〜とに代表される時刻(というより乗り換え)検索系サービスと公共交通機関が契約、そのサービスのAPIを利用して公式サイトを構成している様な雰囲気なので、当然お金が絡みます。APIがあるはずだけど先の理由で公開されていない、と判断しました。名鉄の場合は駅探というサービスが挟まっています。
法的にはグレーですが、商用利用ではなく個人で閉じた利用ですので大丈夫でしょう。




私企業ではあるものの「公共交通機関」である以上は、「各駅の時刻表のデータ」は公開義務がある、とさえ思っているのですが、まぁ私がそう思っているだけです(笑)
この種のサービスがやっていることって、時刻表データという元ネタを読んで、表示整形しているだけなので、時刻表データそのものではありません。時刻表データというのは根本的にはデータ発生源の公共交通機関が持っておくべきデータであって、各検索サービスが持っておくべきデータではないんですよね。

ちなみに鯖江市のコミュニティーバスはちゃんと公開APIを持っているんですよ。企業資本の規模が全然違うはずなのにやることやってる感じで好印象。これが公共交通機関がとるべき本来の姿です。

参考)つつじバスロケーションWEB API

APIでなくともテキストファイルで取れるようにしておいてくれとは思います。


閑話休題。

前述の通り、公開APIはないので代替でつかえそうなモノ、つまり公式サイトの駅別時刻表をつかいます。
ところで、名鉄の場合(というか他社もそうだと思うけど)、PC用と携帯用で随分と様子が違っています。
実際に見てもらうと以下に書いたことが理解しやすいのではないかと思い、中京競馬場前駅の駅別時刻表にリンクします。

【PC版 中京競馬場前駅 平日 名古屋方面】
【携帯版 中京競馬場前駅 平日 名古屋方面 17:00台】

PC用は駅で配布されていたりする紙イメージに近い全時刻が一覧になっている形式、携帯用は一段フォームが挟んであって、ある駅の方面+時間帯を選択後にその情報のみが表示される形式です。
第一印象ではPC用を使うしかなさそうなのですが、CSSがゴリゴリ指定してあります。CSSはブラウザの表示に使う表示様式設定にすぎないので、時刻データだけ欲しい場合は全く不要なデータになります。もともとマイコンはメモリが少ないので、長ければ長いほど解析に使えるメモリも減ってしまいます。余分なデータで装飾されているので解析量も増えてしまいます。できればPC用は使いたくない。

一方、ブラウザで携帯用時刻表ページをソース表示してみたところ、ページ表示した時点では上下どちらかの方面の時刻表が「全時間帯」分埋め込まれていることがわかりました。非表示のListタグで保持されていて、非表示であるがゆえ表示周りの設定もありませんのでデータ部分のみ取り出すのも簡単です。どうみても利用しやすい。

というわけでデータ取得先は名鉄公式の携帯版駅別時刻表ページに決定。
問題はフォームが一段挟んであるところなのですが、フォームから時刻表示を何回か繰り返していたら引数に渡す値がわかってきましたので、URLで平日/土休日、上り/下りを指定できそうです。


1.データどこから取得する? <---今ここ
2.データの取得と解析はどうする?
3.RTCないけどどうする

0 件のコメント:

コメントを投稿

ESP32 Devkit C での疑問点

 前回の投稿から放置状態にあった当ブログですが、再び何かしら作ろうということで、スマートコンセントもどきに取り組んでいます。 回路なども一応動作するものができたのですが、ブレッドボードから移行するために基板に用意しておいたピンソケットにESP32を取り付けたところ、なぜか動作しま...