SINAU PROGRAMMING
SINAU PROGRAMMING
  • Home
  • Source Code
  • Social
  • CONTROL
    • Internet of Think (IoT)
    • ESP
      • NodeMcu
      • Lora
      • WeMos
      • Esp 32 Dev
      • Node 32s
    • Arduino
    • Raspberry
    • Proteus
  • MATLAB
    • MATLAB PROJECT
    • PLC
      • Omron
      • Mitsubishi
      • Siemens
      • Schneider
      • ArduinoPLC
    • Arduino
    • Basic & Doc
  • Contact Us

 Mikrokontroler ESP32: Jantung dari Inovasi IoT

Mikrokontroler ESP32 adalah salah satu komponen paling populer dalam dunia Internet of Things (IoT). Dikembangkan oleh Espressif Systems, ESP32 menawarkan kombinasi unik dari fitur-fitur canggih, harga yang terjangkau, dan fleksibilitas yang membuatnya ideal untuk berbagai aplikasi IoT. Artikel ini akan membahas secara mendetail tentang ESP32, fitur-fiturnya, aplikasi, serta alasan mengapa ESP32 menjadi pilihan favorit para pengembang IoT.



Apa Itu Mikrokontroler ESP32?

ESP32 adalah mikrokontroler 32-bit yang berbasis pada arsitektur Xtensa LX6 dual-core, meskipun beberapa varian memiliki hanya satu inti. Mikrokontroler ini dilengkapi dengan Wi-Fi dan Bluetooth terintegrasi, memungkinkan komunikasi nirkabel yang handal dan berdaya rendah.


Fitur Utama ESP32



1. Konektivitas Nirkabel:

   - Wi-Fi: Mendukung standar 802.11 b/g/n.

   - Bluetooth: Mendukung Bluetooth v4.2 BR/EDR dan BLE (Bluetooth Low Energy).

2. Kinerja Tinggi:

   - CPU: Dual-core (atau single-core) Xtensa LX6 dengan kecepatan hingga 240 MHz.

   - Memori: SRAM hingga 520 KB, dengan dukungan untuk ekstensi ke Flash dan PSRAM eksternal.

3. Antarmuka Perangkat Keras:

   - GPIO: Banyak pin GPIO yang dapat dikonfigurasi.

   - ADC: Hingga 18 saluran ADC (Analog-to-Digital Converter).

   - DAC: Dua saluran DAC (Digital-to-Analog Converter).

   - SPI, I2C, I2S, UART: Beberapa antarmuka untuk komunikasi dengan perangkat lain.

   - PWM: Modulasi lebar pulsa untuk kontrol motor dan LED.

4. Fitur Tambahan:

   - Touch Sensor: 10 saluran touch sensor untuk input kapasitif.

   - Sensor Hall Effect: Untuk mendeteksi medan magnet.

   - RTC (Real-Time Clock): Untuk aplikasi yang memerlukan pengukuran waktu yang akurat.


Keunggulan ESP32

1. Konektivitas Terintegrasi: ESP32 memiliki Wi-Fi dan Bluetooth bawaan, menghilangkan kebutuhan untuk modul eksternal tambahan.

2. Kinerja Tinggi dan Hemat Energi: Dengan kemampuan dual-core dan berbagai mode hemat daya, ESP32 cocok untuk aplikasi yang membutuhkan kinerja tinggi dan efisiensi energi.

3. Kompatibilitas dan Dukungan Komunitas: Dukungan luas dari komunitas pengembang dan kompatibilitas dengan berbagai alat pengembangan, seperti Arduino IDE dan PlatformIO.

4. Harga Terjangkau: Harga ESP32 yang kompetitif membuatnya menjadi pilihan populer di kalangan hobiis dan pengembang profesional.


Aplikasi Mikrokontroler ESP32

1. Smart Home: Digunakan dalam pengembangan perangkat rumah pintar seperti termostat, pencahayaan otomatis, dan sistem keamanan.

2. Wearable Devices: Memungkinkan pembuatan perangkat wearable yang terhubung dengan Bluetooth.

3. Industrial Automation: Untuk pengendalian dan pemantauan mesin di industri.

4. Proyek DIY dan Hobiis: Favorit di kalangan pembuat (makers) untuk proyek elektronik yang terhubung.

