Skip to content

Latest commit

 

History

History
237 lines (146 loc) · 11.1 KB

installation.fa.md

File metadata and controls

237 lines (146 loc) · 11.1 KB

نصب DRouter

English · بازگشت به README

نصب فریمور روی ESP32 وقتی درست پیش برود دو دقیقه طول می‌کشد. این صفحه مسیر عادی، جاهایی که معمولاً مردم گیر می‌کنند، و کاری که باید در صورت خطا کرد را پوشش می‌دهد.


چه چیزی لازم دارید

  • یک برد توسعه‌ی ESP32 — کدام را بخریم
  • یک کابل USB که داده هم منتقل کند. این شایع‌ترین دلیل «برد پیدا نمی‌شود» است. خیلی از کابل‌هایی که با گوشی و پاوربانک می‌آیند فقط دو سیم برق دارند. اگر با اتصال برد هیچ چیزی ظاهر نشد، اول کابل را عوض کنید.
  • پایتون ۳.۸ یا بالاتر روی کامپیوتر. نصب‌کننده خودش بررسی می‌کند و اگر نبود می‌گوید چطور نصبش کنید.

به ESP-IDF، کامپایلر، آردوینو یا هیچ محیط توسعه‌ای نیاز ندارید. فریمور از قبل ساخته شده است.


مسیر عادی

برد را وصل کنید و یک خط دستور اجرا کنید.

لینوکس و مک

curl -fsSL https://raw.githubusercontent.com/AliAkrami1375/DRouter-Firmware/main/install.sh | bash

ویندوز

PowerShell را باز کنید (دکمه‌ی Start، بنویسید powershell، اینتر) و اجرا کنید:

irm https://raw.githubusercontent.com/AliAkrami1375/DRouter-Firmware/main/install.ps1 | iex

اگر ویندوز اجازه‌ی اجرا نداد، مربوط به سیاست اجرای اسکریپت است. فقط برای همین پنجره اجازه بدهید:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
irm https://raw.githubusercontent.com/AliAkrami1375/DRouter-Firmware/main/install.ps1 | iex

این تنظیم با بستن پنجره برمی‌گردد و چیزی را برای همیشه تغییر نمی‌دهد.


نصب‌کننده دقیقاً چه می‌کند

چون دارید یک اسکریپت را از اینترنت به شل می‌دهید، خوب است بدانید:

۱. پایتون ۳.۸ به بالا را بررسی می‌کند و اگر نبود با راهنما متوقف می‌شود. ۲. یک محیط پایتون ایزوله در ~/.drouter (در ویندوز %USERPROFILE%\.drouter) می‌سازد و esptool — ابزار رسمی فلش اسپرسیف — را داخل آن نصب می‌کند. هیچ چیزی روی سیستم نصب نمی‌شود، به sudo یا دسترسی مدیر نیاز ندارد، و به نصب پایتون موجود شما دست نمی‌زند. ۳. پورت‌های سریال را فهرست می‌کند و آن‌که شبیه ESP32 است را انتخاب می‌کند؛ تراشه‌های رایج USB (مثل CP210x و CH340 و FTDI) و USB داخلی اسپرسیف را می‌شناسد. اگر بیش از یکی محتمل بود، می‌پرسد. ۴. از خود برد می‌پرسد چه تراشه‌ای است به‌جای حدس زدن. ۵. فریمور مناسب را دانلود می‌کند و با SHA-256 منتشرشده تطبیق می‌دهد. اگر نخواند، قبل از نوشتن هر چیزی متوقف می‌شود. اول در ریلیز گیت‌هاب می‌گردد و اگر نبود، از نسخه‌ای که در همین مخزن زیر پوشه‌ی firmware/ نگه‌داری می‌شود استفاده می‌کند — در هر دو حالت چک‌سام بررسی می‌شود. ۶. ایمیج‌ها را می‌نویسد در همان آدرس‌هایی که بیلد سازنده ثبت کرده، و بعد انتخابگر بوت OTA را پاک می‌کند تا برد همان چیزی را بالا بیاورد که تازه نصب شده.

برای پاک‌کردن هر چیزی که نصب‌کننده روی کامپیوتر گذاشته، پوشه‌ی ~/.drouter را حذف کنید. فریمور روی برد دست‌نخورده می‌ماند.

اول ببینید، بعد انجام دهید

./install.sh --dry-run --chip esp32s3

دانلود و بررسی می‌کند و آدرس‌های دقیقی را که می‌نوشت چاپ می‌کند — بدون دست‌زدن به برد.


گزینه‌ها

هر دو نصب‌کننده همان گزینه‌ها را می‌پذیرند، به سبک سیستم‌عامل خودشان:

چه می‌خواهید لینوکس و مک ویندوز
پورت را خودتان بدهید ./install.sh --port /dev/ttyUSB0 .\install.ps1 -Port COM5
تنظیمات و کاربران هم پاک شود ./install.sh --erase .\install.ps1 -Erase
نسخه‌ی مشخصی نصب شود ./install.sh --version v0.2.0 .\install.ps1 -FirmwareVersion v0.2.0
فایلی که دانلود کرده‌اید نصب شود ./install.sh --file drouter-esp32s3-v0.1.0.zip .\install.ps1 -File drouter-esp32s3-v0.1.0.zip
کندتر بنویسد (کابل ضعیف) ./install.sh --baud 115200 .\install.ps1 -Baud 115200
فقط پورت‌ها را نشان بده ./install.sh --list-ports .\install.ps1 -ListPorts

