প্রকল্প সম্পর্কে

এটি ESP32-S3 + SIM7670G 4G জিওফেন্স ডিভাইসের জন্য তৈরি একটি দূরবর্তী পর্যবেক্ষণ ওয়েবপেজ প্রকল্প। ওয়েবপেজটি GitHub Pages-এ হোস্ট করা আছে, ফলে যেকোনো নেটওয়ার্কে (4G/5G/WiFi) ফোন থেকে খুলেই ব্যবহার করা যায়। প্রধান ফিচারগুলোর মধ্যে রয়েছে: মানচিত্রে ডিভাইসের রিয়েল-টাইম অবস্থান দেখানো (প্রতি ২ মিনিটে আপডেট); লাল ব্যানার ও স্ট্যাটাস লাইটের মাধ্যমে ফেন্সে প্রবেশের অ্যালার্ম অবস্থা দেখানো; মানচিত্রে ক্লিক করে জিওফেন্স বহুভুজ আঁকা এবং এক ক্লিকে ডিভাইসে পাঠানো; ম্যানুয়ালি স্থানাংক ইনপুট দিয়ে ফেন্স পাঠানো; ফেন্স মুছে ফেলা; স্যাটেলাইট সংখ্যা ও ফেন্স থেকে দূরত্ব দেখানো। আর্কিটেকচারে ফোনের ব্রাউজার GitHub Pages ওয়েবপেজে অ্যাক্সেস নেয়, fetch-এর মাধ্যমে position.json পড়ে (যা GitHub Actions প্রতি ২ মিনিটে লিখে থাকে), তারপর বেমফা ক্লাউড TCP (bemfa.com:8344) ব্যবহার করে cmd=3 দিয়ে ডেটা টানে, এবং শেষে 4G-র মাধ্যমে ESP32-S3 ডিভাইসে পৌঁছায় (ডিভাইস প্রতি ৩০ সেকেন্ডে একবার স্থানাংক রিপোর্ট করে)। ফেন্স কমান্ড পাঠানোর পথ হলো: ওয়েবপেজ → বেমফা ক্লাউড HTTP sendMessage → ডিভাইস TCP গ্রহণ → ফেন্স আপডেট করা এবং NVS-এ সংরক্ষণ করা। ডিপ্লয়মেন্টের জন্য BEMFA_UID (বেমফা ক্লাউড প্রাইভেট কি) এবং BEMFA_TOPIC (টপিকের নাম geofence001) GitHub Actions Secret হিসেবে কনফিগার করতে হবে, পাশাপাশি ওয়েবপেজের index.html-এর শীর্ষে থাকা BEMFA_UID / TOPIC কনস্ট্যান্টগুলোও প্রকৃত মানের সাথে মিল থাকতে হবে। রক্ষণাবেক্ষণে অবস্থান সিঙ্ক .github/workflows/sync-position.yml প্রতি ২ মিনিটে স্বয়ংক্রিয়ভাবে ডিভাইসের স্থানাংক টেনে এনে position.json-এ লিখে দেয়; Actions পেজ থেকে Sync device position ওয়ার্কফ্লোটি ম্যানুয়ালিও ট্রিগার করা যায়।