5. Sensor dan Monitoring: Digunakan dalam pengembangan sensor lingkungan, pemantauan kesehatan, dan perangkat IoT lainnya.


Cara Memulai dengan ESP32

Untuk memulai dengan ESP32, berikut beberapa langkah dasar:

1. Perangkat Keras:

   - Dapatkan modul ESP32, seperti ESP32 DevKit atau NodeMCU ESP32.

   - Persiapkan perangkat tambahan seperti breadboard, kabel jumper, dan sensor yang dibutuhkan.

2. Perangkat Lunak:

   - Unduh dan instal Arduino IDE atau PlatformIO.

   - Konfigurasikan IDE untuk mendukung ESP32 dengan menambahkan URL board manager Espressif di pengaturan Arduino IDE.

3. Pengkodean:

   - Tulis dan unggah kode menggunakan Arduino IDE atau PlatformIO.

   - Manfaatkan perpustakaan yang tersedia untuk mempermudah pengembangan.


Kesimpulan

Mikrokontroler ESP32 adalah solusi yang kuat dan serbaguna untuk berbagai aplikasi IoT. Dengan kombinasi fitur konektivitas, kinerja tinggi, dan harga yang terjangkau, ESP32 telah menjadi andalan bagi banyak pengembang dan hobiis di seluruh dunia. Kemampuan untuk menangani berbagai tugas kompleks membuatnya ideal untuk proyek inovatif di masa depan. Mengadopsi ESP32 dalam pengembangan proyek IoT Anda adalah langkah cerdas untuk menciptakan solusi yang efisien dan canggih.


Cara Install Board ESP32 Ke Arduino IDE

 Internet of Things: Menghubungkan Dunia Melalui Teknologi


Dalam beberapa tahun terakhir, istilah "Internet of Things" (IoT) telah menjadi sorotan di dunia teknologi dan bisnis. IoT merujuk pada jaringan perangkat yang terhubung ke internet dan mampu mengumpulkan serta berbagi data. Perangkat ini bisa berupa apa saja, mulai dari kendaraan, peralatan rumah tangga, hingga perangkat medis. Artikel ini akan membahas apa itu IoT, bagaimana cara kerjanya, manfaatnya, tantangan yang dihadapinya, dan masa depannya.


Apa Itu Internet of Things?


Internet of Things, atau IoT, adalah konsep di mana objek sehari-hari dilengkapi dengan sensor, perangkat lunak, dan teknologi lainnya yang memungkinkan mereka untuk terhubung dan bertukar data dengan perangkat lain melalui internet. Tujuan utama IoT adalah untuk meningkatkan efisiensi, kenyamanan, dan kemampuan kontrol terhadap berbagai aspek kehidupan dan industri.


Bagaimana Cara Kerja IoT?

IoT bekerja melalui integrasi beberapa komponen utama:

1. Perangkat Fisik: Objek yang dilengkapi dengan sensor dan aktuator. Contohnya termasuk termostat pintar, kamera keamanan, dan alat pacu jantung.

2. Konektivitas: Menghubungkan perangkat ke internet melalui berbagai jenis jaringan, seperti Wi-Fi, Bluetooth, dan 5G.

3. Platform IoT: Sistem yang mengumpulkan, menyimpan, dan menganalisis data dari perangkat IoT. Platform ini juga memungkinkan pengguna untuk mengontrol perangkat mereka.

4. Aplikasi dan Analitik: Menggunakan data yang dikumpulkan untuk menyediakan wawasan, otomatisasi, dan kontrol yang lebih baik. Contohnya termasuk aplikasi pengelolaan energi rumah dan analitik kesehatan.


Manfaat IoT

IoT membawa berbagai manfaat signifikan, termasuk:

1. Efisiensi Operasional: Perangkat IoT dapat membantu perusahaan dalam mengoptimalkan operasi mereka, mengurangi biaya, dan meningkatkan produktivitas. Contohnya adalah sensor yang memantau peralatan industri untuk mencegah kerusakan.

2. Penghematan Energi: Perangkat IoT seperti termostat pintar dan pencahayaan otomatis dapat membantu mengurangi konsumsi energi di rumah dan bangunan komersial.

