Forced Stylistic Changes
This commit is contained in:
+70
-44
@@ -117,6 +117,8 @@
|
||||
[นำเสนอโครงงาน], [], [], [], [], [], [], [], [], [], [], [],
|
||||
)
|
||||
|
||||
#show: page-theme
|
||||
|
||||
=== ผังการดำเนินงาน
|
||||
|
||||
#diagram(
|
||||
@@ -233,35 +235,58 @@
|
||||
|
||||
== ขั้นตอนการประกอบ
|
||||
|
||||
โครงงานแบ่งออกเป็น 3 โมดูล
|
||||
|
||||
+ โมดูลเซนเซอร์ NFC ขาเข้าและบอร์ด ESP32
|
||||
+ โมดูลเซนเซอร์ NFC ขาออก
|
||||
+ โมดูลเซนเซอร์ PIR
|
||||
|
||||
#show heading: it => {
|
||||
if it.level > 2 {
|
||||
block(
|
||||
it,
|
||||
inset: (left: -3em),
|
||||
)
|
||||
} else {
|
||||
it
|
||||
}
|
||||
}
|
||||
|
||||
=== โมดูลเซนเซอร์ NFC ขาออก
|
||||
|
||||
#i ดำเนินการเจาะรูบริเวณตัวกล่องเพื่อใช้เป็นช่องสำหรับสายไฟ
|
||||
จากนั้นนำสายไฟร้อยผ่านช่องดังกล่าวและต่อเข้ากับเซนเซอร์ NFC ให้เรียบร้อยตามขั้นตอน
|
||||
|
||||
=== การติดตั้งอุปกรณ์
|
||||
|
||||
=== การเขียนเฟิร์มแวร์
|
||||
|
||||
โครงงานนี้ใช้ซอฟต์แวร์ PlatformIO ในการสร้างและจัดการโปรเจกต์เฟิร์มแวร์
|
||||
#i โครงงานนี้ใช้ซอฟต์แวร์ PlatformIO ในการสร้างและจัดการโปรเจกต์เฟิร์มแวร์
|
||||
โดยหากต้องการเพียงแค่เขียนเฟิร์มแวร์ลงไปยังบอร์ด ESP32 คุณจำเป็นต้องใช้ซอฟต์แวร์หลัก ๆ คือ
|
||||
PlatformIO Core และ Git (ไม่จำเป็น แต่เพื่อความสะดวกสบาย)
|
||||
PlatformIO Core และ Git (ไม่จำเป็น แต่เพื่อความสะดวกสบาย) อย่างไรก็ตาม PlatformIO
|
||||
จำเป็นต้องใช้ Python เวอร์ชัน 3.6 ขึ้นไปด้วยเช่นกัน ดังนั้นคุณจำเป็นต้องติดตั้ง Python
|
||||
ด้วยหากคุณยังไม่มี
|
||||
|
||||
อย่างไรก็ตาม PlatformIO จำเป็นต้องใช้ Python เวอร์ชัน 3.6 ขึ้นไปด้วยเช่นกัน
|
||||
ดังนั้นคุณจำเป็นต้องติดตั้ง Python ด้วยหากคุณยังไม่มี
|
||||
#i ในขั้นตอนแรก โปรดเปิดเทอร์มินัลของคุณ ซึ่งโดยทั่วไปแล้วคุณสามารถค้นหาแอพลิเคชัน#jb "Terminal"
|
||||
ได้เลย โดยบน Windows 10 เวอร์ชั่นใหม่ ๆ และ Windows 11 จะมาพร้อมกับแอพลิเคชัน Windows
|
||||
Terminal อย่างไรก็ตาม เมื่อเปิดแล้ว โปรดตรวจสอบให้แน่ใจว่าคุณกำลังใช้ PowerShell และไม่ใช่
|
||||
Command Prompt
|
||||
|
||||
ในขั้นตอนแรก โปรดเปิดเทอร์มินัลของคุณ ซึ่งโดยทั่วไปแล้วคุณสามารถค้นหาแอพลิเคชัน "Terminal" ได้เลย
|
||||
โดยบน Windows 10 เวอร์ชั่นใหม่ ๆ และ Windows 11 จะมาพร้อมกับแอพลิเคชัน Windows Terminal
|
||||
อย่างไรก็ตาม เมื่อเปิดแล้ว โปรดตรวจสอบให้แน่ใจว่าคุณกำลังใช้ PowerShell และไม่ใช่ Command
|
||||
Prompt
|
||||
|
||||
โดยในปัจจุบัน Python เวอร์ชันล่าสุดคือ Python 3.14.2 โดยคุณสามารถติดตั้ง Python และ Git บน
|
||||
Windows ได้ด้วยการใช้คำสั่งต่อไปนี้
|
||||
#i โดยในปัจจุบัน Python เวอร์ชันล่าสุดคือ Python 3.14.2 โดยคุณสามารถติดตั้ง Python และ Git
|
||||
บน Windows ได้ด้วยการใช้คำสั่งต่อไปนี้
|
||||
|
||||
```sh
|
||||
winget install Python.Python.3.14 Git.Git -e -s winget
|
||||
```
|
||||
|
||||
สำหรับระบบปฏิบัติการอื่นนั้น โดยปกติแล้วจะไม่ต้องติดตั้ง Python
|
||||
#i สำหรับระบบปฏิบัติการอื่นนั้น โดยปกติแล้วจะไม่ต้องติดตั้ง Python
|
||||
เพิ่มเนื่องจากมีติดมากับระบบปฏิบัติการอยู่แล้ว อย่างไรก็ตาม บน Linux อาจต้องมีการติดตั้งการรองรับ
|
||||
Virtual Environment แยก โดยแต่ละระบบจะมีชื่อแพคเกจไม่เหมือนกัน โดยบน Debian, Fedora,
|
||||
และ Arch สามารถใช้คำสั่งต่อไปนี้ในการติดตั้งทั้ง Python Virtual Environment และ Git
|
||||
พร้อมกันได้
|
||||
|
||||
#pagebreak()
|
||||
|
||||
```sh
|
||||
# Debian
|
||||
sudo apt install python3-venv git
|
||||
@@ -271,13 +296,11 @@ sudo dnf install python3-virtualenv git
|
||||
sudo pacman -S python-virtualenv git
|
||||
```
|
||||
|
||||
#pagebreak()
|
||||
|
||||
#show raw.where(block: true): set block(below: 2em)
|
||||
|
||||
==== การติดตั้ง PlatformIO Core ผ่านแพคเกจ
|
||||
|
||||
หากคุณใช้ Fedora Linux หรือ Arch Linux (หรือลูก ๆ ของมัน) คุณสามารถติดตั้งแพคเกจ
|
||||
#i หากคุณใช้ Fedora Linux หรือ Arch Linux (หรือลูก ๆ ของมัน) คุณสามารถติดตั้งแพคเกจ
|
||||
PlatformIO ได้โดยตรง โดยมีคำสั่งดังนี้:
|
||||
|
||||
```sh
|
||||
@@ -287,18 +310,16 @@ sudo dnf install platformio
|
||||
sudo pacman -S platformio-core
|
||||
```
|
||||
|
||||
หากคุณติดตั้งแพคเกจ Fedora นั้นแล้ว คุณไม่จำเป็นที่จะต้องติดตั้งกฎ udev ด้วยตนเอง
|
||||
- หากคุณติดตั้งแพคเกจ Fedora นั้นแล้ว คุณไม่จำเป็นที่จะต้องติดตั้งกฎ udev ด้วยตนเอง
|
||||
(ที่จะถูกกล่าวถึงใน@pioudev)
|
||||
|
||||
หากคุณใช้ Arch คุณสามารถติดตั้งแพคเกจกฎ udev ได้โดยตรงโดยไม่ต้องดาวน์โหลดเอง
|
||||
|
||||
```sh
|
||||
sudo pacman -S --asdeps platformio-core-udev
|
||||
```
|
||||
- หากคุณใช้ Arch คุณสามารถติดตั้งแพคเกจกฎ udev ได้โดยตรงโดยไม่ต้องดาวน์โหลดเอง
|
||||
```sh
|
||||
sudo pacman -S --asdeps platformio-core-udev
|
||||
```
|
||||
|
||||
==== การติดตั้ง PlatformIO Core ผ่านสคริปต์
|
||||
|
||||
ถัดไป ในการติดตั้ง PlatformIO Core สามารถทำได้โดยการใช้สคริปต์ติดตั้ง โดยสำหรับ `curl`
|
||||
#i ถัดไป ในการติดตั้ง PlatformIO Core สามารถทำได้โดยการใช้สคริปต์ติดตั้ง โดยสำหรับ `curl`
|
||||
สามารถใช้คำสั่งนี้ได้:
|
||||
|
||||
```sh
|
||||
@@ -319,20 +340,22 @@ iwr -OutFile get-platformio.py -Uri https://raw.githubusercontent.com/platformio
|
||||
|
||||
(มีการเว้นบรรทัดใหม่เนื่องจากพื้นที่ไม่เพียงพอ โปรดอย่าเว้นบรรทัดเมื่อพิมพ์คำสั่งจริง)
|
||||
|
||||
แล้วดังนั้นจึงใช้คำสั่ง `python3 get-platformio.py` ในการรันสคริปต์ติดตั้งที่ได้ทำการดาวน์โหลดมา
|
||||
|
||||
โดยค่าเริ่มต้นแล้ว PlatformIO จะไม่เพิ่มตนเองเข้าไปยังตัวแปรสิ่งแวดล้อม PATH
|
||||
#i แล้วดังนั้นจึงใช้คำสั่ง `python3 get-platformio.py`
|
||||
ในการรันสคริปต์ติดตั้งที่ได้ทำการดาวน์โหลดมา โดยค่าเริ่มต้นแล้ว PlatformIO
|
||||
จะไม่เพิ่มตนเองเข้าไปยังตัวแปรสิ่งแวดล้อม PATH
|
||||
ซึ่งจำเป็นในการใช้คำสั่งจากที่ใหนก็ได้โดยไม่ต้องกล่าวถึงไฟล์พาธ
|
||||
|
||||
โดยสำหรับ Linux แล้วนั้น คุณต้องเพิ่ม `$HOME/.local/bin/` เข้าไปยัง PATH ของคุณ โดยหากคุณใช้
|
||||
Bash คุณสามารถแก้ไข `~/.bash_profile` และเพิ่มบรรทัดนี้เข้าไปได้:
|
||||
#pagebreak()
|
||||
|
||||
#i โดยสำหรับ Linux แล้วนั้น คุณต้องเพิ่ม `$HOME/.local/bin/` เข้าไปยัง PATH ของคุณ
|
||||
โดยหากคุณใช้ Bash คุณสามารถแก้ไข `~/.bash_profile` และเพิ่มบรรทัดนี้เข้าไปได้:
|
||||
|
||||
```sh
|
||||
export PATH=$PATH:$HOME/.local/bin
|
||||
```
|
||||
|
||||
หากคุณใช้ Zsh สามารถใช้โคดเดียวกันได้ เพียงแต่คุณต้องแก้ไขไฟล์ `~/.zprofile` หรือ `~/.zshrc`
|
||||
แทน
|
||||
#i หากคุณใช้ Zsh สามารถใช้โคดเดียวกันได้ เพียงแต่คุณต้องแก้ไขไฟล์ `~/.zprofile` หรือ
|
||||
`~/.zshrc` แทน
|
||||
|
||||
โดยบน Windows มีขั้นตอนดังนี้:
|
||||
|
||||
@@ -346,14 +369,15 @@ export PATH=$PATH:$HOME/.local/bin
|
||||
|
||||
==== 99-platformio-udev.rules <pioudev>
|
||||
|
||||
ผู้ใช้ Linux จำเป็นที่จะต้องติดตั้งกฎ udev โดยสามารถดูไฟล์กฎ udev เวอร์ชันล่าสุดได้ที่\
|
||||
#i ผู้ใช้ Linux จำเป็นที่จะต้องติดตั้งกฎ udev โดยสามารถดูไฟล์กฎ udev เวอร์ชันล่าสุดได้ที่#jb
|
||||
https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/system/99-platformio-udev.rules
|
||||
|
||||
*หมายเหตุ:* โปรดตรวจสอบว่า PID และ VID ของบอร์ดคุณอยู่ในไฟล์กฎนั้น โดยคุณสามารถดู PID/VID
|
||||
ของบอร์ดคุณได้ผ่านคำสั่ง `pio device list`
|
||||
|
||||
โดยไฟล์นั้นต้องถูกวางอยู่ที่ `/etc/udev/rules.d/99-platformio-udev.rules` (ตำแหน่งที่ดีที่สุด)
|
||||
หรือ `/lib/udev/rules.d/99-platformio-udev.rules` (อาจจำเป็นสำหรับบางระบบที่พัง)
|
||||
#i โดยไฟล์นั้นต้องถูกวางอยู่ที่ `/etc/udev/rules.d/99-platformio-udev.rules`
|
||||
(ตำแหน่งที่ดีที่สุด) หรือ `/lib/udev/rules.d/99-platformio-udev.rules`
|
||||
(อาจจำเป็นสำหรับบางระบบที่พัง)
|
||||
|
||||
โปรดใช้คำสั่งต่อไปนี้ในการดาวน์โหลดและวางไฟล์นั้นไว้ในสถานที่ที่ถูกต้อง:
|
||||
|
||||
@@ -382,28 +406,30 @@ sudo udevadm trigger
|
||||
|
||||
==== การดาวน์โหลดโปรเจกต์
|
||||
|
||||
สามารถใช้ Git ในการ clone โปรเจกต์ได้ด้วยคำสั่งต่อไปนี้:
|
||||
#i สามารถใช้ Git ในการ clone โปรเจกต์ได้ด้วยคำสั่งต่อไปนี้:
|
||||
|
||||
```sh
|
||||
git clone https://gitskette.dailitation.xyz/linesofcodes/liteauth-firmware32.git
|
||||
```
|
||||
|
||||
โดย Git นั้นจะทำการโคลนโปรเจกต์ไปที่โฟลเดอร์ `liteauth-firmware32` เนื่องจากเป็นชื่อของ Git
|
||||
repository
|
||||
|
||||
หรือไปที่ https://gitskette.dailitation.xyz/linesofcodes/liteauth-firmware32
|
||||
และทำการคลิกปุ่ม *Code* แล้วกด *Download ZIP* หรือ *Download TAR.GZ*
|
||||
แล้วทำการแตกไฟล์ได้ตามปกติ
|
||||
#i โดย Git นั้นจะทำการโคลนโปรเจกต์ไปที่โฟลเดอร์ `liteauth-firmware32` เนื่องจากเป็นชื่อของ
|
||||
Git repository หรือหากไม่ต้องการใช้ Git กรุณาไปที่
|
||||
https://gitskette.dailitation.xyz/linesofcodes/liteauth-firmware32 และทำการคลิกปุ่ม
|
||||
*Code* แล้วกด *Download ZIP* หรือ *Download TAR.GZ* แล้วทำการแตกไฟล์ได้ตามปกติ
|
||||
|
||||
หลังจากนั้น ไปที่โฟลเดอร์ของคุณในเทอร์มินัลโดยใช้คำสั่ง `cd`
|
||||
|
||||
==== คำสั่ง PlatformIO เบื้องต้น
|
||||
|
||||
- `pio run --list-targets`: ดูรายการเป้าหมายคำสั่งรัน
|
||||
- `pio run upload`: รันเป้าหมายอัพโหลด ซึ่งนี่คือคำสั่งที่คุณควรจะใช้ในการเขียนเฟิร์มแวร์ลงบนบอร์ด
|
||||
- `pio device monitor`: เปิด Serial Monitor
|
||||
#[
|
||||
#set list(indent: 3em)
|
||||
- `pio run --list-targets`: ดูรายการเป้าหมายคำสั่งรัน
|
||||
- `pio run upload`: รันเป้าหมายอัพโหลด
|
||||
ซึ่งนี่คือคำสั่งที่คุณควรจะใช้ในการเขียนเฟิร์มแวร์ลงบนบอร์ด
|
||||
- `pio device monitor`: เปิด Serial Monitor
|
||||
]
|
||||
|
||||
*หมายเหตุ:* โปรดใช้คำสั่งประเภท `pio run` ในโฟลเดอร์ของโปรเจกต์
|
||||
#i *หมายเหตุ:* โปรดใช้คำสั่งประเภท `pio run` ในโฟลเดอร์ของโปรเจกต์
|
||||
|
||||
== การทดสอบ
|
||||
|
||||
|
||||
Reference in New Issue
Block a user