ESP模块连接并在Heroku的PostgreSQL中工作
ESP模块连接并在Heroku的PostgreSQL中工作,heroku,esp8266,heroku-postgres,arduino-esp8266,Heroku,Esp8266,Heroku Postgres,Arduino Esp8266,我想在我的应用程序的PostgreSQL数据库中放一条记录,通过Heroku网站(RoR)部署。 我需要使用ESP-01/12模块执行此操作。 在C中,我找不到在pg数据库上连接和执行sql语句的完整示例。 我的代码: 我假设在连接到端口5432后,我可以发送显示在另一侧的文本,就像在命令行上一样,并且psql程序在那里可用。我从计算机上建立了这样的连接,与代码中的线路相同,我获得了访问权限 帮助我,请从C中的ESP模块访问我的数据库。我注意到,尽管在psql命令后输入了密码,但我必须再次输入密
我想在我的应用程序的PostgreSQL数据库中放一条记录,通过Heroku网站(RoR)部署。 我需要使用ESP-01/12模块执行此操作。
在C中,我找不到在pg数据库上连接和执行sql语句的完整示例。
我的代码: 我假设在连接到端口5432后,我可以发送显示在另一侧的文本,就像在命令行上一样,并且psql程序在那里可用。我从计算机上建立了这样的连接,与代码中的线路相同,我获得了访问权限 帮助我,请从C中的ESP模块访问我的数据库。我注意到,尽管在psql命令后输入了密码,但我必须再次输入密码,但我无法注册来自另一侧的命令行的答案,例如“请输入密码” 是的,我帮自己找了一个翻译,我会说波兰语。
client.print()
是向WifiClient写入一些数据。我想是数据库上的一些命令。如果需要向PostgreSQL数据库添加数据,可以使用SQL查询创建一些API端点。这会解决你的问题
这将解释如何创建NodeJS API来捕获从ESP8266发送的数据并将其写入Firebase数据库。您可以克隆它并更改数据库部分。Arduino部分是相同的,您需要安装
ArduinoJSON
库。希望您能理解。答案不太简短,也不太明智。如果你知道一些具体的事情,请扩展这个答案。我仍然在解决这个问题,我可能需要使用ESP8266中的SSL,但我真的不知道如何使用。我认为它将以编写一个单独的dektop上传应用程序来结束:(。
#include <ESP8266WiFi.h>
/* Wi fi */
const char* ssid = "ssid";
const char* password = "password";
/* database */
const char* host = "***.compute-1.amazonaws.com";
const char* database = "database";
const char* user = "user";
const char* streamId = "???";
const char* privateKey = "password?";
void setup() {
delay(1000);
Serial.begin(115200); delay(10); Serial.println('\n');
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password); Serial.print("Connecting to "); Serial.print(ssid); Serial.println(" ...");
int i = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(++i); Serial.print(' ');
}
Serial.println("Connection established!");
Serial.print("IP address:\t");
Serial.println(WiFi.localIP());
WiFi.printDiag(Serial);
}
void loop() {
delay(5000);
Serial.print("connecting to ");
Serial.println(host);
// Use WiFiClient class to create TCP connections
WiFiClient client;
const int httpPort = 5432;
if (client.connect(host, httpPort)) {
Serial.println("OK!");
}
client.print("psql -U user --password password? -p 5432 -h host -d database \r\n");
delay(10);
// Read all the lines of the reply from server and print them to Serial
while (client.available()) {
String line = client.readStringUntil('\r');
Serial.print(line);
}
Serial.println();
Serial.println("closing connection");
}
client.print()