3. Peningkatan Kualitas Hidup: IoT memungkinkan pengembangan teknologi kesehatan yang dapat memantau kondisi pasien secara real-time dan memberikan perawatan yang lebih tepat waktu.

4. Keamanan dan Keamanan: Sistem keamanan berbasis IoT dapat menyediakan pemantauan dan kontrol yang lebih baik atas properti dan aset.


Tantangan IoT

Meskipun IoT menawarkan banyak keuntungan, ada beberapa tantangan yang perlu diatasi:

1. Keamanan dan Privasi: Dengan lebih banyak perangkat yang terhubung ke internet, risiko keamanan dan privasi meningkat. Perangkat IoT rentan terhadap serangan cyber, dan data pribadi pengguna bisa disalahgunakan.

2. Interoperabilitas: Banyak perangkat IoT berasal dari berbagai produsen dan menggunakan protokol yang berbeda, sehingga sulit untuk memastikan semua perangkat dapat bekerja sama secara mulus.

3. Manajemen Data: IoT menghasilkan jumlah data yang sangat besar. Mengelola, menyimpan, dan menganalisis data ini memerlukan infrastruktur yang kuat dan canggih.

4. Regulasi dan Standar: Kurangnya standar global untuk IoT dapat menghambat adopsi teknologi ini secara luas.


Masa Depan IoT

Masa depan IoT tampak sangat cerah dengan potensi yang terus berkembang. Beberapa tren yang diperkirakan akan mendominasi masa depan IoT termasuk:

1. Kecerdasan Buatan (AI) dan Pembelajaran Mesin (ML): Integrasi AI dan ML dengan IoT akan memungkinkan analisis data yang lebih canggih dan otomatisasi yang lebih pintar.

2. 5G: Jaringan 5G akan memberikan konektivitas yang lebih cepat dan lebih andal, memungkinkan perangkat IoT berfungsi dengan efisiensi yang lebih tinggi.

3. Edge Computing: Memproses data lebih dekat dengan sumbernya akan mengurangi latensi dan meningkatkan kecepatan respons perangkat IoT.

4. Pengembangan Smart Cities: IoT akan menjadi fondasi untuk pengembangan kota pintar, di mana berbagai sistem kota seperti transportasi, energi, dan keamanan akan saling terhubung dan beroperasi lebih efisien.


Aplikasi dan alat yang digunakan untuk Internet of Things (IoT) sangat beragam, mencakup berbagai sektor dan industri. Berikut ini adalah beberapa aplikasi dan alat yang paling umum digunakan dalam IoT:

Aplikasi IoT

1. Smart Home:

   - Termostat Pintar: Mengontrol suhu rumah secara otomatis untuk menghemat energi.

   - Lampu Pintar: Dapat diatur dan dijadwalkan melalui smartphone.

   - Kamera Keamanan: Memberikan pemantauan real-time dan pemberitahuan jika ada aktivitas mencurigakan.

   - Perangkat Rumah Tangga Pintar: Seperti kulkas, oven, dan mesin cuci yang dapat dikendalikan dari jarak jauh.

2. Kesehatan dan Kebugaran:

   - Perangkat Wearable: Seperti Fitbit dan Apple Watch yang memantau aktivitas fisik dan kondisi kesehatan.

   - Alat Medis Terhubung: Mengirimkan data pasien ke dokter secara real-time untuk pemantauan yang lebih baik.

3. Pertanian Cerdas (Smart Agriculture):

   - Sensor Tanah dan Tanaman: Mengukur kelembaban, nutrisi, dan kondisi tanaman.

   - Sistem Irigasi Pintar: Mengotomatiskan penyiraman berdasarkan kebutuhan tanaman dan kondisi cuaca.

4. Industri dan Manufaktur:

   - Maintenance Prediktif: Menggunakan sensor untuk memantau kondisi mesin dan mencegah kerusakan sebelum terjadi.

   - Otomatisasi Proses: Mengoptimalkan produksi dan mengurangi kesalahan manusia.

5. Transportasi dan Logistik:

   - Pelacakan Kendaraan: Memantau lokasi dan kondisi kendaraan secara real-time.

   - Manajemen Armada: Mengoptimalkan rute dan penggunaan bahan bakar.

