#ifndef BLE_H #define BLE_H #include #include #include #include #include #include #include class BLE : public QObject { Q_OBJECT public: explicit BLE(QObject *parent = nullptr); ~BLE(); void init(); //开始扫描设备 void startScanDevices(); //连接设备 void connectDevice(QString address); //连接服务 void connectService(QString uuid); //扫描状态 bool getScanning(){ return isScanning; } QList getDevices(){ return bleDevicesList; } QList getServicesUUID(){ return servicesUUIDList; } QList getChars(){ return characterList; } private slots: // QLowEnergyService related void serviceDetailsDiscovered(QLowEnergyService::ServiceState newState); signals: void signal_scanFinished(); void signal_findservicesFinished(); void signal_findcharsFinished(); private: QBluetoothDeviceDiscoveryAgent * m_DiscoveryAgent; //设备发现对象 bool isScanning = false; QLowEnergyController * m_LowController = nullptr; //中心控制器 QList bleDevicesList; QBluetoothDeviceInfo nowDevice; QString previousAddress; //之前的设备 QList servicesList; QList characterList; QList servicesUUIDList; }; #endif // BLE_H