반응형
여러 언어로 프로그래밍을 하여 제어를 할 수 있는 USB 파워서플라이입니다.
전원은 microUSB 포트로 공급됩니다.
15V 까지 전압 출력을 할 수 있다.
(전력이 제한되어 있으므로 전류는 144mA까지만 출력이 가능하다.)
C# 데이터 수신 테스트
using Newtonsoft.Json;
namespace siru.box
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
var url = "http://siru.box/state.cgi";
var siruboxJsons = _download_serialized_json_data<siruboxJson>(url);
label1.Text = siruboxJsons.vout.ToString();
}
private static T _download_serialized_json_data<T>(string url) where T : new()
{
using (var w = new WebClient())
{
var json_data = string.Empty;
// attempt to download JSON data as a string
try
{
json_data = w.DownloadString(url);
}
catch (Exception) { }
// if string with JSON data is not empty, deserialize it to class and return its instance
return !string.IsNullOrEmpty(json_data) ? JsonConvert.DeserializeObject<T>(json_data) : new T();
}
}
}
public class siruboxJson
{
public int tick { get; set; }
public bool output { get; set; }
public float vset { get; set; }
public int iset { get; set; }
public float vout { get; set; }
public int iout { get; set; }
public int ilimit { get; set; }
public bool cv { get; set; }
public bool cc { get; set; }
public bool undervolt { get; set; }
public bool overvolt { get; set; }
}
}
위의 siruboxJson 클래스는 JSON 문자열을 복사 후, 편집 - 선택하여 붙여넣기 - JSON을 클래스로 붙여넣기를 선택하면 자동으로 생성됩니다.
siru.box/state.cgi 로 접속하면 나타나는 JSON 데이터
{ "tick": 776640, "output" : true, "vset": 1.50, "iset": 1, "vout": 1.50, "iout": 0, "ilimit": 1, "cv": true, "cc": false, "undervolt": false, "overvolt": false }
반응형