6. Kota Pintar (Smart Cities):

   - Pencahayaan Jalan Pintar: Menyesuaikan intensitas pencahayaan berdasarkan aktivitas di jalan.

   - Manajemen Lalu Lintas: Menggunakan sensor untuk mengoptimalkan aliran lalu lintas dan mengurangi kemacetan.


Alat dan Teknologi IoT

1. Sensor:

   - Sensor suhu, kelembaban, cahaya, gerak, gas, dan banyak lagi, digunakan untuk mengumpulkan data dari lingkungan.

2. Aktuator:

   - Perangkat yang melakukan tindakan fisik berdasarkan perintah, seperti motor listrik, katup, dan relay.

3. Perangkat Komunikasi:

   - Modul Wi-Fi: Menghubungkan perangkat ke jaringan lokal dan internet.

   - Modul Bluetooth: Untuk komunikasi jarak pendek antara perangkat.

   - Modul Zigbee/Z-Wave: Digunakan dalam jaringan rumah pintar untuk komunikasi antar perangkat.

   - Modem Seluler (4G/5G): Untuk konektivitas di area yang lebih luas.

4. Platform IoT:

   - AWS IoT: Platform cloud dari Amazon untuk mengelola dan menganalisis data IoT.

   - Microsoft Azure IoT Hub: Menyediakan layanan cloud untuk menghubungkan, memantau, dan mengelola miliaran aset IoT.

   - Google Cloud IoT: Menghubungkan dan mengelola perangkat IoT di seluruh dunia.

5. Protokol Komunikasi:

   - MQTT (Message Queuing Telemetry Transport): Protokol ringan untuk pengiriman pesan.

   - CoAP (Constrained Application Protocol): Protokol untuk perangkat dengan sumber daya terbatas.

   - HTTP/HTTPS: Protokol standar untuk komunikasi web.

6. Mikrokontroler dan Single-board Computers:

   - Arduino: Platform mikrokontroler yang populer untuk proyek DIY dan prototipe IoT.

   - Raspberry Pi: Komputer kecil yang sering digunakan untuk proyek IoT lebih kompleks.

7. Alat Pengembangan dan Pemrograman:

   - IDE (Integrated Development Environment): Seperti Arduino IDE, PyCharm, dan Visual Studio Code untuk menulis dan menguji kode.

   - Bahasa Pemrograman: Python, C/C++, JavaScript, dan lainnya yang digunakan untuk mengembangkan perangkat lunak IoT.

Dengan kombinasi aplikasi dan alat ini, IoT memungkinkan pengembangan solusi yang inovatif dan efisien di berbagai bidang, meningkatkan kualitas hidup dan produktivitas.


Kesimpulan

Internet of Things merupakan revolusi teknologi yang mengubah cara kita hidup, bekerja, dan berinteraksi dengan dunia di sekitar kita. Meskipun menghadapi beberapa tantangan, potensi manfaatnya sangat besar. Dengan inovasi yang terus berlanjut, IoT diperkirakan akan memainkan peran yang semakin penting dalam kehidupan kita di masa depan. Mengadopsi dan mengembangkan IoT dengan bijaksana akan membawa kita ke era baru yang lebih terhubung dan efisien.

Reading Data On ADC Arduino 




Example Project  MEAN (Rata-rata)

Mean adalah salah satu ukuran gejala pusat. Mean dapat dikatakan sebagai wakil kumpulan data. Menentukan mean dapat dilakukan dengan cara menjumlahkan seluruh nilai data, kemudian membaginya dengan banyaknya data.

Jumlah seluruh data: banyak data

atau, dapat dirumuskan dengan:
𝑥̅ = ∑ x / n

Keterangan:
𝑥̅ = rerata atau mean
n = banyaknya data
∑ x = jumlah seluruh data

Example PROGRAM MEAN

We try use Skin Sensor for Temperature with 10 samples



#include <Thermistor.h>
#include <NTC_Thermistor.h>

