var mOnFire = require("./other/onfire.js"); var $wxBlufiImpl = require("./xBlufi-wx-impl.js"); // 0表示阿里支付宝小程序 1表示微信小程序 let XMQTT_SYSTEM = { Alis: 0, WeChat: 1 }; let XBLUFI_TYPE = { TYPE_STATUS_CONNECTED: '-2', /// 设备连接状态回调 TYPE_CLOSE_CONNECTED: '-1', ///主动关闭连接 TYPE_CONNECTED: '0', //主动连接 TYPE_GET_DEVICE_LISTS: '1', //发现设备列表回调 TYPE_INIT_ESP32_RESULT: '2', TYPE_RECIEVE_CUSTON_DATA: '3', //接收到自定义数据 TYPE_CONNECT_ROUTER_RESULT: '4', TYPE_RECIEVE_MY_DATA: '5', TYPE_GET_DEVICE_LISTS_START: ' 41', //发现设备列表回调开始 TYPE_GET_DEVICE_LISTS_STOP: '42' //停止发现设备列表回调 }; let OnFireEvent = { EVENT_START_DISCONORY: '0', //蓝牙状态事件 发现设备 EVENT_CONNECT_DISCONNECT: '1', //通知连接或断开蓝牙 EVENT_NOFITY_INIT_ESP32: '3', //通知获取蓝牙设备的服务uuid列表等初始化工作 ENENT_ALL: '6', EVENT_NOFITY_SEND_ROUTER_SSID_PASSWORD: '50', //通知发送路由器的ssid和password EVENT_NOFITY_SEND_CUSTON_DATA: '51' //通知发送自定义数据 }; /** * 初始化 * @param type 参考 XMQTT_SYSTEM */ let once = 0 function initXBlufi(type) { switch (type) { case XMQTT_SYSTEM.Alis: break; case XMQTT_SYSTEM.WeChat: if(once==0) { once = 1; $wxBlufiImpl.init(); } break; } } let my_path = '' function set_path(type) { my_path = type; } function get_path(type) { return my_path; } function notifyDeviceMsgEvent(options) { mOnFire.fire(OnFireEvent.ENENT_ALL, options); } function listenDeviceMsgEvent(isSetListener, funtion) { if (isSetListener) { mOnFire.on(OnFireEvent.ENENT_ALL, funtion); } else { mOnFire.un(funtion); } } /** * 开始或停止发现附近的蓝牙设备 * @param options 连接参数 {"isStart":true , "filter":"名字过滤"} :是否开始发现设备 */ function notifyStartDiscoverBle(options) { mOnFire.fire(OnFireEvent.EVENT_START_DISCONORY, options); } /** * 开始或停止发现附近的蓝牙设备 * @param options 连接参数 {"isStart":true} 是否开始发现设备 */ function listenStartDiscoverBle(isSetListener, funtion) { if (isSetListener) { mOnFire.on(OnFireEvent.EVENT_START_DISCONORY, funtion); } else { mOnFire.un(funtion); } } /** * 连接或断开 蓝牙连接 * * @param options 连接参数 {"connect":true,"deviceID":"设备id,蓝牙发现列表获取"} */ function notifyConnectBle(options) { // console.log('notifyConnectBle 蓝牙准备连接的deviceId --------------'); mOnFire.fire(OnFireEvent.EVENT_CONNECT_DISCONNECT, options); } /** * 开始或停止连接的蓝牙设备 * @param options 连接参数 {"isStart":true} 是否开始发现设备 */ function listenConnectBle(isSetListener, funtion) { if (isSetListener) { mOnFire.on(OnFireEvent.EVENT_CONNECT_DISCONNECT, funtion); } else { mOnFire.un(funtion); } } /** * 通知初始化获取设备的服务列表等信息 * @param options 连接参数 {"deviceId":"设备的设备id"} */ function notifyInitBleEsp32(options) { mOnFire.fire(OnFireEvent.EVENT_NOFITY_INIT_ESP32, options); } /** * 通知初始化获取设备的服务列表等信息 * @param options 连接参数 {"isStart":true} 是否开始发现设备 */ function listenInitBleEsp32(isSetListener, funtion) { if (isSetListener) { mOnFire.on(OnFireEvent.EVENT_NOFITY_INIT_ESP32, funtion); } else { mOnFire.un(funtion); } } /** * 发送要连接的路由器的ssid和密码 * @param options 连接参数 {"deviceId":"设备的设备id","serverId":"服务id","characterId":"通道","ssid":"路由器名字","password":"密码"} */ function notifySendRouterSsidAndPassword(options) { mOnFire.fire(OnFireEvent.EVENT_NOFITY_SEND_ROUTER_SSID_PASSWORD, options); } /** * 发送要连接的路由器的ssid和密码 * @param options 连接参数 {"isStart":true} 是否开始发现设备 */ function listenSendRouterSsidAndPassword(isSetListener, funtion) { if (isSetListener) { mOnFire.on(OnFireEvent.EVENT_NOFITY_SEND_ROUTER_SSID_PASSWORD, funtion); } else { mOnFire.un(funtion); } } /** * 发送自定义数据 * @param options 连接参数 {"deviceId":"设备的设备id","serverId":"服务id","characterId":"通道","customData":"自定义数据""} */ function notifySendCustomData(options) { // console.log("设备数据",options) mOnFire.fire(OnFireEvent.EVENT_NOFITY_SEND_CUSTON_DATA, options); } /** * 发送自定义数据 * @param options 连接参数 {"deviceId":"设备的设备id","serverId":"服务id","characterId":"通道","customData":"自定义数据""} */ function listenSendCustomData(isSetListener, funtion) { if (isSetListener) { mOnFire.on(OnFireEvent.EVENT_NOFITY_SEND_CUSTON_DATA, funtion); } else { mOnFire.un(funtion); } } /****************************** 对外 ***************************************/ module.exports = { XMQTT_SYSTEM, XBLUFI_TYPE, OnFireEvent, notifyDeviceMsgEvent, listenDeviceMsgEvent, notifyStartDiscoverBle, listenStartDiscoverBle, notifyConnectBle, listenConnectBle, notifyInitBleEsp32, listenInitBleEsp32, notifySendRouterSsidAndPassword, listenSendRouterSsidAndPassword, notifySendCustomData, listenSendCustomData, initXBlufi, set_path, get_path };