解决方案
Product
Services
开发者
工厂客户
Register
Login
首页
文章
详情
怎么用C#语言控制照明
2022-06-08 发布
浏览:170 次
本文介绍了如何用
CSharp
对接 智能灯座 的方法: 可以通过接口实现。
智能灯座
更多...
支持命令
线路
power
先通后断
point
先断后通
reset
产品手册
版本
对应产品手册
HTTP接口控制
以设备控制(向设备下发命令)为例
C#语言
using System; using System.Security.Cryptography; using System.Text; using RestSharp; // First you need to prepare the following values // 1. AppID (in your console development settings) // 2. AppSecret (in your console development settings) // 3. ts (timestamp of the current time, seconds) // 4. YourSign = md5(md5(AppSecret)ts);(md5 is an encryption method, AppSecret is the AppSecret prepared above, ts is the timestamp prepared above, concatenate the string after the AppSecret after md5 encryption) // In simple terms, the signature is md5(md5(your developer password)concatenate the above ts timestamp value); ts is the timestamp of the current timestamp; that is, to perform one MD5 on the developer password (AppSecret), then concatenate the timestamp, and then perform one MD5 on the entire concatenated string // Core request address: api.thingboot.com/AppID/device/control/?sign=YourSign&&ts=ts; // Request needs to pass two parameters device and order: // device[string]: unique device ID, can pass multiple [separated by ,], can be viewed in the console, or pulled through the interface // order[json string]: the command to be issued, for example: // {"power":1}, usually to connect the circuit of the switch // {"power3":0}, usually to close the third line of the switch or controller // {"play:gbk:16":"hello, welcome to visit"}, let the voice speaker report the specified content // The same type of product, the command is the same, different product types of commands, please view the product manual page of each product // Note: you must replace the formal AppID and AppSecret with real-time timestamp calculation of the signature, the request must have device device ID and order command class Program { static void Main() { // 配置参数 string AppID = "开发者ID"; // 替换为实际的 AppID string AppSecret = "开发者密码"; // 替换为实际的 AppSecret string device = "1878"; // 替换为实际的设备ID;可传多个[用,间隔] string order = "{\"power1\":1}"; // 替换为实际的命令 // 计算时间戳 long ts = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; // 计算 MD5 哈希值 md5(md5(开发者密码)拼接上面的ts参数) string md5Hash = ComputeMD5(AppSecret); // 计算 sign string signInput = $"{md5Hash}{ts}"; string sign = ComputeMD5(signInput); // 构造请求 URL string url = $"https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}"; // 构造请求体 var requestBody = new { device = device, order = order }; // 创建 RestClient var client = new RestClient(url); // 创建 RestRequest var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddJsonBody(requestBody); // 执行请求 IRestResponse response = client.Execute(request); // 输出响应 Console.WriteLine(response.Content); } // 计算 MD5 哈希值 static string ComputeMD5(string input) { using (MD5 md5 = MD5.Create()) { byte[] inputBytes = Encoding.UTF8.GetBytes(input); byte[] hashBytes = md5.ComputeHash(inputBytes); StringBuilder sb = new StringBuilder(); for (int i = 0; i < hashBytes.Length; i++) { sb.Append(hashBytes[i].ToString("x2")); } return sb.ToString(); } } }
文章:
怎么用C#语言控制照明
相关技术文章:
开放接口并支持对接的2路直流负载控制器
查看
开放接口并支持二次开发的2路智能墙壁电源开关
查看
开放接口并支持二次开发的2路智能墙壁远程控制开关
查看
开放接口并支持对接的60A带计量数显额定 13200W 断路器
查看
开放接口并支持对接的壁挂式双鉴雷达烟雾报警器
查看