To solve you problem you should thrown one of classes which your DeviceActivity inherits.
I suspect you use this code for BlunoLibrary
https://github.com/DFRobot/BlunoBasicDemo
As you can see BlunoLibrary Class extends Activity.
So you have three choices.
1. Extend BlunoLibrary Class from Fragment (instead of Activity) and replace Activity UI methods (onCreate, on Start...) with Fragment UI methods (onCreateView, onStart...)
You will get DeviceActivity extends BlunoLibrary, BlunoLibrary extends Fragment
So, your DeviceActivity will actually inherit both and Java rule will be not violated.
And yes, UI methods of BlunoLibrary will be redefined by UI methods of DeviceActivity and you
will need to cope with this.
May be better just extend BlunoLibrary Class from Fragment, replace methods and use it instead of DeviceActivity Class.
But if you are going to use BlunoLibrary multiple times you should use next variants 2 or 3.
2. Rewrite code of BlunoLibrary class and separate Activity methods (onCreate, onStart, OnResume) from Bluetooth processing methods and fields.
After that you will get User Class Bluno, that does not have superclass. You can insert Bluno object inside any Fragments as a field and use Bluno object and methods for connectivity to device.
3. Separate Activity methods (onCreate, onStart, OnResume) from Bluetooth processing methods and fields.Create Bluno Interface, which define methods for connectivity. Impements it in your Fragment and move code for Bluno inside the Fragment.
I think it's better but complicated to separate BlunoLibrary from UI and use it further. Author made mixed version for demo purposes.
This is an example where it has been done
https://github.com/mibcxb/BlunoLibrary
Here Bluno interface used for User class BlunoBase. BlunoBase class does not have Activity as a superclass and used by BlunoManager like common user class.