This is a general way that you can apply to this kind of problems (I'll call the strings with no consecutive $0$'s, good strings.):
Let's denote the number of good strings of length $n$ with $a_n$, and let's define $b_n$ and $c_n$ to be the number of good strings starting with $0$ and starting with something other than $0$, respectively. So $a_n=b_n+c_n$.
Now, if a good string of length $n+1$ starts with $0$, then the string obtained by omiting the $0$, must start with something other than $0$, since no two consecutive $0$'s are allowed. Conversly, if you add a $0$ to the beginning of a good string of length $n$, starting with $1$ or $2$, then you get a good string of length $n+1$. So we have $b_{n+1}=c_n$.
Also, if a good string of length $n+1$ start with $1$ or $2$, by dropping the first element, we get a good string of length $n$. Conversly, adding $1$ or $2$ to the beginning of an arbitary good string of length $n$, results in a good string of length $n+1$. So we have $c_{n+1}=2a_n=2b_n+2c_n$.
Now combining the derived equations, we get (Note that we have those equations for any natural number $n$, so we can change the indices to any natural number we want.):
$$b_{n+2}=2b_{n+1}+2b_n$$
$$c_{n+2}=2c_{n+1}+2c_n$$
Summing up:
$$a_{n+2}=2a_{n+1}+2a_n$$
Now, you can use this recurrence relation for $a_n$.
It's easy to see that similar to this way, you can solve the problems in which you want to find the number of strings in any finite language, that contain no instances of some finite patterns (like $102$, $11$ or so). Just define $b_n$, $c_n$, $\dots$ in a way that fits your problem, find the relations between them and combine them to find a recurrence relation for $a_n$.