JSON

インターネット上のデータ交換フォーマットとして、最近広く使われているJSON (JavaScript Object Notation)は、名前にJavaScriptが入っている事からも分かる通り、JavaScriptの文法をベースに作られたフォーマットだが、もちろんそれ以外の言語でも使用する事ができる。

PythonにもJSONを簡単に取り扱うためのモジュールが存在しているので、Raspberry PiでJSONのデータを取得し、SPI接続の液晶モジュールに表示させてみた。

ライブドアのお天気WebサービスがJSON形式で天気情報データを配布していて、データの構造については「お天気Webサービス仕様」に詳しく書かれている。

基本的には

import json

でモジュールを読み込んでおいてから、loadsメソッドで

http://weather.livedoor.com/forecast/webservice/json/v1?city=’地域ID’

を読み込むと指定した地域IDに対応した天気情報データが取得できる。

取得したデータには地域名、天気、気温などが含まれていて、天気に対応したアイコン画像のURLもその中に含まれている。

テストとして札幌、仙台、東京、名古屋、大阪、福岡、那覇、の天気データを取得して、順番に表示するプログラムを作ってみた。

2013-12-13 15.07.08

日本語の表示で特定のフォントサイズの時に表示が崩れるという現象が発生して、ちょっとばかり悩んでしまった。どうもTrueTypeフォントでサイズ指定が小さい時に、ビットマップフォントが代替で使用される仕組みと関係しているのでは無いかと思われるが、原因は今のところ不明。

日本語フォントは「ttf-kochi-gothic」を使用したので、フォントがインストールされていない場合は

$ sudo apt-get install ttf-kochi-gothic

で予めインストールしておく必要がある。

テストプロプログラムのソースコードは、「続きを読む」をクリック。
続きを読む »

広告