2022/08/05

をクリックしてソースコードをZip形式(SimplePgSQL-master.zip)でをダウンロードする。

cd ~/Arduino/libraries/ unzip ~/Download/SimplePgSQL-master.zip mv SimplePgSQL-master SimplePgSQL | ディレクトリはこんな構造![]() |
| SimplePgSQL.hより抜粋 | 接続状態 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
typedef enum
{
CONNECTION_OK,
CONNECTION_BAD,
CONNECTION_NEEDED, /* setDbLogin() needed */
/* Internal states here */
CONNECTION_AWAITING_RESPONSE, /* Waiting for a response from the
* postmaster. */
CONNECTION_AUTH_OK /* Received authentication; waiting for
* backend startup. */
} ConnStatusType;
|
|
| pgSQLClient.ino | 端末からデータベースxxxxへ接続 | |
テーブルは先に作ってある。CREATE TABLE wifilevel2( dt TIMESTAMP DEFAULT NOW() PRIMARY KEY, rssi INTEGER DEFAULT 0); ![]() |
conn.execute(sql);//INSERT文を処理 conn.close();conn.execute()の後でconn.stat()を表示されたが、conn.stat()は0だった。conn.execute()とconn.close()の間にdelay()関数で遅延を入れてようすを見ている。遅延時間100mSではときどき処理できないが、遅延時間500mSにするとINSERT文は実行できるようだ。 データベースを切断したつもりだったが、実際にはデータベースに接続したままになっている。
ps aux|grep postgres

#現在の接続を表示 SELECT * FROM pg_stat_activity;
conn.execute(sql);//INSERT文を処理 delay(500);//固定値500ミリ秒 conn.close(); delay(500);//固定値500ミリ秒 WiFi.disconnect(true);