You'll probably need to research what the particle size(s) is(are) for cigarette smoke, but this detects a bunch of different sizes:
https://www.sparkfun.com/products/15103
I have some code to read from this, it's not too hard. PM me if you're interested in my code. (I can open source it.)
I have some code to read from this, it's not too hard. PM me if you're interested in my code. (I can open source it.)