Data for updating a field or a feed is not generally formatted as a JSON object when you use the REST API.
You can use JSON format is certain situations, and ThingSpeak will optionally return some output in JSON. One exception is for a bulk post, which you can provide as a JSON object as shown here. For your application, I wouldn't necessarily suggest the use of a bulk post.
What do you do to get 'some peaks'? If you are still using the code above, I would suggest looking at the output of the function (LoRaBee.send(1, (uint8_t*)packet.c_str(), packet.length()) and see how it packages your data. Then see if that format matches the requirements listed in Update a channel feed . Since you are getting data to post, but the values aren't going where you want, it must be a format issue.