Panduan Webinar
Panduan Webinar
Artificial Intelligent Arduino IV
LP2M ARAY
Telp : 021-22712148 / 0821-11147-6069 / 0858-9232-9521 Jl. Raya Lenteng Agung Tmur No.6, Srengseng Sawah, Jagakarsa, Jakarta Selatanwww.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 2
Panduan Webinar
Artificial Intelligent Arduino IV
_Artificial Intelligent Arduino #4__*Sistem Pendataan Absensi AutoCapture Berbasis Arduino_* ================================
FREE
Yuk's bergabung, praktek dan membahas cara-cara Pertukaran Data dari Arduino/Mikrokontroller ke Server Plus Camera.
Dengan materi:
+Arduino capture Gambar +Arduino Koneksi ke Database +Arduino kirim Gambar ke Server +Arsip
Hari/tanggal: Sabtu, 13 Maret 2021
Pukul: 10 sd 11 WIB
Gabung Grup: https://bit.ly/AI-UNO13 Syarat Bergabung :
Bantu Share Webinar ini minimal ke 3 teman/group yang lain
Masuk ke Grup WA pada Link di atas
Siapkan: Arduino IDE, Modul GSM, Software perekam video
Tersedia juga (Optional):* Sertifikat, Video Full, Panduan, Source Code Implementasi (*berbayar untuk versi detailnya..)```
Info Detail:
www.lp2maray.com
https://wa.me/6285892329521
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 3
ROADMAP MATERI:
*Sistem Pendataan Absensi AutoCapture Berbasis Arduino*
Hari/tanggal: Sabtu, 13 Maret 2021
Pukul: 10 sd 11 WIB
Gabung Grup: https://bit.ly/AI-UNO13
Jam Materi
10:00 Perkenalan Institusi dan Pengajar/Pemateri 10:05 Materi Perkenalan Arduino ESP32Cam 10:10 Membuat Web Server PHP Simpan dan Lihat 10:25 Proses Capture Image
10:35 Pengiriman Image ke Server Database 10:50 Analisa dan Penutup
13:00 Link Download Panduan, Materi dan Link Youtube hanya dibagikan kepada yang hadir di materi tersebut
Nb Setelah kegiatan Webinar ini di harapkan semua audiens/peserta bisa mempraktekkan setiap materi yang diberikan. Dipersilakan untuk memanfaatkan layanan tanya jawab seputar meteri tersebut di atas kepada admin atau pengajar / pemateri yang ada.
Dan bagi para praktisi yang lebih memahami materi-materi, diharapkan bantuannya untuk saling membantu sesama audiens agar bisa saling berbagi kemahiran dan pengalamannya kepada peserta / audiens lain yang membutuhkannya. Sekali Lagi Terimakasih Atas perhatian dan Kepesertaanya.
Introduction ESP32CAM
merupakan sebuah module WiFi yang sudah dilengkapi dengan kamera. Dari module ini kita bisa gunakan untuk
berbagai keperluan, contoh untuk CCTV, mengambil gambar dan sebagainya. Fitur lain yaitu kita bisa mendeteksi wajah (face detection) dan pengenalan wajah (face recognition).
Dengan memanfaatkan library yang sudah ada pada Arduino, maka dengan cepat kita bisa membuat Proses-Proses pertukaran data dari Embedeed System yang kita miliki dengan server database misalnya/perangkat lain. Sekali lagi ini adalah pengalaman pemateri dalam hal penerapan algoritma tertentu agar bisa dimasukkan ke dalam Alat / Embedeed System.
Terutama bagaimana melakukannya dengan cara yang praktis mudah dan cepat.
…….Hmmmm Menarik yaaaa…….
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 4
Setelah kita memasukkan library ESP32Cam maka dari contoh yang sudah di sertakan kita bisa
mempraktekkan ESP32Cam Sebagai IPCamera kita:
Maka akan muncul IP addres, kemudian coba ketikkan pada web browser. Maka akan muncul seperti gambar
di bawah ini :
Di sini kita akan mencoba untuk streaming kamera dengan cara klik tombol Start Stream. Sedangkan untuk
mengambil gambar/foto dengan cara klik tombol Get Still.
2. Capture dan Simpan di WEB SERVER
Langkah pertama adalah menyiapkan aplikasi web server yang siap untuk menampung data parameter client dan byte gambar yang dikirimkan
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 5 `idt` int(10) NOT NULL,
`latitude` varchar(15) NOT NULL, `longitude` varchar(50) NOT NULL, `image` varchar(30) NOT NULL, `waktu` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1; ALTER TABLE `tb_tracking`
ADD PRIMARY KEY (`idt`); ALTER TABLE `tb_tracking`
MODIFY `idt` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=47;
<?php require_once"koneksiku.php"; $NF=$_FILES["fileToUpload"]["name"]; $latitude=trim(($_REQUEST["latitude"])); $longitude=trim(($_REQUEST["longitude"])); $waktu=date("YmdHis"); $image="img_".$datum . basename($NF); $target_file = "pic/". $image;
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { echo"sukses upload";
} else {
echo"gagal upload"; }
echo $sql="INSERT INTO `tb_tracking` (`waktu`,`latitude`,`longitude`,`image`) VALUES ('$waktu','$latitude', '$longitude', '$image')";
$simpan=process($conn,$sql); ?>
Dan sebagai berikut adalah source code untuk melihat hasil gambarnya:
<?php
require_once"koneksiku.php";
$sql="select * from `tb_tracking` order by `idt` desc"; $jum=getJum($conn,$sql);
echo date("Y-m-d H:i:s")." WIB #$jum pic"; ?>
<table border="1" bgcolor="#cccccc"> <tr>
<th>No</td> <th>Gambar</td>
<th>Waktu</td> <th>Latitude</td>
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 6 <th>Longitude</td> </tr> <?php $no=1;
if($jum <1){echo"Maaf data belum tersedia..."; } $arr=getData($conn,$sql); foreach($arr as $d) { $idt=$d["idt"]; $value1=$d["waktu"]; $value2=$d["latitude"]; $value3=$d["longitude"]; $value4=$d["image"]; $color="#dddddd"; if($no %2==0){$color="#eeeeee";} echo"<tr bgcolor='$color'> <td valign='top'>$no</td>
<td valign='top'><img src='img/$value4' width='100' height='100'></td> <td valign='top'>$value1</td> <td valign='top'>$value2</td> <td valign='top'>$value3</td> </tr>"; $no++; }//foreach ?> </table>
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 7 #include <Arduino.h> #include <WiFi.h> #include "soc/soc.h" #include "soc/rtc_cntl_reg.h" #include "esp_camera.h" const char* ssid = "pikachu";
const char* password = "123asdfghjkl";
String serverName = "192.168.1.11";// example.com String serverPath = "/webinar2/upload.php"; const int serverPort = 80;
WiFiClient client; #define PWDN_GPIO_NUM 32 #define RESET_GPIO_NUM -1 #define XCLK_GPIO_NUM 0 #define SIOD_GPIO_NUM 26 #define SIOC_GPIO_NUM 27 #define Y9_GPIO_NUM 35 #define Y8_GPIO_NUM 34 #define Y7_GPIO_NUM 39 #define Y6_GPIO_NUM 36 #define Y5_GPIO_NUM 21 #define Y4_GPIO_NUM 19 #define Y3_GPIO_NUM 18 #define Y2_GPIO_NUM 5 #define VSYNC_GPIO_NUM 25 #define HREF_GPIO_NUM 23 #define PCLK_GPIO_NUM 22
const int timerInterval = 30000; // time between each HTTP POST image unsigned long previousMillis = 0; // last time image was sent
String inputString = ""; // a String to hold incoming data bool stringComplete = false; // whether the string is complete void setup() { WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); Serial.begin(115200); WiFi.mode(WIFI_STA); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password);
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 8 while (WiFi.status() != WL_CONNECTED) {
Serial.print("."); delay(500); } Serial.println(); Serial.print("ESP32-CAM IP Address: "); Serial.println(WiFi.localIP()); camera_config_t config; config.ledc_channel = LEDC_CHANNEL_0; config.ledc_timer = LEDC_TIMER_0; config.pin_d0 = Y2_GPIO_NUM; config.pin_d1 = Y3_GPIO_NUM; config.pin_d2 = Y4_GPIO_NUM; config.pin_d3 = Y5_GPIO_NUM; config.pin_d4 = Y6_GPIO_NUM; config.pin_d5 = Y7_GPIO_NUM; config.pin_d6 = Y8_GPIO_NUM; config.pin_d7 = Y9_GPIO_NUM; config.pin_xclk = XCLK_GPIO_NUM; config.pin_pclk = PCLK_GPIO_NUM; config.pin_vsync = VSYNC_GPIO_NUM; config.pin_href = HREF_GPIO_NUM; config.pin_sscb_sda = SIOD_GPIO_NUM; config.pin_sscb_scl = SIOC_GPIO_NUM; config.pin_pwdn = PWDN_GPIO_NUM; config.pin_reset = RESET_GPIO_NUM; config.xclk_freq_hz = 20000000; config.pixel_format = PIXFORMAT_JPEG; if (psramFound()) { config.frame_size = FRAMESIZE_UXGA;
config.jpeg_quality = 10; //0-63 lower number means higher quality config.fb_count = 2;
} else {
config.frame_size = FRAMESIZE_SVGA;
config.jpeg_quality = 12; //0-63 lower number means higher quality config.fb_count = 1;
}
// camera init
esp_err_t err = esp_camera_init(&config); if (err != ESP_OK) {
Serial.printf("Camera init failed with error 0x%x", err); delay(1000); ESP.restart(); } pinMode(4, OUTPUT); digitalWrite(4, HIGH); delay(100); digitalWrite(4, LOW); } void loop() { if (Serial.available()) {
char inChar = (char)Serial.read(); inputString += inChar;
if (inChar == '\n') { stringComplete = true; }
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 9 Serial.println("Preparing photo");
sendPhoto();
delay(5000); //setiap 5s auto send foto inputString = ""; stringComplete = false; } } String sendPhoto() { String getAll; String getBody; camera_fb_t * fb = NULL; fb = esp_camera_fb_get(); if (!fb) {
Serial.println("Camera capture failed"); delay(1000);
ESP.restart(); }
Serial.println("Connecting to server: " + serverName); if (client.connect(serverName.c_str(), serverPort)) { Serial.println("Connection successful!");
String head = "--RandomNerdTutorials\r\nContent-Disposition: form-data; name=\"fileToUpload\"; filename=\"uno.jpg\"\r\nContent-Type: image/jpeg\r\n\r\n";
String tail = "\r\n--RandomNerdTutorials--\r\n"; uint32_t imageLen = fb->len;
uint32_t extraLen = head.length() + tail.length(); uint32_t totalLen = imageLen + extraLen;
inputString.trim(); int LAT=random(6); int LONG=random(130);
String url = serverPath+"?latitude="+String(LAT)+"&longitude="+String(LONG); Serial.println(url);
client.println("POST " + url+ " HTTP/1.1");//serverPath client.println("Host: " + serverName);
client.println("Content-Length: " + String(totalLen));
client.println("Content-Type: multipart/form-data; boundary=RandomNerdTutorials"); client.println();
client.print(head); uint8_t *fbBuf = fb->buf; size_t fbLen = fb->len;
for (size_t n = 0; n < fbLen; n = n + 1024) { if (n + 1024 < fbLen) {
client.write(fbBuf, 1024); fbBuf += 1024;
}
else if (fbLen % 1024 > 0) {
size_t remainder = fbLen % 1024; client.write(fbBuf, remainder); }
}
client.print(tail);
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 10 int timoutTimer = 10000;
long startTimer = millis(); boolean state = false;
while ((startTimer + timoutTimer) > millis()) { Serial.print("."); delay(100); while (client.available()) { char c = client.read(); if (c == '\n') { if (getAll.length() == 0) { state = true; } getAll = ""; } else if (c != '\r') { getAll += String(c); } if (state == true) { getBody += String(c); } startTimer = millis(); } if (getBody.length() > 0) { break; } } Serial.println(); client.stop(); Serial.println(getBody); } else {
getBody = "Connection to " + serverName + " failed."; Serial.println(getBody);
}
return getBody; }
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 11 Link Belajar: https://youtu.be/-fpCvG8ZleU https://youtu.be/PpdXOF2jV1w
PESAN SPONSOR:
+Free RP.0:• Modul Materi Webinar
Video Tutorial cara menjalankan aplikasi: Engine Source Code Praktek Webinar
Sertifikat Digital Kepesertaan akan diberikan kepada
yang telah berhasil mempraktekkan materi webinar ini berupa link youtube praktek kesuksesan komunikasi data di atas kepada pemateri / admin penyelenggara max 1x24jam
+Berbayar Rp.300K:
• Modul Materi Detail
Sertifikat Digital Kepesertaan
Video Hasil Record Zoom Webinar dari Awal sd akhir
Source Code Lengkap Bahan Praktek Webinar (dataserver php, webserver code, Tutorial) Video Tutorial / Pembelajaran Langkah-Langkah Di atas
Source Code Aplikasi Studi Kasus Komunikasi Data di atas Video Tutorial / Pembelajaran Aplikasi Studi Kasus
+Training Online Selama Pandemi (ASK) materi studi kasus
materi tugas pabrik/perusahaan/kantor/studi kasus
+Kelas Bimbingan/ Private Onsite/di Tempat Kursus LP2MARAY semua materi kursus / silabus bisa di cek pada
www.lp2maray.com
RANGKUMAN EVENT :
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 12 SELASA_1
_Artificial Intelligent Arduino #1_
*Implementasi Fuzzy Sugeno/Mamdani Untuk SPK Pada Arduino*
Hari/tanggal: Selasa, 9 Maret 2021
Pukul: 10:00 sd 11:00 WIB
Gabung Grup: https://bit.ly/AIUNO9-2 ================================ SELASA_2
_Machine Learning Series #1_
*Implementasi Naive Bayes Untuk Clustering Berbasis Web* Dengan materi:
+Praktek Array +Koneksi DataLatih
+Kalkulasi Algoritma Naive Bayes +Validasi Perhitungan
Hari/tanggal: Selasa, 9 Maret 2021
Pukul: 11:00 sd 12:00 WIB
Gabung Grup: https://bit.ly/384DboM ================================ SELASA_3
_Image Processing Series #1_
*Praktik Pemrosesan Citra Digital pada Matlab GUI* Dengan materi:
+Desain layout +Pemrograman +Praproses Citra
+FIltering - Deteksi Tepi Citra
Hari/tanggal: Selasa, 9 Maret 2021
Pukul: 13:00 sd 14:00 WIB
Gabung Grup: https://bit.ly/309C2rv ================================ RABU_1
_Artificial Intelligent Arduino #2_
Praktek 3 Model Akuisisi Data dari Arduino ke Web Server Dengan materi:
+Port 80/443 HTTP/HTTPS (Client Server) +Port 1883/1884 MQTT (One to Many)
+Port 21 Socket (One to One)/Port 9999 UDP (Many To Many)
Hari/tanggal: Rabu, 10 Maret 2021
Pukul: 10:00 sd 11:00 WIB
Gabung Grup: https://bit.ly/3c5H3Hs ================================ RABU_2
_Machine Learning Series #2_
Implementasi Sistem Pengambilan Keputusan Berbasis Web Dengan materi:
+Praktek Array +Koneksi DataLatih
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 13 +Algoritma SAW
Validasi Perhitungan
Hari/tanggal: Rabu, 10 Maret 2021
Pukul: 11:00 sd 12:00 WIB
Gabung Grup: https://bit.ly/3qlNyek ================================ RABU_3
_Image Processing Series #2_
Implementasi Jaringan Syarat Tiruan Pada Matlab GUI Dengan materi:
+Desain layout +Pemrograman +Praproses Citra
+Praktek Backpropagation
Hari/tanggal: Rabu, 17 Maret 2021
Pukul: 10:00 sd 11:00 WIB
Gabung Grup: https://bit.ly/388S2yF ================================ KAMIS_1
_Artificial Intelligent Arduino #3_
*Akuisisi Data GSM/GPRS/SATELIT dari Arduino ke Web Server* Dengan materi:_
```+Koneksi ke GSM Modul``` ```+AT+COMMAND Kirim SMS```
```+AT+COMMAND Kirim Data ke Web Server```
Hari/tanggal: Kamis, 11 Maret 2021
Pukul: 10:00 sd 11:00 WIB
Gabung Grup: https://bit.ly/AIUNO11 ================================ KAMIS_2:
_Implementasi IT Masyarakat #3_
*Membangun Pesan SMS dan Telegram Gateway Berbasis Web* Dengan materi:_
```+Konfigurasi SMS & Telegram Server``` ```+Koneksi DataLatih```
```+Create Read Update Delete Show Database``` ```+Kirim Pesan```
```+Broadcast SMS/Pesan```
Hari/tanggal: Kamis, 11 Maret 2021
Pukul: 11:00 sd 12:00 WIB
Gabung Grup: https://bit.ly/MLEARNING11 ================================ KAMIS_3:
_Image Processing Series #2_
*Akses Camera WebCam Pada Matlab GUI* _Dengan materi:_
```+Desain layout```
```+Pemrograman Webcam``` ```+Deteksi-Resolusi-Realtime```
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 14 ```+Capture-Save```
Hari/tanggal: Kamis, 18 Maret 2021
Pukul: 10:00 sd 11:00 WIB
Gabung Grup: https://bit.ly/IMGPROS11 ================================ SABTU_1
_Artificial Intelligent Arduino #4_
*Sistem Pendataan Absensi AutoCapture Berbasis Arduino* _Dengan materi:_
```+Arduino capture Gambar``` ```+Arduino Koneksi ke Database``` ```+Arduino kirim Gambar ke Server``` ```+Arsip```
Hari/tanggal: Sabtu, 13 Maret 2021
Pukul: 10:00 sd 11:00 WIB
Gabung Grup: https://bit.ly/AI-UNO13 ================================ SABTU_2
_Implementasi IT Masyarakat #4_
*Membangun Payment Gateway berbasis Open Source MIDTRANS* Dengan materi:_
```+Konfigurasi Midtrans``` ```+Koneksi Database```
```+Create Read Update Delete Show Database``` ```+Transfer Virtual ATM```
```+Konfirmasi dan Validasi Midtrans```
Hari/tanggal: Sabtu, 13 Maret 2021
Pukul: 11:00 sd 12:00 WIB
Gabung Grup: https://bit.ly/MLEARNING13 ================================
SABTU_3
_Image Processing Series #4
*Sistem Ukur Ketinggian Dan Lebar Tubuh Automatis Manusia Pada Matlab GUI* Dengan materi:_
```+Desain layout```
```+Pemrograman Webcam``` ```+Deteksi-Resolusi-Realtime``` ```+Capture-Save```
```+Hitung Tinggi dan Lebar Objek```
Hari/tanggal: Sabtu, 20 Maret 2021
Pukul: 10:00 sd 11:00 WIB
Gabung Grup: https:https://bit.ly/IMGPROS13 ================================
Pemateri : *Adiarray, S.Kom,M.Kom* (Dosen IT / CEO LP2MARAY)
_*Syarat Bergabung :*_
``` Bantu Share Webinar ini minimal ke 3 teman/group yang lain``` ``` Masuk ke Grup WA pada Link di atas```
www.lp2maray.com |021-22712148 | 0821-1147-6069 / 0858-9232-9521 | 15 ``` Tersedia juga (Optional):* Sertifikat, Video Full, Panduan, Source Code Implementasi (*berbayar untuk versi
detailnya...)```
Info Detail:
www.lp2maray.com