3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pixoo64のREST APIを使ってみた②

Posted at

Pixoo64のREST APIできること

前回に続きAPIの詳細を見ていきたいと思います。
Pixoo64 REST API
フォルダのようなアイコンでカテゴリ分けされています。

カテゴリ 説明
dial contorol 時計コントロール
channel control チャンネルコントロール
system setting システム設定
tool ツール
animation function アニメーション機能
command list コマンドリスト

dial control (時計コントロール)

Divoomのスマホアプリの「チャンネル-時計」に関するところのようです。
dialcontrol_1.jpeg

Dial Type

時計タイプを取得する機能定義のAPIです。
呼び出してみると以下のような結果が返ってきます。

レスポンス
{"ReturnCode":0,"ReturnMessage":"","DialTypeList":["Social","financial","Game","normal","HOLIDAYS","TOOLS","Sport","Custom","self"]}

Dial List

時計タイプに属するClockIdを取得するAPIです。
時計タイプとページ番号を引数に指定します。

リクエスト
{"DialType":"Social","Page":1}
レスポンス
{"ReturnCode":0,"ReturnMessage":"",
"DialList":[{"ClockId":24,"Name":"Twitter Post"},
{"ClockId":38,"Name":"YouTube Account"},{"ClockId":40,"Name":"YouTube Video"},
{"ClockId":46,"Name":"Bilibili Account"},{"ClockId":48,"Name":"Bilibili-works"},
{"ClockId":52,"Name":"Bilibili Concept Account"},{"ClockId":54,"Name":"Bilibili Concept Video"},
{"ClockId":58,"Name":"DouYu Stream"},{"ClockId":100,"Name":"Twitter Account"},
{"ClockId":102,"Name":"Influencer "},{"ClockId":114,"Name":"Bilibili Video"},
{"ClockId":116,"Name":"Bilibili Stream"},{"ClockId":160,"Name":"Divoom"},
{"ClockId":222,"Name":"TikTok Video"},{"ClockId":248,"Name":"New Twitch Account"},
{"ClockId":252,"Name":"New Twitch Stream"},{"ClockId":258,"Name":"Twitch Live List"}]}

Select faces Channel

時計の選択をするAPIです。

リクエスト
{"Command":"Channel/SetClockSelectId","ClockId":38}

実行するとPixoo64の画面が変わります。
dialcontrol_2.jpeg
※存在しないClockIdを指定した場合は、エラーコードの0で成功のまま、画面が切り替わらないだけでした。

Get select face id

選択されているClockIdとBrightnessを取得できるようです。

リクエスト
{"Command":"Channel/GetClockInfo"}
レスポンス
{"ClockId":146,"Brightness":90}

channel control (チャンネルコントロール)

select channel

チャンネル選択するAPIです。
channelcontrol_0.jpeg
SelectIndexは
0:Faces(時計);
1:Cloud Channdle(クラウドチャンネル);
2:Visualizer(ビジュアライザ);
3:Custom(カスタム);
4:black screen(画面オフ)のいずれかを設定します。
さきほど出てきたdial controlは、0:Facesのチャンネル内の機能に当たるようです。

リクエスト
{"Command":"Channel/SetIndex","SelectIndex":2}

get cureent channel

現在のチャンネルを取得するAPIです。

リクエスト
{"Command":"Channel/GetIndex"}
リクエスト
{"SelectIndex":2}

Cloud Channel

クラウドチャンネルの選択するAPI
channelcontrol_1.jpeg
Indexは
0:Recommend gallery(おすすめ);
1:Favourite(お気に入り);
2:Subscribe artist(登録アーティスト);
3:album(アルバム作成)のいずれかを設定します。

リクエスト
{"Command":"Channel/CloudIndex","Index":1}

Visualizer Channel

チャンネルのビジュアライザの項目を選択するAPIです。
ビジュアライザはマイクで拾った音に反応するオーディオスペクトルの機能です。
channelcontrol_2.jpeg
EqPositionは0~となっており、画面の左上からの順番のようです。

リクエスト
{"Command":"Channel/SetEqPosition","EqPosition":6}

control custom channel

チャンネルのカスタムを選択するAPIです。
channelcontrol_3.jpeg
CustomPageIndexは自分で好きなピクセルアート作品を選択して作る機能のページの選択(0-2)です。

リクエスト
{"Command":"Channel/SetCustomPageIndex","CustomPageIndex":1}

system setting (システム設定)

Divoomアプリの設定画面
system_setting_1.jpeg

set brightness

ピクセルの明るさを設定するAPIです。
Brightnessには0-100を設定します。明るさ0はだと何も見えません。

