解决方案
Product
Services
开发者
工厂客户
Register
Login
首页
文章
详情
如何用Ruby语言控制照明
2026-04-24 发布
浏览:460 次
本文介绍了如何用
Ruby
对接 智能灯座 的方法: 可以通过接口实现。
智能灯座
更多...
支持命令
线路
power
先通后断
point
先断后通
reset
产品手册
版本
对应产品手册
HTTP接口控制
以设备控制(向设备下发命令)为例
Ruby语言
require 'net/http' require 'json' require 'digest/md5' # 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 # 配置参数 app_id = '开发者ID' # 替换为实际的 AppID app_secret = '开发者密码' # 替换为实际的 AppSecret device = '1878' # 替换为实际的设备ID;可传多个[用,间隔] order = '{"power1":1}' # 替换为实际的命令 # 计算时间戳 ts = Time.now.to_i # 计算 MD5 哈希值 md5_hash = Digest::MD5.hexdigest(app_secret) # 计算 sign sign_input = md5_hash + ts.to_s sign = Digest::MD5.hexdigest(sign_input) # 构造请求 URL url = "https://api.thingboot.com/#{app_id}/device/control/?sign=#{sign}&ts=#{ts}" uri = URI.parse(url) # 构造请求体 request_body = { device: device, order: JSON.parse(order) }.to_json # 创建 HTTP 请求 request = Net::HTTP::Post.new(uri) request['Content-Type'] = 'application/json' request.body = request_body # 发送请求 response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| http.request(request) end # 输出响应 puts response.body
文章:
如何用Ruby语言控制照明
相关技术文章:
如何用Ruby语言控制10W 户外防水语音音柱
查看
怎样用Ruby语言控制吸顶安装人体感应器
查看
如何用Ruby语言控制智能通断器DC-10A
查看
如何用Ruby语言对接2路照明开关
查看
怎么用Ruby语言控制60W 云远程语音音柱
查看