Thuta Learning
ရှာဖွေရန်
AdvancedHardwarebeginner

Setting Up a Web Server on Pi

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Setting Up a Web Server on Pi ကို ကြောက်စရာမလိုအောင် နားလည်မယ်
  • ကိုယ်တိုင် hardware wiring/code ကို run ကြည့်တတ်မယ်
  • Real project ထဲမှာ ဒီ concept ကို ချက်ချင်း အသုံးချတတ်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

Flask (Python-based lightweight web framework) ကို Raspberry Pi ပေါ်မှာ run ရင် sensor data, LED control interface, home dashboard ကို web page အဖြစ် ပြသနိုင်ပါတယ် — Docker tutorial ကနေ 'web server' concept ကို ပြန်သတိရနိုင်ပါတယ်, ကွာခြားချက်က ဒီနေရာမှာ container မလိုဘဲ Pi ပေါ်မှာ တိုက်ရိုက် run တာပါ။ Flask app ကို host='0.0.0.0' ပေးပြီး run ရင် Pi ရဲ့ local network IP address ကနေ ဘယ် device ကမဆို access လုပ်နိုင်ပါတယ် (localhost ချည်းမက)။

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

pip install flask ကနေ install လုပ်ပြီး, Python script ထဲမှာ Flask app object ဖန်တီး, route (@app.route('/')) ဖန်တီး, LED control button (HTML form) ကို route logic ထဲ ချိတ်ဆက်ရင် — phone ဒါမှမဟုတ် computer browser ကနေ http://raspberrypi.local:5000 ကို ဝင်ကြည့်ပြီး LED ကို remote control လုပ်နိုင်ပါတယ်, ဒါက IoT dashboard ရဲ့ အခြေခံ pattern ပါ။

အတူတူ ကြည့်မယ်

python
from flask import Flask
from gpiozero import LED

app = Flask(__name__)
led = LED(17)

@app.route('/')
def home():
    return '<h1>Pi LED Control</h1><a href="/on">Turn On</a> | <a href="/off">Turn Off</a>'

@app.route('/on')
def turn_on():
    led.on()
    return 'LED is ON'

@app.route('/off')
def turn_off():
    led.off()
    return 'LED is OFF'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
You should see
http://raspberrypi.local:5000 ကို browser (phone/computer) ကနေ ဝင်ကြည့်ရင် LED control page ကို တွေ့ရမည်, link click လုပ်ရင် physical LED ချက်ချင်း on/off ဖြစ်မည်။

၅ မိနစ် စမ်းကြည့်

Flask app ကို ကိုယ်တိုင် ရေးပြီး Pi ပေါ်မှာ run ကြည့်ပါ (ရှိရင်) — phone browser ကနေ ဝင်ကြည့်ပြီး LED ကို remote control ကြည့်ပါ။

သတိလေးတစ်ချက်

Flask ရဲ့ debug=True mode ကို development အတွက်ပဲ သုံးပါ — production/always-on Pi project မှာ debug mode ဖွင့်ထားရင် security risk ရှိပါတယ် (Cybersecurity tutorial ရဲ့ security misconfiguration concept)။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • host='0.0.0.0' ကို ချန်ထားလို့ (default 127.0.0.1) Pi ပေါ်ကနေပဲ access ရပြီး phone/other device ကနေ ဝင်မရခြင်း
  • Firewall ဖွင့်ထားရင် port 5000 ကို allow မလုပ်ထားလို့ external device ကနေ access ရနိုင်ခြင်း (Linux/Cybersecurity tutorial ရဲ့ ufw lesson ကို ပြန်သတိရပါ)

အခု ကိုယ်တိုင် စမ်းကြည့်

Flask app ကို ကိုယ်တိုင် ရေးပြီး Pi ပေါ်မှာ run ကြည့်ပါ (ရှိရင်) — phone browser ကနေ ဝင်ကြည့်ပြီး LED ကို remote control ကြည့်ပါ။

You'll know it worked when: http://raspberrypi.local:5000 ကို browser (phone/computer) ကနေ ဝင်ကြည့်ရင် LED control page ကို တွေ့ရမည်, link click လုပ်ရင် physical LED ချက်ချင်း on/off ဖြစ်မည်။

Setting Up a Web Server on Pi | Thuta Learning