Mulai simulasi gratis

WiFi & HP Virtual

ESP32 dan ESP8266 di Circzy terhubung ke jaringan virtual. Programmu bisa terhubung ke WiFi, menjalankan server web, mengambil data dari internet, mengirim pesan MQTT, dan memakai Bluetooth. Semuanya bisa dicoba dengan HP virtual, tanpa mengubah kode yang biasa dipakai di board asli.

Membuka HP virtual

Saat memakai board ESP32/ESP8266 (atau rangkaian dengan modul HC-05), tombol hijau bergambar HP muncul di samping ▶. HP virtual juga terbuka otomatis saat program yang memakai WiFi atau Bluetooth dijalankan. Di HP ada beberapa aplikasi:

AplikasiFungsi
BrowserMembuka halaman web dari ESP, misalnya http://192.168.1.23/
WiFiMemilih jaringan: router Circzy-WiFi atau hotspot yang dibuat ESP
BluetoothTerminal dan tombol kontrol untuk BluetoothSerial ESP32 atau modul HC-05
MQTTPublish dan subscribe ke broker virtual
AktivitasCatatan semua kejadian jaringan: koneksi WiFi, permintaan HTTP, MQTT, Bluetooth
URL PublikMembagikan halaman web ESP lewat internet (Pro)

Terhubung ke WiFi

Pakai jaringan Circzy-WiFi tanpa password:

#include <WiFi.h>

void setup() {
  Serial.begin(115200);
  WiFi.begin("Circzy-WiFi", "");
  while (WiFi.status() != WL_CONNECTED) {
    delay(250);
    Serial.print(".");
  }
  Serial.println(WiFi.localIP());
}

void loop() {
}

Untuk ESP8266, ganti WiFi.h dengan ESP8266WiFi.h. ESP mendapat IP 192.168.1.23, dan HP virtual otomatis bergabung ke jaringan yang sama.

Server web

#include <WiFi.h>
#include <WebServer.h>

WebServer server(80);

void setup() {
  pinMode(2, OUTPUT);
  WiFi.begin("Circzy-WiFi", "");
  while (WiFi.status() != WL_CONNECTED) {
    delay(250);
  }
  server.on("/", []() {
    server.send(200, "text/html", "<h1>LED</h1><a href=\"/on\">ON</a> <a href=\"/off\">OFF</a>");
  });
  server.on("/on", []() {
    digitalWrite(2, HIGH);
    server.sendHeader("Location", "/");
    server.send(303);
  });
  server.on("/off", []() {
    digitalWrite(2, LOW);
    server.sendHeader("Location", "/");
    server.send(303);
  });
  server.begin();
}

void loop() {
  server.handleClient();
}

Jalankan, buka aplikasi Browser di HP virtual, lalu ketuk alamat IP ESP. Tautan, formulir (GET dan POST), fetch(), dan XMLHttpRequest di halaman ESP semuanya diteruskan ke ESP. Berkas CSS dan JavaScript dari ESP ikut dimuat; pustaka dari CDN (https://…) dimuat langsung dari internet.

Hotspot, captive portal, dan mDNS

WiFi.softAP("NamaAP", "password") membuat hotspot. Buka aplikasi WiFi di HP, pilih hotspot itu, masukkan password, lalu buka http://192.168.4.1/. Jika program menjalankan DNSServer (captive portal), alamat apa pun di HP diarahkan ke ESP. Dengan MDNS.begin("lampu"), ESP juga bisa dibuka di http://lampu.local/.

Internet: HTTPClient dan API

HTTPClient, WiFiClient, dan WiFiClientSecure (HTTP dan HTTPS) bisa mengakses internet sungguhan, misalnya API cuaca, ThingSpeak, atau bot Telegram. Permintaan diteruskan lewat server Circzy, jadi setInsecure() atau sertifikat tidak diperlukan.

HTTPClient http;
http.begin("https://api.example.com/data");
int code = http.GET();
String body = http.getString();
http.end();
BatasFreePro
Permintaan internet per hari3005000
Ukuran respons1 MB1 MB

Alamat jaringan lokal (misalnya 192.168.x.x atau 127.0.0.1) di internet tidak bisa diakses. configTime() dan NTPClient mendapat waktu sungguhan dari jam komputermu.

MQTT

Broker MQTT virtual menerima koneksi ke host mana pun di port 1883 (misalnya broker.hivemq.com). Pustaka PubSubClient sudah tersedia. Buka aplikasi MQTT di HP untuk melihat pesan dari ESP (subscribe #) dan mengirim pesan ke ESP.

#include <WiFi.h>
#include <PubSubClient.h>

WiFiClient net;
PubSubClient mqtt(net);

void callback(char *topic, byte *payload, unsigned int length) {
  Serial.write(payload, length);
  Serial.println();
}

void setup() {
  Serial.begin(115200);
  WiFi.begin("Circzy-WiFi", "");
  while (WiFi.status() != WL_CONNECTED) {
    delay(250);
  }
  mqtt.setServer("broker.hivemq.com", 1883);
  mqtt.setCallback(callback);
}

void loop() {
  if (!mqtt.connected() && mqtt.connect("esp32-circzy")) {
    mqtt.subscribe("rumah/lampu");
    mqtt.publish("rumah/status", "online");
  }
  mqtt.loop();
}

Bluetooth

ESP32 memakai BluetoothSerial:

#include <BluetoothSerial.h>

BluetoothSerial SerialBT;

void setup() {
  Serial.begin(115200);
  SerialBT.begin("ESP32-Circzy");
}

void loop() {
  if (SerialBT.available()) {
    char c = SerialBT.read();
    Serial.println(c);
  }
}

Buka aplikasi Bluetooth di HP, ketuk Hubungkan, lalu kirim teks dari tab Terminal atau pakai tombol arah di tab Kontrol (mengirim F, B, L, R, S). Modul HC-05 di board apa pun (misalnya Arduino Uno) juga muncul di aplikasi ini saat simulasi berjalan.

Mode Blok

Di mode Blok, kategori Komponen → WiFi & Web berisi blok hubungkan WiFi, jika ada permintaan web, alamat halaman =, dan balas halaman web. Blok Bluetooth bawaan ESP32 di kategori Bluetooth & GPS membuat blok Bluetooth lain memakai Bluetooth ESP32.

URL publik (Pro)

Di aplikasi URL Publik, ketuk Aktifkan URL publik untuk mendapat alamat seperti https://device.circzy.com/@kode. Alamat ini bisa dibuka dari HP asli atau dibagikan ke teman, selama simulasimu berjalan. ESP harus terhubung ke WiFi dan menjalankan server web di port 80.

Yang belum didukung

BLE, ESP-NOW, WebSocket, koneksi TCP mentah ke port selain HTTP dan MQTT, serta unggah berkas lewat formulir (multipart/form-data) belum disimulasikan. Lihat Batasan Simulasi.

Siap mencoba?

Masuk dengan Google, pilih board, dan jalankan simulasi pertamamu dalam dua menit. Gratis selama masa peluncuran.

Mulai simulasi gratis