Absensi Online menggunakan NodeMCU dan modul RFID RC522
absensi online arduino nodemcu dengan rc522 rfid mudah sederhana
Prototype ini hampir sejenis dengan mesin absensi sederhana yang pernah dibahas pada post sebelumnya. Karena adanya teknologi wireless serta konsep IoT yang mudah dan praktis diimplementasikan maka aplikasi menggunakan board nodeMCU bisa menjadi opsi. Nah untuk memudahkan dalam ujicoba, akan saya sediakan sample sistem informasi (berbasis web) yang dapat dimanfaatkan untuk coba-coba. Saya tidak akan menjelaskan secara rinci terkait pembuatan sistem infomasinya jadi harap maklum. Pastikan kalian sudah memahami/belajar tentang pembuatan aplikasi berbasis web sebagai dasarnya.
Konsep dari sistem absensi online dengan RFID kurang lebih akan seperti gambar diatas walaupun secara spesifik tidaklah sesimpel itu. Ini agak berbeda dari tutorial sebelumnya karena untuk memfasilitasi semua jenis kartu mifare classic (emoney, RFID tag, Sticker Tag) maka data yang akan diolah adalah uid saja (tidak ada proses write data). Reader RC522 akan membaca uid kemudian datanya diproses oleh NodeMCU untuk dikirim ke server (database). Nah dari proses pengiriman data ini, maka akan diperoleh response terkait dengan informasi dari uid hasil pembacaan (misal nama, status absensi, dll). Pengaturan informasi yang berkaitan dengan pengguna kartu dapat di atur dalam sistem informasi. Bagian yang paling penting adalah pembuatan Web API untuk menyediakan layanan penyimpanan data dan juga response. Biar lebih mudah dipahami, silahkan dipelajari tutorial pada post ini. Untuk mempermudah development maka percobaan dilakukan secara local. Pada dasarnya semua aplikasi yang dijalankan di localhost dapat di onlinekan dengan mengupload aplikasi tersebut ke hosting (lebih jelasnya dapat dipelajari sendiri). Ok langsung saja kita mulai proses pembuatan sistem Absensi menggunakan NodeMCU dan modul RFID RC522.
Alat dan Bahan
Hardware:
NodeMCU
RC522 - RFID module
I2C OLED 128x64
Buzzer
Kabel-kabel Jumper
Software:
Arduino IDE
Notepad ++ (text editor)
XAMPP (Saya pakai versi 7.4)
Postman (web API testing)
Membuat Web API
Pertama-tama mari kita siapkan terlebih dahulu Web APInya. Kita mulai dengan pembuatan database MySQL. Disini saya menyimpan data absen pada database absensi dengan 3 buah tabel didalamnya yaitu data_karyawan, data_absen, dan data_invalid. Tabel data_karyawan digunakan untuk menyimpan data umum dari karyawan (nama, alamat, divisi, dll), tabel data_absen digunakan untuk menyimpan data absensi seperti uid, tanggal, jam, status absensi. Sementara itu, untuk tabel data_invalid digunakan untuk meyimpan uid yang belum tersimpan pada data_karyawan atau bisa juga disebut sebagai log untuk hasil pembacaan kartu yang tidak valid (karena belum didaftarkan).
Buka Xampp dan jalankan service apache dan MySQL
Buka phpMyAdmin dan jalankan SQL berikut untuk membuat database yang diperlukan
CREATEDATABASE IF NOTEXISTS absensi;
USE absensi;
/*Table structure for table `data_absen` */CREATETABLE data_absen (
id int(100) NOTNULL AUTO_INCREMENT,
tanggal dateNOTNULLDEFAULTcurrent_timestamp(),
waktu time NOTNULLDEFAULTcurrent_timestamp(),
uid varchar(20) NOTNULL,
status varchar(20) NOTNULL,
PRIMARYKEY (id)
);
/*Table structure for table `data_invalid` */CREATETABLE data_invalid (
id int(100) NOTNULL AUTO_INCREMENT,
tanggal dateNOTNULLDEFAULTcurrent_timestamp(),
waktu time NOTNULLDEFAULTcurrent_timestamp(),
uid varchar(10) NOTNULL,
status varchar(10) NOTNULL,
PRIMARYKEY (id)
);
/*Table structure for table `data_karyawan` */CREATETABLE data_karyawan (
id int(50) NOTNULL AUTO_INCREMENT,
created dateNOTNULLDEFAULTcurrent_timestamp(),
uid varchar(20) NOTNULL,
nama varchar(50) NOTNULL,
division varchar(50) NOTNULL,
mail varchar(50) NOTNULL,
alamat textNOTNULL,
picture varchar(100) NOTNULL,
PRIMARYKEY (id)
);
Setelah database siap lanjut ke directory httdocs (C:\xampp\htdocs). Buat folder absensi dan selanjutnya didalam folder absensi buat folder webapi. Terakhir dalam folder webapi buat folder api, class dan config
Selanjutnya masuk ke folder config (C:\xampp\htdocs\absensi\webapi\config), buat file database.php. Buka file dengan notepad ++ dan isi dengan code berikut. File database.php digunakan untuk melakukan koneksi ke database yang digunakan (absensi). Untuk username dan password silahkan disesuaikan.
database.php
<?phpclassDatabase {
private$host="localhost";
private$database_name="absensi";
private$username="root";
private$password="";
public$conn;
publicfunctiongetConnection(){
$this->conn=null;
try{
$this->conn=new PDO("mysql:host=".$this->host.";dbname=".$this->database_name, $this->username, $this->password);
$this->conn->exec("set names utf8");
}catch(PDOException $exception){
echo"Database could not be connected: ".$exception->getMessage();
}
return$this->conn;
}
}
?>
lanjut ke tahap selanjutnya masuk ke folder class (C:\xampp\htdocs\absensi\webapi\class). Buat file absensi.php. File ini merupakan program untuk mengatur proses penyimpanan data yang dikirim melalui request GET. Alurnya adalah sebagai berikut
Untuk program pada absensi.php , dapat dilihat pada kode dibawah
absensi.php
<?phpdate_default_timezone_set('Asia/Jakarta');
classAbsensi{
// Connectionprivate$conn;
// Tableprivate$db_table="data_absen";
private$db_table1="data_karyawan";
private$db_table2="data_invalid";
// Columnspublic$id;
public$tanggal;
public$waktu;
public$uid;
public$status;
public$last_status;
public$nama;
// Db connectionpublicfunction__construct($db){
$this->conn=$db;
}
// CREATEpublicfunctioncreateData(){
//1. Cek user$sqlQuery="SELECT * FROM ".$this->db_table1." WHERE uid = :uid LIMIT 0,1";
$stmt=$this->conn->prepare($sqlQuery);
$stmt->bindParam(":uid", $this->uid);
$stmt->execute();
if($stmt->errorCode() ==0) {
while(($dataRow=$stmt->fetch(PDO::FETCH_ASSOC)) !=false) {
$this->nama=$dataRow['nama'];
}
} else {
$errors=$stmt->errorInfo();
echo($errors[2]);
}
$itemCount=$stmt->rowCount();
if($itemCount>0){
//UID terdaftar -> cek status terakhir$sqlQuery="SELECT data_absen.id, data_absen.uid, data_absen.status, data_karyawan.nama FROM ".$this->db_table.", ".$this->db_table1." WHERE data_absen.id = (SELECT MAX(data_absen.id) FROM ".$this->db_table." WHERE data_absen.uid = :uid) AND data_karyawan.uid= :uid";
$stmt=$this->conn->prepare($sqlQuery);
$stmt->bindParam(":uid", $this->uid);
$stmt->execute();
$itemCount=$stmt->rowCount();
if($itemCount>0){
//error handlingif($stmt->errorCode() ==0) {
while(($dataRow=$stmt->fetch(PDO::FETCH_ASSOC)) !=false) {
$this->last_status=$dataRow['status'];
$this->nama=$dataRow['nama'];
//echo($this->last_status);
}
} else {
$errors=$stmt->errorInfo();
echo($errors[2]);
}
}else{
$this->last_status="OUT";
}
//set statusif ($this->last_status=="IN"){
$this->status="OUT";
}else{
$this->status="IN";
}
//Insert Data to data_absen $sqlQuery="INSERT INTO ".$this->db_table." SET waktu = :waktu, uid = :uid, status = :now_status";
$this->waktu=date("H:i:s");
$stmt=$this->conn->prepare($sqlQuery);
// sanitize$this->uid=htmlspecialchars(strip_tags($this->uid));
// bind data$stmt->bindParam(":uid", $this->uid);
$stmt->bindParam(":now_status", $this->status);
$stmt->bindParam(":waktu", $this->waktu);
if($stmt->execute()){
returntrue;
}
returnfalse;
}
else{
//UID tidak terdaftar$this->status="INVALID";
$this->nama="Invalid";
//Insert Data to data_invalid $sqlQuery="INSERT INTO ".$this->db_table2." SET waktu = :waktu, uid = :uid, status = :now_status";
$this->waktu=date("H:i:s");
$stmt=$this->conn->prepare($sqlQuery);
// sanitize$this->uid=htmlspecialchars(strip_tags($this->uid));
// bind data$stmt->bindParam(":uid", $this->uid);
$stmt->bindParam(":now_status", $this->status);
$stmt->bindParam(":waktu", $this->waktu);
if($stmt->execute()){
returntrue;
}
returnfalse;
}
}
}
?>
Selanjutnya masuk ke folder api (C:\xampp\htdocs\absensi\webapi\api).File terakhir yang akan dibuat adalah create.php fungsinya digunakan sebagai penghubung dan pengoleksi data (dari proses GET) yang selanjutnya diproses ke fungsi createData() pada absensi.php. Setelah fungsi create data selesai maka akan memberikan response berupa json data dengan struktur sebagai berikut
Ok program PHP Rest API udah selesai dibuat. untuk memastikan susunan dan lokasi foldernya adalah sebagai berikut:
Setelah semuanya ok, mari kita test apakah web API dapat berfungsi dengan baik. Pengetesan dapat dilakukan via browser atau postman dengan mengakses url berikut:
Apabila uid belum didaftarkan di tabel data_karyawan, maka akan diperoleh status invalid. Sementara bila uid sudah terdaftar maka akan diperoleh data nama dan status
data karyawan (uid terdaftar)
uid tidak terdaftar sehingga masuk ke kategori invalid (data disimpan di tabel data_invalid)
uid terdaftar sehingga diperoleh data nama dan status (data disimpan di tabel data_absen)
Apabila tidak ada kendala, maka bagian Web API sudah selesai. Mari kita lanjut ke bagian hardwarenya!
Mesin Absensi NodeMCU + RC522
Wiring Diagram
Sesuai dengan alat dan bahan yang telah disebutkan sebelumnya (NodeMCU, Buzzer, display OLED 0.96", dan RFID reader RC-522) , maka rangkaian mesin absensi online nodeMCU dapat dilihat pada gambar berikut (rev.1 =>062023)
Program NodeMCU
Terdapat beberapa library yang harus di install yaitu: MFRC522, Adafruit_GFX, Adafruit_SSD1306, dan ArduinoJson. Untuk versi library silahkan disesuaikan apabila terdapat error saat compile program.
Setelah library siap, langsung saja copas program dibawah ini. Sesuaikan wifi SSID, wifi Password, dan alamat server (atau IP komputer yang digunakan sebagai server).
*update juli 2022 (error HTTPClient::begin -> esp8266 board v.3.0.0) solved
Nah, karena ada tambahan icon buat visualisasi pada display OLED nya maka buat file header icon.h (new tab - ketik icon.h - Ok). copy kode berikut ke icon.h
Program telah siap. Cus langsung upload ke nodeMCU dan mari lanjut ke tahap pengetesan.
Let's test
Berikut gambaran dari hasil pembacaan kartu, proses pengiriman data - pembacaan respon, dan penyimpanan data kedatabase. Oh iya, kalau lihat di youtube-youtube, reader RC522 dapat digunakan untuk membaca uid eKTP. Namun untuk reader RC522 yang saya gunakan kebetulan tidak dapat membaca uid eKTP.
*just info: setelah dicek eKTP saya jenisnya MIFARE DESFire. menurut info dari si empunya library MFRC522, kartu MIFARE DESFire memang tidak dapat dibaca menggunakan reader ini.
Nah.. apabila data-data tersebut di tampilkan melalui sistem informasi (berbasis web) kurang lebih seperti gambar berikut:
Add some Custumization
Untuk memudahkan proses pendaftaran uid dan melihat rekapitulasi absensi maka kita dapat menggunakan sebuah dashboard. Dasar dari sistem aplikasi web yang digunakan pada dashboard adalah CRUD. Disini saya menggunakan pemrograman PHP untuk pembuatan CRUD ini. Biar mudah prosesnya pembuatannya saya menggunakan Crudiy ( https://github.com/jan-vandenberg/cruddiy).
Download file dashboard diatas kemudian ekstrak di folder absensi (C:\xampp\htdocs\absensi)
Selanjutnya silahkan akses http://localhost/absensi maka akan tampil halaman dashboard dari sistem yang telah dibuat. Dashboard ini bersifat demo, jadi silahkan di modif-modif sendiri sesuai kebutuhan.
Apabila ingin versi fullnya (seperti di web demo dibawah), dapat menghubungi saya via email : thecroser@gmail.com. Just buy me a coffe for that
Make it Online!
Untuk membuat agar service Web API dapat diakses secara online, kita memerlukan web hosting dan perangkat pendukungnya (web hosting, domain). Silahkan teman teman cari sendiri (googling) terkait hal ini dengan kata kunci "Upload website ke hosting". Selanjutnya upload program API dan file aplikasi web nya yang telah dibuat serta konfigurasi database yang ada di web hosting. Sebagai contoh teman-teman dapat mencoba melalui aplikasi yang telah saya publish di https://siab.arducoding-projects.online/. Untuk masuk ke halaman dahboard silahkan login terlebih dahulu dengan
username:admin dan passwordnya: Arducoding2024
Untuk akses webAPI nya teman-teman dapat mengaksesnya di link berikut. Silahkan test aplikasi hardware yang telah teman-teman buat untuk menyimpan data pada aplikasi demo diatas.
http://siab.arducoding-projects.online/webapi/api/create.php?uid=CARD_UID //[GET]Proses Absensi
http://siab.arducoding-projects.online/webapi/api/get_last.php?uid=CARD_UID //[GET] Cek Tap kartu terakhir
*pada program nodmcu,silahkan ubah bagian String server_addr= "192.168.0.5";
menjadi String server_addr= "sistem-presensi.arducoding-projects.my.id";
Kesimpulan
Project ini masih bersifat dasar dan memiliki fitur yang sederhana. Masih terdapat beberapa Error handling yang perlu dibuat / diperbaharui baik dari segi program nodemcu ataupun program web API nya, dari segi keamanan penggunaan kartu, dan dari segi yang lainnya. Sementara dari sisi user interface, diperlukan metode yang cocok sehingga dapat menampilkan data yang diperlukan dengan baik. Silahkan untuk diskusi terkait projek ini agar lebih bermanfaat bagi siapapun yang membutuhkan.
Dalam kesempatan selanjutnya, akan saya coba bahas untuk pembuatan Sistem Informasi berbasis web yang fokus pada pengolahan data (CRUD) menggunakan pemrograman php native (ane gak jago pemrograman web, hanya sebatas tahu)
Troubleshooting Error
=> deserializeJson() failed
Apabila sistem mendapat pesan (pada serial monitor): deserializeJson() failed , ada beberapa kemungkinan yaitu: server tidak merepon, ukuran data json respon tidak sesuai (pada program arduino, ukuran hanya dibatasi dengan 4 objek data saja (waktu, nama, uid, status) => const size_t capacity = JSON_OBJECT_SIZE(4) + 70;). teman-teman bisa cek kondisi berikut apabila menemui error ini:
1. Pastikan service Apache dan MySql sudah aktif (Xampp Control panel)
2. Pastikan alamat direktori file API sudah sesuai
3. Matikan firewall. Bisa jadi komunikasi terhambat karena dihalangi oleh firewall
exit status 1 call to 'HTTPClient::begin' declared with attribute error: obsolete API, use ::begin(WiFiClient, url)
Ryo
11/6/21 20:10
11/6/21 20:10
pastikan library yang digunakan memiliki versi yang sama dengan yang ada di tutorial ya.. klo beda tinggal pilih di select version
Rendi Aziz
14/7/21 20:17
14/7/21 20:17
sudah saya sesuaikan, tapi masih seperti itu
Ryo
17/7/21 22:32
17/7/21 22:32
Coba di cek pada alamat API nya gan .. sesuaikan dengan struktur api yang agan buat.
atau dapat dicoba saja via sissen.000webhostapp.com . sesuai instruksi diatas
erik ardiansyah
11/8/21 23:13
11/8/21 23:13
mohon infonya bang, untuk tutorial cruddiy ada ngga , sama file dashboarnya error dibuka
Ryo
30/8/21 19:03
30/8/21 19:03
langsung dr si empunya saja gan .. https://github.com/jan-vandenberg/cruddiy errornya gmn gan?
Canvie
23/8/21 13:12
23/8/21 13:12
maaf bang mau tanya kok pas saya tap kartunya malah dapet eror gini ya? Response: deserializeJson() failed: IncompleteInput mohon bantuannya bang terimakasih
Ryo
30/8/21 19:03
30/8/21 19:03
kemungkinan ada masalah di arduinojsonnya gan.. pastikan librarynya memakai versi yg sama kayak diatas
uihpoha
15/9/21 16:38
15/9/21 16:38
udah sama tapi masih eror sama kaya yang diatas deserializeJson() failed: IncompleteInput kenapa ya?
Canvie
19/9/21 02:25
19/9/21 02:25
kalau disaya ternyata servernya tidak merespon, jd pas saya coba buat hosting dan pakai server hosting itu malahan bisa
Ryo
20/9/21 14:02
20/9/21 14:02
trim dah konfirmasi gan... semoga bermanfaat
Unknown
10/2/22 19:43
10/2/22 19:43
bang, kalo mau nambahin biar kartu rfid ada expired nya gmna yg bang, makasih bang
Ryo
16/2/22 12:19
16/2/22 12:19
munkin perlu diubah untuk mekanisme statusnya gan .. misal, valid, invalid, expired .. dll silahkan berkreasi
Jamal
12/2/22 23:41
12/2/22 23:41
Bang kalau ntag 215 support ga reader yg ini?
Ryo
16/2/22 12:20
16/2/22 12:20
wah .. kurang paham gan .. ane gak ada kartu jenis ntag jd gak bs nyobain..
Bayu Pamungkas
1/3/22 19:42
1/3/22 19:42
bang mau tanya buat daftarin nya liat id nya gmana?
Ryo
2/3/22 09:57
2/3/22 09:57
di invalid gan.. ntr di pilih aja tombol +
Bayu Pamungkas
17/4/22 22:14
17/4/22 22:14
kalo buat rangkaian nya bikin pake apa bang?
Ryo
18/4/22 11:23
18/4/22 11:23
bebas gan.. pake pcb titik/bolong jg bisa.. tinggal di hubung2 kan sesuai wiring diagramny
Muhammad Dahlan
4/6/22 23:25
4/6/22 23:25
Apakah ini hanya untuk absensi saja , apakah memang tidak bisa untuk mendaftarkan karyawan melaui taping
Acil
29/8/22 22:52
29/8/22 22:52
bang kalo pakae led1602 codingnya jadi seperti apa, sudah nyoba tapi gagal, :( , pencerahannya .....
zulfan afandi
15/11/22 10:23
15/11/22 10:23
haloo min, dashbord yang full ada min??
Didi hermawan
6/12/22 10:57
6/12/22 10:57
apakah menjual yang sudah ready ? tinggal pakai dan setting database
Ryo
19/12/22 20:50
19/12/22 20:50
maaf gan .. gak jual saya
Luthfia Sodikin
27/12/22 22:08
27/12/22 22:08
Ka bisa ajari saya, atau minta kontak untuk konsultasi🙏
Ryo
29/12/22 11:05
29/12/22 11:05
dicoba dulu ya.. ikuti aja sesuai tutorial diatas step by step... insyaallah jadi.. klo ada error bisa kontak saya di thecroser@gmail.com
Luthfia Sodikin
19/1/23 07:04
19/1/23 07:04
Ka maaf saya mau tanya kalau seperti ini kenapa ya? no matching function for call to 'HTTPClient::begin(WiFiClient&, String&)'
Ryo
20/1/23 22:21
20/1/23 22:21
code diatas saya gunakan untuk board esp8266 versi 3 (tested di 3.0.2 sampai 3.1.1 program no error),.. jadi coba update dulu board esp8266 nya ke versi terbaru( buka arduino ide >> tools >> board >> boards manager .. >> cari "esp8266" >> pilih esp8266 by esp8266community -- klik update
Luthfia Sodikin
24/1/23 18:11
24/1/23 18:11
Oke makasih ka sudah berhasil, untuk digambar alat ada tambahan ic apa ya ka?
Ryo
24/1/23 21:00
24/1/23 21:00
IC yang mana ya.. semua komponen sama seperti yang ada di wiring diagram
Luthfia Sodikin
25/1/23 17:48
25/1/23 17:48
Yang disamping buzzer ka
Ryo
25/1/23 17:55
25/1/23 17:55
oh iya ... maaf lupa gak dikasih keterangan.. itu display oled 0.96 .. buat nampilin response / status setelah kartu di tap
diaritech
Komentar ini telah dihapus oleh pengarang.
diaritech
6/1/23 14:31
6/1/23 14:31
bang saya coba di 000webhost cuman ada error deserializeJson() failed: InvalidInput responya 400 Bad Request
kalau pake niagahoster errornya deserializeJson() failed: IncompleteInput padahal apinya udh bener saya udh coba cek di postman dan dapet respon.
apakah http.begin tidak cocok untuk https?
Ryo
11/1/23 09:59
11/1/23 09:59
bisa share alamat domainnya gan?
imam aris stianto
23/1/23 17:28
23/1/23 17:28
kak kalau saya pakai hosting 000webhost apa saja yang saya rubah kak soalnya sudah ada yang saya rubah ada error "deserializeJson() failed: InvalidInput" yang saya rubah ini kak "String server_addr= "https://paud-melati-grobogan.000webhostapp.com";" dan apakah yang "address ="http://"+server_addr+"/absensi/webapi/api/create.php?uid="+UIDCard;" harus di ubah juga atai ada yang salah kak Terimakasih semoga di jawab saya ingin belajar kak
Ryo
24/1/23 20:56
24/1/23 20:56
cb cek lagi databasenya .. pastikan database sudah terkoneksi dengan baik (username, passwd, nama database..)
imam aris stianto
29/1/23 17:35
29/1/23 17:35
Kalau pakai 000webhost LinkAddr nya isi apa kak ?🙏🏻
imam aris stianto
5/2/23 10:10
5/2/23 10:10
Ijin bertanya kak,sudah berhasil di upload tetapi web di bagian Data_karyawan, Data_Absensi, Data Invalid tidak bisa membaca dari database gimana ya kak ? apakah permissionnya perlu di ubah menjadi apa gitu kak ?, Error nya seperti ini kak "ERROR: Could not able to execute SELECT * FROM data_karyawan ORDER BY id desc LIMIT 0, 10." Terimakasih semoga di jawab
Ryo
5/2/23 11:29
5/2/23 11:29
webnya yang dipakai yang mana mas? klo yang ini: http://absensipaudmelati.000webhostapp.com/ udah jalan dengan baik, klo yang ini: http://paud-melati-grobogan.000webhostapp.com/ databasenya belum terkoneksi dangn baik (cek ulang username, passwd, nama database..)
imam aris stianto
Komentar ini telah dihapus oleh pengarang.
imam aris stianto
Komentar ini telah dihapus oleh pengarang.
imam aris stianto
Komentar ini telah dihapus oleh pengarang.
d0njuant
24/6/23 21:05
24/6/23 21:05
Alhamdulillah sudah dicoba dan berhasil. Terima kasih banyak untuk tutorialnya gan.
Ditunggu tutorial untuk aplikasi RFID door lock yang tetap menggunakan esp8266 sebagai mikrokontrollernya gan
Ryo
29/6/23 20:36
29/6/23 20:36
semoga bermanfaat ya gan
sucamue
2/8/23 18:17
2/8/23 18:17
bang saya sudah email tolong cek soalnya saya butuh seperti versi demo
49 komentar
Arduino: 1.8.13 (Windows 10), Board: "NodeMCU 0.9 (ESP-12 Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 115200"
Executable segment sizes:
IROM : 274956 - code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 28284 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)
DATA : 1340 ) - initialized variables (global, static) in RAM/HEAP
RODATA : 1176 ) / 81920 - constants (global, static) in RAM/HEAP
BSS : 25576 ) - zeroed variables (global, static) in RAM/HEAP
Sketch uses 305756 bytes (29%) of program storage space. Maximum is 1044464 bytes.
Global variables use 28092 bytes (34%) of dynamic memory, leaving 53828 bytes for local variables. Maximum is 81920 bytes.
esptool.py v2.8
Serial port COM3
Connecting........_____....._____....._____....._____....._____....._____.....____T…
exit status 1
call to 'HTTPClient::begin' declared with attribute error: obsolete API, use ::begin(WiFiClient, url)
atau dapat dicoba saja via sissen.000webhostapp.com . sesuai instruksi diatas
errornya gmn gan?
mohon bantuannya bang terimakasih
silahkan berkreasi
dashbord yang full ada min??
responya 400 Bad Request
kalau pake niagahoster errornya deserializeJson() failed: IncompleteInput
padahal apinya udh bener saya udh coba cek di postman dan dapet respon.
apakah http.begin tidak cocok untuk https?
Terima kasih banyak untuk tutorialnya gan.
Ditunggu tutorial untuk aplikasi RFID door lock yang tetap menggunakan esp8266 sebagai mikrokontrollernya gan