#define REFERENCE_RESISTANCE   8000//1300
#define NOMINAL_RESISTANCE     4015//1675
#define NOMINAL_TEMPERATURE    25
#define B_VALUE                3047//3647
#define ANALOG_RESOLUTION      1023
Thermistor* thermistor;
float cel;
const int SENSOR_PIN=A5;
void setup() {

  // open serial connection
    Serial.begin(9600);
    thermistor = new NTC_Thermistor(
   // adcFilter2.filter(SENSOR_PIN),
    SENSOR_PIN,
    REFERENCE_RESISTANCE,
    NOMINAL_RESISTANCE,
    NOMINAL_TEMPERATURE,
    B_VALUE,
    ANALOG_RESOLUTION
  );
  // define 2 rows: first named "Counter", second named "millis"
    Serial.println("CLEARDATA");
    Serial.println("LABEL,Time,Suhu,millis");
}

void loop() {
 
   for(int ul2=0;ul2<10;ul2++){
      const double celsius = thermistor->readCelsius();
     

     cel=cel+celsius ;

    }
   cel=cel/10;
 
  // simple print out of number and millis
  // output "DATA,TIME,4711,13374"
    Serial.print("DATA,TIME,");
    Serial.print(cel); Serial.print(",");
    Serial.println(millis());
    delay(1000);
}


 Access Point 

Mode Access Point memungkinkan Seseorang menggunakan ESP32 untuk membuat jaringan WiFi untuk terhubung. Ini mirip dengan berbagi koneksi WiFi yang tersedia di ponsel. Seperti halnya telepon, pengoperasian router WiFi disimulasikan: ini dikenal sebagai Soft AP (untuk Access Point WiFi “perangkat lunak”). Oleh karena itu, Anda tidak boleh mengharapkan kinerja yang sama seperti router WiFi konvensional, terutama pada mikrokontroler.


Perlu diperhatikan juga bahwa, tidak seperti berbagi koneksi telepon, ESP32 tidak terhubung ke Internet. Jadi Anda dapat menggunakan mode Access Point untuk membuat jaringan area lokal WiFi pribadi yang sepenuhnya terisolasi dari Internet.



Dalam situasi ini router bertindak sebagai Access Point dan ESP32 ditetapkan sebagai stasiun. Dalam skenario ini, Anda harus terhubung ke router Anda (jaringan lokal) untuk mengontrol ESP32.
Namun jika Anda mengatur ESP32 sebagai Access Point (hotspot), Anda dapat terhubung ke ESP32 menggunakan perangkat apa pun dengan kemampuan Wi-Fi tanpa perlu terhubung ke router Anda.

Dengan kata sederhana, ketika Anda mengatur ESP32 sebagai Access Point, Anda membuat jaringan Wi-Fi sendiri dan perangkat (stasiun) Wi-Fi terdekat dapat terhubung ke sana (seperti smartphone atau komputer Anda)

Wiring Kendali LED di Esp


Program Kendali LED Web Server


#include <WiFi.h>

// buat Access-Point
const char* ssid     = "ESP32-Access-Point";
const char* password = "123456789";

// port web server pada 80
WiFiServer server(80);

// Variable penyimpanan untuk HTTP request
String header;

// variables penyimpanan untuk output state
String output26State = "off";
String output27State = "off";

// Pin ESp-32
const int output26 = 26;
const int output27 = 27;

void setup() {
  Serial.begin(115200);
  // Initialize the output variables as outputs
  pinMode(output26, OUTPUT);
  pinMode(output27, OUTPUT);
  // Set outputs to LOW
  digitalWrite(output26, LOW);
  digitalWrite(output27, LOW);

  // Connect to Wi-Fi network with SSID and password
  Serial.print("Setting AP (Access Point)…");
  // Remove the password parameter, if you want the AP (Access Point) to be open
  WiFi.softAP(ssid, password);

  IPAddress IP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(IP);
 
  server.begin();
}

