การเรียนรู้ Arduino ESP32 เป็นกระบวนการที่สนุกและท้าทาย เนื่องจาก ESP32 เป็นไมโครคอนโทรลเลอร์ที่มีความสามารถมากมายและใช้งานได้กับหลายแพลตฟอร์มต่าง ๆ ไม่ว่าจะเป็นการพัฒนาโปรแกรมเพื่อ IoT (Internet of Things) หรือโปรเจกต์อิเล็กทรอนิกส์ทั่วไป
ขั้นตอนพื้นฐานสำหรับการเรียนรู้ Arduino ESP32:
-
เตรียมฮาร์ดแวร์:
- มีบอร์ด Arduino ESP32 เช่น NodeMCU-32S, ESP32 Dev Kit, หรือบอร์ด ESP32 อื่น ๆ ตามที่คุณมีอยู่
- สาย USB เพื่อเชื่อมต่อ ESP32 กับคอมพิวเตอร์
-
ติดตั้ง Arduino IDE:
- ดาวน์โหลดและติดตั้ง Arduino IDE จากเว็บไซต์ของ Arduino (https://www.arduino.cc/en/software)
- เปิด Arduino IDE และติดตั้งเครื่องมือสำหรับ ESP32 โดยไปที่ เมนู File > Preferences และใส่ URL นี้ในช่อง Additional Board Manager URLs:
https://dl.espressif.com/dl/package_esp32_index.json
- ไปที่ เมนู Tools > Board > Boards Manager, ค้นหา "esp32" และติดตั้ง ESP32 by Espressif Systems
-
เลือกบอร์ด ESP32:
- เมื่อติดตั้งเครื่องมือสำหรับ ESP32 เสร็จสิ้น ไปที่ เมนู Tools > Board และเลือกบอร์ด ESP32 ที่คุณมี (เช่น NodeMCU-32S)
-
เรียนรู้การเขียนโค้ด:
- เรียนรู้เกี่ยวกับภาษาโปรแกรม Arduino (C/C++) และการใช้งานไลบรารีของ ESP32
- เริ่มต้นจากโค้ดที่ง่ายๆ เช่นการส่งข้อความไปยัง Serial Monitor หรือการเปิด-ปิด LED
-
ทดลองโปรเจกต์ต่างๆ:
- ทดลองโปรเจกต์ง่ายๆ เพื่อเรียนรู้การใช้งาน ESP32 ได้แก่:
- การควบคุม LED ด้วยสวิตช์หรือแสดงผลตามเซ็นเซอร์
- การส่งข้อมูลไปยังเว็บเซิร์ฟเวอร์ผ่าน Wi-Fi
- การใช้งาน Bluetooth หรือการสื่อสารแบบไร้สาย
- ทดลองโปรเจกต์ง่ายๆ เพื่อเรียนรู้การใช้งาน ESP32 ได้แก่:
-
การเรียนรู้เพิ่มเติม:
- อ่านเอกสารและคู่มือการใช้งาน ESP32 จากเว็บไซต์ของ Espressif Systems
- เรียนรู้จากชุมชน Arduino ESP32 บนเว็บไซต์ต่าง ๆ เช่น GitHub, Arduino Forum, และช่อง YouTube
-
ทดลองโปรเจกต์ IoT:
- ลองสร้างโปรเจกต์ IoT ง่ายๆ เช่นระบบส่งข้อมูลเซ็นเซอร์ไปยังแพลตฟอร์ม IoT (เช่น ThingSpeak, Blynk)
-
การปรับแต่งและพัฒนา:
- ศึกษาเพิ่มเติมเกี่ยวกับการใช้งานหลายๆ ฟีเจอร์ของ ESP32 เช่นการใช้งาน GPIO, การเชื่อมต่อกับอุปกรณ์อื่น ๆ ผ่าน SPI, I2C, UART และอื่น ๆ
- พัฒนาโปรเจกต์ที่น่าสนใจเพื่อศึกษาและปรับปรุงทักษะการเขียนโปรแกรม
การเรียนรู้ Arduino ESP32 เป็นการเรียนรู้ที่มีประสิทธิภาพมากในการศึกษาการเขียนโปรแกรมในรูปแบบของ IoT และอิเล็กทรอนิกส์ และยังเป็นพื้นฐานที่ดีสำหรับการศึกษาเกี่ยวกับการทำงานของไมโครคอนโทรลเลอร์ในรูปแบบพื้นฐานและขั้นสูง
เตรียมเครื่องสำหรับพัฒนา IoT
ก่อนการพัฒนา IoT จะต้องทำการติดตั้ง โปรแกรม สำหรับสร้าง Environment สำหรับการพัฒนาโปรแกรมด้าน IoT
1. Chocolatey
Chocolatey เป็นเครื่องมือการจัดการซอฟต์แวร์ package management แบบฟรีสำหรับ Windows เราสร้างติดตั้งโปรแกรมต่างผ่านทาง Repository ของ Chocolatey https://chocolatey.org/install
เปิด Powershell ด้วยสิทธิ Administrator
> Set-ExecutionPolicy AllSigned
> Set-ExecutionPolicy Bypass -Scope Process
> Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
ตัวอย่างหน้าจอ
Reboot เครื่อง หลังจากนั้น ให้ทำการติดตั้ง package จาก Powershell ดังนี้
- rsync
- wget
- python
- nodejs
- make
> choco install rsync wget python nodejs
> choco install make
ตัวอย่างหน้าจอ
2. Arduino IDE 2
Arduino IDE เป็น Editor สำหรับการพัฒนาโปรแกรม ด้วย Arduino Framework https://www.arduino.cc/en/software และ Download MSI installer
กด Just Download
ดำเนินการติดตั้ง โปรแกรมแบบ ปรกติ
เปิดโปรแกรม Arduino IDE และ ไปยัง เมนู File > Preferences เพื่อทำการตั้งค่า
เพิ่มเติม บอร์ด ESP32 ให้แก่ Arduino IDE เพื่อให้สามารถใช้ สามารถพัฒนา iot ร่วมกับ ESP32 บอร์ดได้
เพิ่ม link Additional Boards Managers
https://espressif.github.io/arduino-esp32/package_esp32_index.json
Ref อ้างอิง Code สำหรับ ESP32 Core Arduino https://github.com/espressif/arduino-esp32
ข้อมูลสำหรับ บอร์ด ตระกูล ESP32
SoC | Stable | Development | Datasheet |
---|---|---|---|
ESP32 | Yes | Yes | ESP32 |
ESP32-S2 | Yes | Yes | ESP32-S2 |
ESP32-C3 | Yes | Yes | ESP32-C3 |
ESP32-S3 | Yes | Yes | ESP32-S3 |
ESP32-C6 | No | Yes | ESP32-C6 |
ESP32-H2 | No | Yes | ESP32-H2 |
https://products.espressif.com/#/product-comparison
อ้างอิง
ESP8266 | ESP32 | ESP32-S2 | ESP32-S3 | ESP32-C3 | ESP32-C6 | |
---|---|---|---|---|---|---|
Announcement Date | 2014, สิงหาคม | 2016, กันยายน | 2019, กันยายน | 2020, ธันวาคม | 2020, พฤศจิกายน | 2021, เมษายน |
Main processor | Tensilica L106 32 บิต (สูงสุด 160MHz) | Tensilica Xtensa 32 บิต LX6 (สูงสุด 240MHz) (ตัวเลือกคู่) | Tensilica Xtensa 32 บิต LX7 (สูงสุด 240MHz) | Tensilica Xtensa 32 บิต LX7 คู่ (สูงสุด 240MHz) | RISC-V 32 บิต (สูงสุด 160MHz) | RISC-V 32 บิต (สูงสุด 160MHz) |
SRAM | 160KB | 520KB | 320KB | 512KB | 400KB | 400KB |
ROM | 0 | 448KB | 128KB | 384KB | 384KB | 384KB |
JTAG | X | ✓ | ✓ | ? | ✓ | ✓ |
Cache | คำสั่ง 32 KB | 64KB | 8/16KB (configurable) | ? | 16KB | ? |
WiFi | Wi-Fi 4 (เฉพาะสูงสุด 72.2Mbps) | Wi-Fi 4 | Wi-Fi 4 | Wi-Fi 4 | Wi-Fi 4 | Wi-Fi 6 |
Bluetooth | X | BLE 4.2 (อัปเกรดเป็น 5.0, มีข้อจำกัด) | X | BLE 5.0 | BLE 5.0 | BLE 5.0 |
Ethernet | X | ✓ | X | ? | X | ? |
RTC memory | 768B | 16KB | 16KB | 16KB | 8KB | ? |
PMU | ✓ | ✓ | ✓ | ? | ✓ | ? |
ULP coprocessor | X | ✓ | ULP-RISC-V | ? | X | ? |
Cryptographic Accelerator | X | SHA, RSA, AES, RNG | SHA, RSA, AES, RNG, HMAC, ลายเซ็นดิจิตอล | SHA, RSA, AES, RNG, HMAC, ลายเซ็นดิจิตอล | SHA, RSA, AES, RNG, HMAC, ลายเซ็นดิจิตอล | SHA, RSA, AES, RNG, HMAC, ลายเซ็นดิจิตอล |
Secure boot | X | ✓ | ✓ | ✓ | ✓ | ✓ |
Flash encryption | X | ✓ | XTS-AES-128/256 | ✓ | XTS-AES-128 | XTS-AES-128 |
SPI | 2 | 4 | 4 | ? | 3 | ? |
I2C | 1 | 2 | 2 | ? | 1 | ? |
I2S | 1 | 2 | 1 | ? | 1 | ? |
UART | 2 (เพียง TX เท่านั้น) | 3 | 2 | ? | 2 | ? |
SDIO Host | 0 | 1 | 0 | 2 | 0 | 0 |
SDIO Slave | 0 | 1 | 0 | 0 | 0 | 0 |
GPIO | 17 | 34 | 43 | 44 | 22 | 22 |
LED PWM | 5 | 16 | 8 | ? | 6 | ? |
MCPWM | 0 | 6 | 0 | 2 | 0 | 0 |
Pulse counter | 0 | 8 | 4 | ? | 0 | X |
GDMA* | 0 | 0 | 0 | ? | 6 | ? |
USB | X | X | USB OTG 1.1 | ? | ซีเรียล/JTAG | ? |
TWAI** | 0 | 1 | 1 | ? | 1 | ? |
ADC | 1x 10-bit SAR | 2x 12-bit SAR, สูงสุด 18 ช่อง | 2x 13-bit SAR, สูงสุด 20 ช่อง | ? | 2x 12-bit SAR, สูงสุด 6 ช่อง | ? |
DAC | X | 2x 8-bit | 2x 8-bit | ? | X | X |
RMT | การส่ง 1x + การรับ 1x | การส่ง/การรับ 8x | การส่ง/การรับ 4x | ? | การส่ง 2x + การรับ 2x | ? |
Timer | 2x 23-bit*** | 4x 64-bit | 4x 64-bit | ? | 2x 54-bit + 1x 52-bit | ? |
传感器温度 | ✓ | ✓ | ✓ | ? | ✓ | ? |
Hall Sensor | X | ✓ | X | ? | X | ? |
Touch Sensor | 0 | 10 | 14 | ? | X | ? |
ESP32 Pinout
การพัฒนา โปรแกรมให้สามารถใช้งานบน ESP32 ESP pinout แบบ pdf
สร้าง IoT Home lab
การสร้าง IoT home lab เพื่อใช้สำหรับการเรียนรู้และการพัฒนา มีวัดถุประสงค์เพื่อให้การเรียนรู้มีประสิทธิภาพ รวดเร็วไม่เสียเวลาสำหรับการสร้าง Environment โดยการสร้าง Home Lab ในบทนี้จะเป็นการสร้างบน Windows 10/11 มีขั้นตอนดังต่อไปนี้
- ติดตั้ง Virtaulbox version ล่าสุด
- ติดตั้ง Vagrant
- ปิด Service HyperV บน Windows
- สร้าง Vagrantfile เพื่อสร้าง lab
1. ติดตั้ง Virtualbox
ไปยัง https://www.virtualbox.org/wiki/Downloads เพื่อทำการ Download โปรแกรม virtualbox และ Extension Pack
2. ติดตั้ง Vagrant
Vagrant คืออะไร
ไปยัง https://www.vagrantup.com/ ให้ Download Community Version
ตั้งค่า Path
เมื่อตั้งตั้งโปรแกรมในข้อ 1,2 เรียบร้อยแล้วให้ทำการเพิ่ม path ของ โปรแกรมเพื่อให้สามารถใช้งานผ่านทาง Command Line ได้
- เพิ่ม Path ของ virtualbox ไปยัง Environment Variable (C:\Program Files\Oracle\VirtualBox)
- เพิ่ม Path ของ vagrant ไปยัง Environment Variable (C:\Program Files\Vagrant\bin)
กดเลือกบรรทัด path และกดปุ่ม New เพื่อเพิ่มเติมค่า
ปิด hyperv service บน Windows
เปิด Powershell ในโหมด Administrator
> Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
และ
> bcdedit /set hypervisorlaunchtype off
ติดตั้ง Home lab
เรียนรู้พื้นฐานการสร้าง Home Lab ด้วยสร้าง Virtual Host บน virtualbox ด้วยการใช้งานคำสั่ง vagrant
- สร้าง Folder สำหรับติดตั้ง Homelab เช่น thingsboard
- ภายใน folder thingsboard ประกอบด้วย File 2 File ดังนี้
- Vagrantfile ระบุคำสั่งสำหรับการสร้าง VM (เรียกว่า Creation)
- bootstrap.sh ระบุคำสั่งที่ทำงานภายใน VM (เรียกการ Provision)
ตัวอย่าง สร้าง Debian server
สร้าง VM ด้วย Debian 12 และหลังจากสร้าง VM ก็จะทำการติดตั้ง docker engine
- สร้าง Folder homelab ด้วย คำสั่ง mkdir
>mkdir homelab
- หลังจากนั้น ให้ Download ไฟล์ homelab1.zip ไปไว้ folder homelab และทำการแตก zip ให้เรียบร้อย
- และใช้ Terminal เปิดไปยัง folder homelab1
- run คำสั่ง vagrant ดังนี้
vagrant up --provision=virtualbox --provision
ตัวอย่างหน้าจอ
ขั้นตอนการทำงานเบื้องหลัง
File Vagrantfile เป็นภาษา ruby ทำหน้าที่เป็น Template เพื่อส่งต่อให้แก่ คำสั่ง Vagrant นำไปสร้าง VM บน Virtualbox
Vagrant.configure("2") do |config|
config.vm.box = "generic/debian12"
config.vm.network "private_network", ip: "192.168.56.10"
config.vm.network "forwarded_port", guest:2375 , host: 2375
config.vm.network "public_network", bridge: "Intel(R) Wireless-AC 9560 160MHz", ip: "192.168.1.10"
config.vm.synced_folder ".", "/vagrant", type: "rsync"
config.vm.provider "virtualbox" do |vb|
vb.customize [
"modifyvm", :id,
"--nested-hw-virt", "on",
"--memory", "2048",
"--paravirtprovider", "hyperv",
"--cpus", "2"
]
end
#config.vm.provision "shell" , path: "bootstrap.sh"
end
File bootstrap.sh เป็น Bash script ไว้สำหรับ Run ใน Debian สำหรับการติดตั้ง Docker , Docker compose
#!/bin/bash
echo "[ ] Start vagrant provisioning"
# Add Docker's official GPG key:
sudo apt update && sudo apt upgrade -y && sudo apt autoremove –y
sudo apt --fix-broken install -y
sudo apt-get install ca-certificates curl -y
sudo apt-get install openssh-server -y
sudo apt-get install wget tree -y
sudo apt install \
apparmor \
cifs-utils \
curl \
dbus \
jq \
libglib2.0-bin \
lsb-release \
network-manager \
nfs-common \
udisks2 \
wget -y
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo "[ ] install docker "
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update -y
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo usermod -aG docker vagrant
newgrp docker
สร้าง Thinsboard Server
ตัวอย่าง สร้าง Thingsboard server
Thingsboard Server คือ
Thingsboard Server เป็นแพลตฟอร์ม IoT (Internet of Things) ที่ใช้สำหรับการจัดการและการควบคุมอุปกรณ์ IoT ต่าง ๆ ได้อย่างมีประสิทธิภาพ ซึ่งออกแบบมาเพื่อให้สามารถจัดการกับอุปกรณ์ IoT จำนวนมากได้โดยมีการรองรับการส่งข้อมูลแบบ real-time อย่างมีประสิทธิภาพด้วยความปลอดภัยสูงสุด
Thingsboard Server มีความสามารถที่สำคัญดังนี้:
-
การจัดการอุปกรณ์ (Device Management): Thingsboard สามารถรับข้อมูลจากอุปกรณ์ IoT และจัดการกับอุปกรณ์เหล่านั้นได้ รวมถึงการเชื่อมต่อ, การลงทะเบียน, การติดตามสถานะ, และการจัดการอื่น ๆ ของอุปกรณ์ IoT.
-
การจัดเก็บข้อมูล (Data Persistence): Thingsboard ช่วยในการจัดเก็บข้อมูลที่ได้รับจากอุปกรณ์ IoT อย่างปลอดภัยและเป็นระบบ โดยสามารถบันทึกข้อมูลได้ในรูปแบบที่ยืดหยุ่น และสามารถเข้าถึงข้อมูลได้จากหน้าต่างสำหรับการวิเคราะห์.
-
การแสดงผลและการจัดเก็บข้อมูล (Visualization and Dashboards): Thingsboard มีความสามารถในการสร้างและแสดงข้อมูลผ่านทางกราฟและตัวชี้วัดต่าง ๆ ที่เกี่ยวข้องกับอุปกรณ์ IoT ซึ่งสามารถเข้าถึงผ่านทางแผงควบคุมหรือ Dashboards ที่กำหนดเอง.
-
การจัดการกฎและการควบคุม (Rules Engine and Control): Thingsboard มีกลไกในการตั้งกฎและการควบคุมที่ทำให้ผู้ใช้สามารถกำหนดการกระทำต่าง ๆ ภายในระบบ IoT ตามเงื่อนไขที่กำหนดได้.
-
ความปลอดภัย (Security): Thingsboard มีการป้องกันความปลอดภัยที่มีประสิทธิภาพ เช่น การรับรองตัวตนและการเข้ารหัสข้อมูล เพื่อปกป้องข้อมูลของอุปกรณ์ IoT และข้อมูลการใช้งาน.
Thingsboard Server เป็นโปรเจกต์แบบ (open-source) ซึ่งทำให้มีความยืดหยุ่นในการปรับแต่งตามความต้องการขององค์กร และมีชุมชนที่พร้อมให้การสนับสนุนและพัฒนาเพิ่มเติมอย่างต่อเนื่อง
สร้าง Thingsboard Server บน Debian 12 และหลังจากสร้าง VM ก็จะทำการติดตั้ง docker engine
- หลังจากนั้น ให้ Download ไฟล์ Thingsboard.zip ไปไว้ folder homelab และทำการแตก zip ให้เรียบร้อย
- Run คำสั่ง vagrant
vagrant up --provision=virtualbox --provision
ผลลัพท์
- Run คำสั่ง
vagrant ssh
,vagrant up
ผลลัพท์
File Vagrantfile สำหรับ lab นี้จะสร้าง VM จาก Debian 12 (Box) และมีการ Run Script เพื่อติดตั้ง Docker Engine โดยใช้รูปแบบการ Run แบบ inline script และ จะใช้ คำสั่ง Docker compose เพื่อสร้าง containers
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
$script = <<-SCRIPT
# genkey
# Add Docker's official GPG key:
sudo apt-get install ca-certificates curl -y
sudo apt-get install openssh-server -y
systemctl restart sshd.service
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update -y
# Install Docker Compose
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
usermod -aG docker vagrant
# create folder for moute data
sudo -u vagrant mkdir -p /home/vagrant/.thingsboard-data && sudo chown -R 799:799 /home/vagrant/.thingsboard-data
sudo -u vagrant mkdir -p /home/vagrant/.thingsboard-db && sudo chown -R 799:799 /home/vagrant/.thingsboard-db
sudo -u vagrant mkdir -p /home/vagrant/.thingsboard-logs && sudo chown -R 799:799 /home/vagrant/.thingsboard-logs
# Run docker compose
sudo -u vagrant docker compose -f /vagrant/docker-compose.yml up -d
SCRIPT
Vagrant.configure("2") do |config|
config.vm.box = "generic/debian12"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.network "forwarded_port", guest:8080 , host: 8080
config.vm.network "forwarded_port", guest:1883 , host: 1883
config.vm.synced_folder ".", "/vagrant", type: 'rsync'
config.vm.provider "virtualbox" do |vb|
vb.customize [
"modifyvm", :id,
"--nested-hw-virt", "on",
"--memory", "2048",
"--paravirtprovider", "hyperv",
"--cpus", "2"
]
end
config.vm.provision "shell" , inline: $script
end
File docker-compose.yml เป็น Bash script ไว้สำหรับ Run ใน Debian สำหรับการติดตั้ง Docker , Docker compose
services:
thingsboard:
restart: unless-stopped
image: "thingsboard/tb-postgres"
expose:
- "8080"
ports:
- "8080:9090"
- "1883:1883"
- "7070:7070"
- "5683-5688:5683-5688/udp"
environment:
TB_QUEUE_TYPE: in-memory
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/thingsboard
SPRING_DATASOURCE_PASSWORD: postgres
SPRING_DATASOURCE_USERNAME: postgres
volumes:
- /home/vagrant/.thingsboard-data:/data
- /home/vagrant/.thingsboard-logs:/var/log/thingsboard
links:
- postgres
depends_on:
- postgres
postgres:
restart: unless-stopped
image: "postgres:15"
ports:
- "5432"
environment:
POSTGRES_DB: thingsboard
POSTGRES_PASSWORD: postgres
volumes:
- /home/vagrant/.thingsboard-data/db
- เปิด terminal พิมพ์ คำสั่ง ipconfig เพื่อดูค่า ip ที่ได้รับจาก Router
- เปิด browser http://<ip_address>:8080
Default system administrator account:
login - sysadmin@thingsboard.org
password - sysadmin
Default demo tenant administrator account:
login - tenant@thingsboard.org.
password - tenant.
Demo tenant customers:
Customer A user: customerA@thingsboard.org.
Customer B user: customerB@thingsboard.org.
Customer C user: customerC@thingsboard.org.
all users have “customer” password.
คำสั่ง Vagrant
- คำสั่ง พื้นฐาน สำหรับ บริหารจัดการ VB
- vagrant up --provider=virtualbox --provision
- vagrant halt
- vagrant up
- vagrant destroy
- คำสั่ง สำหรับการ ssh เข้าไปใน VM
- ตรวจสอบ ssh config
- vagrant ssh-config
- vagrant ssh
- ตรวจสอบ ssh config
ต่อไปจะเรียนรู้การใช้งาน Thingsboard iot gateway
เตรียม Workshop
- ขั้นตอนการเตรียม workshop หลังจากที่ได้ Download และติดตั้ง Arduino IDE และ Driver เรียบร้อยแล้ว ก็ได้ ทำการ Download file muict_thingsboard_cource.zip ไปไว้ใน Folder
C:\Users\<username>\Documents\Arduino
และ แตกไฟล์ให้เรียบรอย
หลังจาก นั้นให้เปิด Explorer ไปยัง C:\Users\<username>\Documents\Arduino\muict_thingsboard_course\Code
การตั้งค่า library ของโปรเจค
- ตั้งค่า library ไปยัง
C:\Users\<username>\Documents\Arduino\muict_thingsboard_course\Code
เนื่องจาก ภายใน Folder ดังกล่าว ได้มี library เตรียมไว้แล้ว สามารถ compile และ upload code ได้แลยทันที
- เปิด โปรแกรม Arduino IDE ไปยังเมนู Files > Preferences และเปลี่ยน ตำแหน่งของ Location ดังนี้
การเรียนรู้ workshop ก็จะดำเนิน เรียนรู้ไปเป็นลำดับ ดังนี้
- ทำความเข้าใจ Code
- Library ที่ใช้ในแต่ละบท
- Upload Code ไปยัง Board ในที่การเรียบรู้สามารถใช้งาน Board ในตระกูล ESP32 ได้ตามปรกติทั้งไป แต่ในการเรียบรู้ในบทเรียน จะใช้งาน ESP32 Dev kit V1 ร่วมกับ Extension Shild ของ บริษัท komomi