You certainly can join all the separate parts into one mesh, and still have it rigged properly.
Just make sure all vertices in the vertex groups all have a weight of either one or zero. you don't want any blending (like if you painted the weights in weight paint mode.)
Join all the pieces into one object, CtrlJ
(If you do not already have all the bones) add an armature and place the bones accordingly.
Now select the object then the armature, so the armature is the active object, and press CtrlP > Empty Groups.
Go into edit mode and select a piece (L and CtrlL should be very helpful here) make sure you are working on the correct vertex group (naming your bones would of helped) and set the weight to 1, then press Assign.
So in that picture I am "connecting" the bone named "Bone" to the selected cube.
All four cubes are in the same object, but with the weights correct the pieces move independently.
If you enter Weight Paint mode you should only see red and blue (or black if you have restrict turned on). Any other colors, light blue to green means there are other values and thus a bone is going to affect part of something that you do not want it to.