リクエスト
{"Command":"Channel/SetBrightness","Brightness":10}

get all setting

システム設定値を取得するAPIです。

リクエスト
{"Command":"Channel/GetAllConf"}
レスポンス
{"error_code":0,"Brightness":1,"RotationFlag":0,"ClockTime":10,"GalleryTime":10,"SingleGalleyTime":10,"PowerOnChannelId":0,"GalleryShowTimeFlag":0,"Time24Flag":1,"TemperatureMode":0,"GyrateAngle":0,"MirrorFlag":0,"LightSwitch":1}

取得できる情報

項目 説明 対応するset API
Brightness 画面の明るさ set brightness
RotationFlag 時計+おすすめギャラリーのローテーション ?
ClockTime 時計表示時間 ?
GalleryTime ギャラリー表示時間 ?
SingleGalleyTime シングルアニメ表示時間 ?
PowerOnChannelId デフォルトのスタートアップチャンネル ?
GalleryShowTimeFlag 右上の表示時間 ?
Time24Flag 時刻の表記 Set hour mode
TemperatureMode 温度の表記 Set tempreature mode
GyrateAngle ディスプレイの回転 Set Rotaition angle
MirrorFlag 反転表示 Set Mirror mode
LightSwitch 画面のON/OFF Screen switch

Weather area setting

天気の情報を取得するための緯度経度を設定するAPIです。

リクエスト
{"Command":"Sys/LogAndLat","Longitude":"43.062","Latitude":"141.3543"}

Set Time Zone

タイムゾーンを設定するAPIです。

リクエスト
{"Command":"Sys/TimeZone","TimeZoneValue":"GMT+9"}

system Time

システム時間するAPIです。
UtcはUNIX時間で1970年1月1日午前0時0分0秒からの経過秒数です。

リクエスト
{"Command":"Device/SetUTC","Utc":1664745538 }

Screen switch

画面をON/OFFるAPIです。
OnOff:0がOFF、OnOff:1がONです。

リクエスト
{"Command":"Channel/OnOffScreen","OnOff":0}

Get Device Time

デバイスの時間を取得するAPIです。

リクエスト
{"Command":"Device/GetDeviceTime"}
レスポンス
{"error_code": 0, "UTCTime":1664745901, "LocalTime":"2022-10-03 06:25:01"}

Set tempreature mode

温度の表記を設定するAPIです。
Mode:0が℃、Mode:1が℉です。

リクエスト
{"Command":"Device/SetDisTempMode","Mode":0}

Set Rotaition angle

画面の回転を設定するAPIです。
Mode:0が0度、Mode:1が90度、Mode:2が180度、Mode:3が270度です。

リクエスト
{"Command":"Device/SetScreenRotationAngle","Mode":2}

Set Mirror mode

画面の反転(ミラーモード)を設定するAPIです。
Mode:0が通常、Mode:1が反転です。

リクエスト
{"Command":"Device/SetMirrorMode","Mode":1}

Set hour mode

時間表記を設定するAPIです。
Mode:0が12時間表記、Mode:1が24時間表記です。

リクエスト
{"Command":"Device/SetTime24Flag","Mode":1}

Set High Light mode

画面のハイライトモードを設定するAPIです。
Mode:0がclose、Mode:1がopenです。

リクエスト
{"Command":"Device/SetHighLightMode","Mode":1}

Set White Balance

画面のホワイトバランスを設定するAPIです。
RGBそれぞれ0-100の値を設定できます。

リクエスト
{"Command":"Device/SetWhiteBalance","RValue":100,"GValue":100,"BValue":100}

Get the Weather of the device

デバイスのお天気情報を取得するAPIです。

リクエスト
{"Command":"Device/SetWhiteBalance","RValue":100,"GValue":100,"BValue":100}
レスポンス
{"error_code":0,"Weather":"Cloudy","CurTemp":17.08,"MinTemp":17.03,"MaxTemp":17.37,"Pressure":1021,"Humidity":87,"Visibility":10000,"WindSpeed":5.96}

取得できる情報は

項目 説明
Weather 天候 (“Sunny”,”Cloudy”,”Rainy”,”Rainy”,”Frog”)
CurTemp 現在温度
MinTemp 最低気温
MaxTemp 最高気温
Pressure 気圧(hPa)
Humidity 湿度
Visibility 視界
WindSpeed 風速(m/s)

※APIの仕様ページにWeatherの説明にRainyが2つあるのは誤記と思われます。


結構説明が長くなってきたので、今回はここまで次回に続く。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?