ESP8266 adalah modul Wi-Fi dengan fitur TCP/IP yang lengkap dan bisa dihubungkan dengan mikrokontroler melalui protokon AT-Command. TCP/IP (Transmission Control Protocol / Internet Protocol) adalah protokol komunikasi antara dua perangkat yang terhubung dengan sebuah metode paket termasuk metode pengalamatan dan metode transmisi dalam jaringan internet.
Dalam komunikasi TCP/IP dikenal beberapa metode request/permintaan yaitu : HEAD, GET, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH.
Metode POST sering digunakan untuk mengirimkan data-data ter-enkripsi dan langsung ke server sehingga lebih menjamin kerahasiaan data. berbeda dengan metode GET yang mengirimkan requeat dalam bentuk URL.
Skematik ESP8266/ESP01 (+Arduino Uno) request metode post:

Sketch/koding pemrograman komunikasi ESP01 + arduino dengan server menggunakan metode POST :
char ssid[] = "xxxx"; // your network SSID (name)
char pass[] = "xxxxxxxx"; // your network password
char server[] = "api.thingspeak.com";
byte port = 80;
char APIKey[] = "XXXXXXXXXXXXXX";
uint32_t periodeKirim = 20000;
#include <WiFiEsp.h>
#include <SoftwareSerial.h>
SoftwareSerial SerialEsp(10, 11);
WiFiEspClient client;
int status = WL_IDLE_STATUS; // the Wifi radio's status
uint32_t millisKirim;
bool statusKirim;
void setup()
{
Serial.begin(9600);
Serial.println("Mengirim data melalui jaringan Wifi menggunakan ESP01 dengan metode POST");
Serial.println("https://www.project.semesin.com/");
Serial.println();
SerialEsp.begin(115200);
SerialEsp.println("AT+UART_DEF=9600,8,1,0,0");
delay(500);
SerialEsp.begin(9600);
WiFi.init(&SerialEsp);
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
}
millisKirim = millis();
}
void loop()
{
if (millisKirim < millis())
{
millisKirim = millis() + periodeKirim;
// hubungkan ke jaringan wifi jika belum tersambung atau terputus (auto reconnect)
if (WiFi.status() != WL_CONNECTED)
{
Serial.print("Menghubungkan ke jaringan SSID: ");
Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED)
{
WiFi.begin(ssid, pass);
Serial.print(".");
delay(5000);
}
printWifiStatus();
Serial.println("Berhasil terhubung ke jaringan");
}
if (WiFi.status() == WL_CONNECTED)
{
Serial.println();
Serial.println("Menghubungkan dengan server...");
if (client.connect(server, port))
{
Serial.println();
Serial.println("Terhubung dengan server.");
char content[30];
sprintf(content, "field1=%d", millis() % 100);
client.println("POST /update HTTP/1.1");
client.println("Host: api.thingspeak.com");
client.println("User-Agent: tslib-arduino/1.5.0");
client.print("X-THINGSPEAKAPIKEY: ");
client.println(APIKey);
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(strlen(content));
client.println("Connection: close");
client.println();
client.print(content);
statusKirim = true;
}
}
}
if (statusKirim)
{
while (client.available())
{
char c = client.read();
Serial.write(c);
}
if (!client.connected())
{
Serial.println();
Serial.println("Memutuskan hubungan dengan server...");
delay(10);
client.stop();
statusKirim = false;
}
}
}
void printWifiStatus()
{
// print the SSID of the network you're attached to
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// print your WiFi shield's IP address
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
// print the received signal strength
long rssi = WiFi.RSSI();
Serial.print("Signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
Library :
halo gan klo error gini gimana?
[WiFiEsp] Initializing ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] Cannot initialize ESP module
tolong gan
modul ESP belum terbaca oleh arduino (komunikasi Serial)
:: cek wiring nya
Gan, setelah beberapa kali sen data dan berhasil update, koneksi selalu terputus dan muncul tulisan
No socket available
socketnya kepenuhan
kemungkinan koneksi sebelum2nya tidak/belum tertutup/diputus
::tutup koneksi yang sudah selesai
Pak,apakah wiring untuk rtc dan dmd soket ke led panel nya sama seperti wirin digram jws Bluetooth,mohon penjelasanya ,
Terimakasih Pak semoga Chanel ini jaya selamanya……
bisa, wiring rtc dan panel p10 masih cukup/memadai
hanya perlu diperhatikan resource (kapasitas memory) nya karena wifi dan p10 sama2 berat / butuh banyak memory