درایورها

اغلب بردها برای تراشه‌ی USB خود درایور می‌خواهند. به تراشه‌ی کوچک کنار سوکت USB نگاه کنید، یا ببینید سیستم‌عامل چه می‌گوید.

تراشه‌ی روی برد ویندوز مک لینوکس
CP2102 / CP2104 دانلود درایور دانلود درایور داخلی
CH340 / CH9102 دانلود درایور دانلود درایور داخلی
FTDI FT232 معمولاً خودکار داخلی داخلی
USB داخلی (S3، C3، C6) خودکار خودکار داخلی

بعد از نصب درایور در ویندوز سیستم را ری‌استارت کنید، یا دست‌کم برد را جدا و دوباره وصل کنید.

لینوکس: دسترسی به پورت سریال

لینوکس دستگاه‌های سریال را به گروه dialout می‌دهد. یک‌بار خودتان را اضافه کنید:

sudo usermod -aG dialout $USER

بعد خارج شوید و دوباره وارد شوید — عضویت گروه فقط روی نشست‌های جدید اعمال می‌شود. ری‌استارت هم کار می‌کند.

برای بررسی:

groups | grep dialout

اگر نمی‌خواهید گروه را تغییر دهید، فقط برای همین نشست:

sudo chmod a+rw /dev/ttyUSB0

با جداکردن برد برمی‌گردد.


بردهایی که باید دکمه‌شان را نگه داشت

بیشتر بردهای توسعه خودشان وارد حالت بوت‌لودر می‌شوند و اصلاً به این فکر نمی‌کنید. بعضی‌ها — ماژول‌های خام، بعضی کلون‌ها، بردهایی با مدار ری‌ست غیرمعمول — باید دستی گفته شوند.

اگر نصب‌کننده گفت «برد جواب نداد»:

۱. دکمه‌ی BOOT (گاهی IO0 یا FLASH) را نگه دارید. ۲. در همان حال، RESET (گاهی EN) را یک‌بار بزنید. ۳. BOOT را رها کنید. ۴. نصب‌کننده را دوباره اجرا کنید.

حالا برد در بوت‌لودر منتظر فریمور نشسته و تا ری‌ست بعدی همان‌جا می‌ماند.


نصب دستی

اگر ترجیح می‌دهید اسکریپتی از اینترنت اجرا نکنید، یا روی سیستمی هستید که نمی‌تواند:

# ۱. esptool را هرطور که می‌خواهید نصب کنید
python3 -m pip install --user esptool

# ۲. فایل zip تراشه‌تان را از صفحه‌ی ریلیزها دانلود کنید
#    https://github.com/AliAkrami1375/DRouter-Firmware/releases
unzip drouter-esp32s3-v0.1.0.zip -d drouter

# ۳. ببینید بسته چه انتظاری دارد — آدرس‌ها از خود بیلد می‌آیند
cat drouter/manifest.json

# ۴. هر ایمیج را در آدرسی که آن فایل می‌گوید بنویسید، مثلاً:
python3 -m esptool --chip esp32s3 --port /dev/ttyUSB0 --baud 460800 \
  write_flash --flash_mode dio --flash_freq 40m --flash_size detect \
  0x0 drouter/bootloader.bin \
  0x8000 drouter/partition-table.bin \
  0x19000 drouter/ota_data_initial.bin \
  0x20000 drouter/drouter.bin

فایل ota_data_initial.bin همان انتخابگر بوت است و نوشتنش همان چیزی است که برد را به نسخه‌ای که تازه نصب کرده‌اید اشاره می‌دهد. از قلم نیندازیدش.

آدرس‌ها را همیشه از manifest.json داخل zip بردارید نه از اینجا — آن‌ها را بیلدی ثبت کرده که همان ایمیج‌ها را ساخته و بین تراشه‌ها فرق دارند.

اول چیزی که دانلود کرده‌اید را بررسی کنید:

sha256sum -c SHA256SUMS.txt --ignore-missing

بعد از نصب

۱. دنبال شبکه‌ی وای‌فای DRouter بگردید و وصل شوید. تا وقتی رمز نگذاشته‌اید باز است. ۲. آدرس http://192.168.4.1/ (یا http://drouter.local/) را باز کنید. ۳. اولین رمزی که وارد کنید، رمز مدیریت می‌شود.

ادامه در شروع کار.


به‌روزرسانی بعدی

همان دستور را دوباره اجرا کنید. آخرین نسخه را می‌گیرد و می‌نویسد.

تنظیمات، حساب‌ها و شمارنده‌های حجم در بخش جداگانه‌ای از حافظه (NVS) هستند که به‌روزرسانی به آن نمی‌نویسد، پس همه چیز حفظ می‌شود. --erase را وقتی بزنید که واقعاً برد تمیز می‌خواهید.


وقتی خطا می‌دهد

عیب‌یابی را ببینید — بردی که پیدا نمی‌شود، پورتی که باز نمی‌شود، نوشتنی که وسط کار می‌شکند، و بردی که با نسخه‌ی اشتباه بالا می‌آید.