47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
|
|
//% color="#cf1256" iconWidth=50 iconHeight=40
|
|
namespace makergen{
|
|
|
|
//% block="连接设备 设备ID [ID] Device Key [KEY] 基础URL [BASEURL]" blockType="command"
|
|
//% ID.shadow="string"
|
|
//% KEY.shadow="string"
|
|
//% BASEURL.shadow="string"
|
|
//% BASEURL.defl="wss://api.makergen.cn"
|
|
export function connect(parameter: any, block: any) {
|
|
let id=parameter.ID.code;
|
|
let key=parameter.KEY.code;
|
|
let baseurl=parameter.BASEURL.code;
|
|
Generator.addImport(`\nimport makergen\nmakergen_device = makergen.Device(${id},${key},on_msg_callback=makergen_callback, base_url=${baseurl})\n`);
|
|
Generator.addCode(`makergen_device.connect()\n`);
|
|
}
|
|
|
|
//% block="向数据点 [POINT] 发送数据 [VALUE]" blockType="command"
|
|
//% POINT.shadow="string"
|
|
//% VALUE.shadow="normal"
|
|
export function send_msg(parameter: any, block: any) {
|
|
let point=parameter.POINT.code;
|
|
let value=parameter.VALUE.code;
|
|
Generator.addCode(`makergen_device.send_data(${point},str(${value}))\n`);
|
|
}
|
|
|
|
//% block="当接收到消息时" blockType="hat"
|
|
export function on_msg(msg: any) {
|
|
Generator.addEvent("makergen_callback", "makergen_callback", "point, value", false);
|
|
}
|
|
|
|
//% block="---"
|
|
export function separator() {}
|
|
|
|
//% block="控制点" blockType="reporter"
|
|
export function get_point(parameter: any, block: any) {
|
|
Generator.addCode(`point`);
|
|
}
|
|
|
|
//% block="控制值" blockType="reporter"
|
|
export function get_value(parameter: any, block: any) {
|
|
Generator.addCode(`value`);
|
|
}
|
|
|
|
|
|
}
|