RVSim C3: lập trình hợp ngữ RISC-V trên ESP32-C3
Viết hợp ngữ, chạy từng lệnh và xem chính xác điều gì xảy ra bên trong vi điều khiển.
- Viết hợp ngữ RV32IM, có sẵn các chương trình ví dụ.
- Theo dõi thanh ghi, bộ nhớ, GPIO và bảng mã máy trong lúc chạy.
- Lắp LED, nút nhấn, LED 7 đoạn và LED matrix ngay trên breadboard ảo.
- Nạp chương trình xuống board ESP32-C3 thật qua USB, vào RAM hoặc flash, hoặc tải về file firmware
.bin.
Điều khiển GPIO trực tiếp bằng thanh ghi
li t0, 0x60004000 # GPIO base
li t1, 4 # bit của GPIO2
sw t1, 0x24(t0) # ENABLE_W1TS: chân ra
loop:
sw t1, 0x08(t0) # OUT_W1TS: bật LED
call delay
sw t1, 0x0C(t0) # OUT_W1TC: tắt LED
call delay
j loop
Chọn tốc độ xung nhịp để quan sát
- 2 Hz
- 10 Hz
- 100 Hz
- 1 kHz
- 10 kHz
- 100 kHz
- 1.6 MHz
- 16 MHz
- 160 MHz
ESP32 IoT Simulator: dựng ứng dụng IoT hoàn chỉnh
Viết sketch Arduino như trên Arduino IDE, nối dây cho cảm biến, rồi cho thiết bị kết nối WiFi và gửi dữ liệu thật ra Internet.
- Chọn ESP32 DevKit V1, Seeed XIAO ESP32-C3, Seeed XIAO ESP32-S3 hoặc ESP32-C3 SuperMini.
- Biên dịch và chạy ngay, xem kết quả trên Serial Monitor.
- Kéo thanh trượt để đổi giá trị cảm biến trong lúc chương trình đang chạy.
- Bắt đầu nhanh từ các ví dụ mẫu, từ nháy LED đến gửi dữ liệu DHT22 qua MQTT.
- Dự án tự lưu trong trình duyệt, chia sẻ được bằng một đường link.
Có sẵn trong bộ linh kiện
- Cảm biến
- DHT11, DHT22, DS18B20, AHT10/AHT20, HC-SR04, PIR, LDR, MQ-2, mưa, mực nước, độ ẩm đất, lửa
- Hiển thị
- OLED SSD1306, LCD 16x2 và 20x4 I2C, LED 7 đoạn, NeoPixel WS2812, LED RGB
- Điều khiển
- Relay, servo, còi, nút nhấn, công tắc gạt, biến trở
- Kết nối
- WiFi, HTTP, MQTT, CoAP, ESP-NOW, LoRa SX1278
Dịch vụ MQTT cho thiết bị và ứng dụng
Broker EMQX giúp thiết bị ESP32, trình duyệt và ứng dụng của bạn trao đổi dữ liệu. Kết nối cần tên đăng nhập và mật khẩu; hãy liên hệ quản trị viên DCE Lab để được cấp tài khoản.
| Kết nối | Cổng | Địa chỉ | Phù hợp với | Sao chép |
|---|---|---|---|---|
| MQTT | 1883 | mqtt://mqtt.dcelab.io.vn:1883 | ESP32 và thiết bị nhúng | |
| MQTT qua TLS | 8883 | mqtts://mqtt.dcelab.io.vn:8883 | Thiết bị, ứng dụng cần mã hóa | |
| WebSocket | 8083 | ws://mqtt.dcelab.io.vn:8083/mqtt | Web app chạy nội bộ | |
| WebSocket qua TLS | 8084 | wss://mqtt.dcelab.io.vn:8084/mqtt | Trình duyệt, ESP32 IoT Simulator |
Từ board ESP32
Dùng thư viện PubSubClient với cổng 1883.
client.setServer("mqtt.dcelab.io.vn", 1883);
client.connect("esp32-01", "username", "password");
client.publish("dcelab/demo/temp", "27.5");
Từ ESP32 IoT Simulator
Trình duyệt không mở được cổng TCP 1883, nên simulator đi qua WebSocket. Trong Cài đặt, thêm dòng sau vào bảng ánh xạ broker, rồi giữ nguyên code của board.
mqtt.dcelab.io.vn = wss://mqtt.dcelab.io.vn:8084/mqtt
Trang quản trị MQTT
Theo dõi kết nối, topic và trạng thái broker trên EMQX Dashboard. Đăng nhập bằng tài khoản quản trị.