Your son's velo numbers look great and where my son was last year as a rising junior (though I don't think he touched 87). My son received his 5th offer today, which is more than we imagined. His D1 offers are mid/low major, but one his top choice since 2 years ago.
We went the camp route, so I definitely agree you should go that route, and continue the email conversation. Here's how ours offers and camps broke out:
2 camps he went to last year and was very interested in those schools. They kept an open conversation throughout the year, but ended up completing their 2019 class on the earlier side and my RHP bloomed too late
3 offers we did not attend camps last year and were not on our radar. However, they saw him at a camp this summer, came to watch him in games
For his top two choices , he attended multiple camps at their schools, showing his interest. Has been offered to both.
A few other camps were further away from home, which my son never asked about following up, as he wanted to be closer home. Though he wasn't interested, they may have been worthwhile going to, to help him understand what he wanted/didn't want.
Since you have your velo metrics, I would focus more on what types of schools does your son want to play and attend those camps. Based on the feedback from the coaches we've spoken to, he did not get offers based on his current velo (86-88). They project him highly, recognize he is still growing and that his velo will be 90, 18 months from now, and he has a pitchers body and clean arm action.