티스토리 뷰

반응형

여러 언어로 프로그래밍을 하여 제어를 할 수 있는 USB 파워서플라이입니다.

전원은 microUSB 포트로 공급됩니다. 

1V 출력

15V 까지 전압 출력을 할 수 있다.
(전력이 제한되어 있으므로 전류는 144mA까지만 출력이 가능하다.)

15V 출력

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 }
반응형
댓글
댓글쓰기 폼