void loop(){
  WiFiClient client = server.available();   // mulai buka clients

  if (client) {                             // If a new client connects,
    Serial.println("New Client.");          // print a message out in the serial port
    String currentLine = "";                // make a String to hold incoming data from the client
    while (client.connected()) {            // loop while the client's connected
      if (client.available()) {             // if there's bytes to read from the client,
        char c = client.read();             // read a byte, then
        Serial.write(c);                    // print it out the serial monitor
        header += c;
        if (c == '\n') {                    // if the byte is a newline character
          // if the current line is blank, you got two newline characters in a row.
          // that's the end of the client HTTP request, so send a response:
          if (currentLine.length() == 0) {
            // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
            // and a content-type so the client knows what's coming, then a blank line:
            client.println("HTTP/1.1 200 OK");
            client.println("Content-type:text/html");
            client.println("Connection: close");
            client.println();
           
            // turns the GPIOs on and off
            if (header.indexOf("GET /26/on") >= 0) {
              Serial.println("GPIO 26 on");
              output26State = "on";
              digitalWrite(output26, HIGH);
            } else if (header.indexOf("GET /26/off") >= 0) {
              Serial.println("GPIO 26 off");
              output26State = "off";
              digitalWrite(output26, LOW);
            } else if (header.indexOf("GET /27/on") >= 0) {
              Serial.println("GPIO 27 on");
              output27State = "on";
              digitalWrite(output27, HIGH);
            } else if (header.indexOf("GET /27/off") >= 0) {
              Serial.println("GPIO 27 off");
              output27State = "off";
              digitalWrite(output27, LOW);
            }
           
            // Display the HTML web page
            client.println("<!DOCTYPE html><html>");
            client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");
            client.println("<link rel=\"icon\" href=\"data:,\">");
            // CSS to style the on/off buttons
            // Feel free to change the background-color and font-size attributes to fit your preferences
            client.println("<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}");
            client.println(".button { background-color: #4CAF50; border: none; color: white; padding: 16px 40px;");
            client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}");
            client.println(".button2 {background-color: #555555;}</style></head>");
           
            // Web Page Heading
            client.println("<body><h1>ESP32 Web Server</h1>");
           
            // Display current state, and ON/OFF buttons for GPIO 26  
            client.println("<p>GPIO 26 - State " + output26State + "</p>");
            // If the output26State is off, it displays the ON button      
            if (output26State=="off") {
              client.println("<p><a href=\"/26/on\"><button class=\"button\">ON</button></a></p>");
            } else {
              client.println("<p><a href=\"/26/off\"><button class=\"button button2\">OFF</button></a></p>");
            }
               
            // Display current state, and ON/OFF buttons for GPIO 27  
            client.println("<p>GPIO 27 - State " + output27State + "</p>");
            // If the output27State is off, it displays the ON button      
            if (output27State=="off") {
              client.println("<p><a href=\"/27/on\"><button class=\"button\">ON</button></a></p>");
            } else {
              client.println("<p><a href=\"/27/off\"><button class=\"button button2\">OFF</button></a></p>");
            }
            client.println("</body></html>");
           
            // The HTTP response ends with another blank line
            client.println();
            // Break out of the while loop
            break;
          } else { // if you got a newline, then clear currentLine
            currentLine = "";
          }
        } else if (c != '\r') {  // if you got anything else but a carriage return character,
          currentLine += c;      // add it to the end of the currentLine
        }
      }
    }
    // Clear the header variable
    header = "";
    // Close the connection
    client.stop();
    Serial.println("Client disconnected.");
    Serial.println("");
  }
}







Newer Posts Older Posts Home





POPULAR POSTS

  • Skema Power Supply Switching SMPS
  • Proteus 8.5 Full Version Professional
  • Artificial Neural Network for Identification MATLAB
  • Tutorial ILI9341 TFT SPI LCD touch Screen
  • Serial Communication UART Raspberry Pico (SoftSerial)
  • Pulse Oxymetry (SPO2) + Raspberry Pi
  • Menampilkan Text Pada LCD 16x2 I2C Arduino

ABOUT ME

cobabaru

Sinau Programming

SUBSCRIBE & FOLLOW

Training


Contact Form

Name

Email *

Message *

Categories

  • alkes 1
  • Android 4
  • Arduino 35
  • Basic & Doc 12
  • centrifuge 1
  • ESP32 8
  • Internet of Things (IoT) 23
  • LCD TFT SPI 2
  • MATLAB 6
  • Metode kendali 1
  • Modul Charger 1
  • Nextion 4
  • NodeMcu 8
  • oled 1
  • Pattern Recognition 2
  • Pemrograman 2
  • Perbaikan 1
  • PID 2
  • PLC HMI VTSCADA ARDUINO 3
  • PRIVACY POLICY 1
  • Proteus 11
  • Python 1
  • raspberry 5
  • Teknik Elektromedik 2
  • Thingsboard 1
  • Video 5
  • Wemos 4

sinau_programming

Sinau Programming Distributed by Sinau Programming