Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RaspberryPiとPythonでNetatmoの環境データの取得

 RaspberryPiとPythonでNetatmoの環境データの取得

Shingen.py 勉強会LTの発表資料です。
Pythonで部屋のCO2濃度が高いときに警告を出すスクリプトを書きます。
RaspberryPiとNetatmoを使用します。

ootakazuhiko

June 29, 2019
Tweet

Other Decks in Technology

Transcript

  1. 1987年 山梨大学工学部計算機科学科入学 1994年 山梨大学大学院工学研究科博士後期課程社会・情報システム工学専攻入学 人工知能とコンピュータの基礎理論の研究を行う 1998年 株式会社ジインズ取締役就任 1998年 山梨大学大学院工学研究科博士後期課程社会・情報システム工学専攻 博士号取得(博士(工学))

    2006年3月 SI事業立ち上げのため、株式会社ジインズ退社 2006年7月 株式会社アイウィーヴ設立に参画 取締役SI関連事業担当 2007年6月 共著「Asterisk運用・開発ガイド」刊行 2007年7月 株式会社アイティードゥ設立 代表取締役就任 ITインフラの設計構築を行う。社員数15名(2019年7月現在) 2009年10月 コンピュータ利用促進協同組合(CCP)代表理事 ~2013年 2013年5月 株式会社エーティーエルシステムズ取締役 ~2014年 2016年8月~ SANTA教育プロジェクト準備メンバー (2017年10月正式立ち上げ) 2 自己紹介
  2. 11 とりあえずNetatmo APIを呼ぶ pi@raspberrypi ~ $ curl -X POST https://api.netatmo.com/oauth2/token

    -d "grant_type=password &client_id=5dXXX...XXX03f &client_secret=8OXXX...XXXbk &[email protected] &password=XXXXXX« 返値 {"access_token":"548xxx...xxx415","refresh_token":"5 486xxx...xxxcf9","scope":["read_station"],"expires_in": 10800,"expire_in":10800}
  3. 13 取得プログラム #!/usr/bin/python3 # encoding=utf-8 import lnetatmo #tokenを取得 authorization =

    lnetatmo.ClientAuth( clientId = "5dXXXXXXXXXXXXXXXXXXXX3f", clientSecret = "8OXXXXXXXXXXX…XXXXXXXXbk", username = “[email protected]", password = “XXXXXXXX", scope = "read_station" ) #天気情報の取得 weather_station = lnetatmo.WeatherStationData(authorization) #天気情報の表示 print(weather_station.lastData())
  4. 14 返値 {'2階正面ひさし上': {'rf_status': 67, 'WindStrength': 1, 'max_wind_angle': 323, 'WindAngle':

    90, 'GustStrength': 4, 'date_max_wind_str': 1561734045, 'GustAngle': 106, 'battery_vp': 4885, 'When': 1561769414, 'max_wind_str': 9}, '2階ベランダ': {'rf_status': 65, 'min_temp': 25.8, 'date_min_temp': 1561748822, 'When': 1561769376, 'battery_vp': 6054, 'Humidity': 73, 'Temperature': 27.2, 'max_temp': 27.2, 'date_max_temp': 1561768506, 'temp_trend': 'stable'}, 'Indoor': {'CO2': 562, 'min_temp': 26.5, 'date_min_temp': 1561742821, 'Pressure': 997.2, 'When': 1561769419, 'wifi_status': 47, 'Noise': 53, 'Humidity': 70, 'Temperature': 27.3, 'date_max_temp': 1561768511, 'max_temp': 28.2, 'pressure_trend': 'stable', 'AbsolutePressure': 966.3, 'temp_trend': 'stable'}, 'ITDO#01雨量(2階ひさし上)': {'battery_vp': 6110, 'rf_status': 73, 'When': 1561769414, 'sum_rain_1': 0, 'Rain': 0, 'sum_rain_24': 0}}