Control the growth of the tree by how much light, warmth, air, and fertilizer you give it. Let ring-thickness above some threshold be 1, below it be 0. You can now communicate in binary by controlling the seasonal thickness of ring growth, and thereby compile a message in binary. Takes a while to build a message, but that’d be one way to do it.
Of course the tree’s rings all by themselves tell us of it’s climactic history. The rings thickness are therefore essentially messages about the conditions that affect the growth rate in past seasons. You could consider them “codons” for growth seasons.