package main // 协议基础信息 var ProductMode = map[string]string{ "Id": "0", // 此行不能乱改,需要联系管理员 分配ID "T_name": "http", // 协议名称 "T_connect": "bj-3-mqtt.iot-api.com:1883", // 连接地址 "T_describe": "描述内容", // 协议描述 "T_state": "0", // 连接状态 0停用 1启用 } // 参数配置模版 var ProductModeConfig = map[string]map[string]string{ "port": { "T_name": "端口号", // 名称 用于参数显示与数据获取标识 "T_describe": "填写连接端口号", // 描述 "T_value": "1883", // 默认值 }, } // 设备上下线状态推送 T_State:(0 验证 1 在线 2 离线 3 添加 ) T_Reason:备注内容 var FunStateHandle func(T_sn, T_password string, T_State int, T_Reason string) error // 设备->平台 var FunPullHandle func(T_sn, T_password, T_topic string, T_data []byte) error // 平台->设备 func FunPushHandle(T_topic string, T_data []byte) error { return nil } // 初始化服务 func GoInit(FunPluginStateHandle func(T_sn, T_password string, T_State int, T_Reason string) error, FunPluginPullHandle func(T_sn, T_password, T_topic string, T_data []byte) error) { FunStateHandle = FunPluginStateHandle // 设备上下线状态推送 方法指针 FunPullHandle = FunPluginPullHandle // 设备->平台 方法指针 } // 开启服务 func GoRun(TConfig_map map[string]string) (map[string]string, error) { println(ProductMode["T_name"]) // TConfig_map["port"] // 获取配置参数 ProductMode["T_state"] = "1" return ProductMode, nil } // 通知服务 func GoStop() (map[string]string, error) { // 关闭服务 println(ProductMode["T_name"], " 关闭服务!!") ProductMode["T_state"] = "0" return ProductMode, nil } //打包 SO 文件时,一定要注释 main主函数 //func main() { // // // GoRun(map[string]string{ // "port":"8080", // }) // // //GoStop() // // // 等待信号或其他事件来退出程序 // select {} //} //