Я HTTP Отправка данных на веб-интерфейс API https://morning -cliffs-85779.herokuapp.com / api / users из arduino, подключенного к esp8226.Я использую библиотеку wizesp для HTTP_POST данных.
Когда сообщение публикуется, Arduino дает такой ответ:
Connected to server
[WiFiEsp] Data packet send error (2)
[WiFiEsp] Failed to write to socket 3
[WiFiEsp] Disconnecting 3
А сервер Heroku дает ответ:
at=error code=H13 desc="Connection closed without response"
Ниже приведен код Arduino:
if (client.connect(server, 80)) {
Serial.println("Connected to server");
// Make a HTTP request
String content = "id=5bc58842bdfea0153bb27214&volt=7";
client.println("POST /api/users HTTP/1.1");
client.println("Host: morning-cliffs-85779.herokuapp.com:80");// ("Host": host:port)
client.println("Accept: */*");
client.println("Content-Length: " + content.length());
client.println("Content-Type: application/x-www-form-urlencoded");
client.println();
client.println(content);
}
Это API-интерфейс экспресс-узла:
app.post('/api/users', function (req, res) {
console.log('here');
if (req.body.id) {
DevReading.findByIdAndUpdate(req.body.id, {
volt: req.body.volt
}, function (err, reading) {
if (err) throw err;
res.send('Update Success');
});
}
else {
var newDevReading = DevReading ({
deviceName: 'test',
volt: req.body.volt
});
newDevReading.save(function (err) {
if (err) throw err;
res.send('Reading Post Success');
});
}
});