دراسة حالة · Logic HotSpot

Logic HotSpot — SaaS لشبكات WiFi المُدارة المحايد للمورّدين للمقاهي والفنادق وأماكن الفعاليات (RouterOS / بوابة MikroTik المقيِّدة، وطباعة القسائم، والتحكم في النطاق الترددي لكل مستخدم)

كيف بنت UnlockLive منصة SaaS لإدارة WiFi محايدة للمورّدين للمقاهي والفنادق وقاعات الفعاليات الكندية — لوحة إدارة بـ Yii2 (PHP) تتصل ببوابات MikroTik / RouterOS عبر API، وبوابة تقييدية (captive portal) بعلامة تجارية لتسجيل الضيوف، وطباعة قسائم على طابعة حرارية بلمسة واحدة، وضوابط للنطاق الترددي والوقت لكل مستخدم / مجموعة. تدعم أكثر من 1000 ضيف متزامن في كل موقع، وتوصل الضيف من الطباعة إلى الاتصال بالإنترنت في أقل من 5 ثوانٍ، ولا تقيّد المشغّل بأي مورّد أجهزة.

  • القطاعالاتصالات / SaaS لشبكات WiFi المُدارة
  • السنة2023
  • البلدكندا
  • المدة3 أشهر
Logic HotSpot — Vendor-Neutral Managed WiFi SaaS for Cafés, Hotels and Event Venues (RouterOS / MikroTik Captive Portal, Voucher Printing, Per-User Bandwidth Control) hero screenshot

النتائج في لمحة

  • 1000+ضيوف متزامنون مدعومون لكل موقع تحت ضغط ليالي الفعاليات
  • <5 ثوانٍالوسيط الزمني من طباعة القسيمة إلى اتصال الضيف
  • 0عدم الارتباط بمورّد أجهزة — يعمل مع أي بوابة MikroTik / RouterOS
  • 3أشهر من الانطلاق إلى أول موقع مدفوع يعمل في الإنتاج

التحدي

أرادت المقاهي المستقلة والفنادق البوتيك وقاعات الفعاليات في منطقة تورنتو الكبرى تقديم WiFi للضيوف دون (أ) تسليم كلمة مرور شبكتها الدائمة، أو (ب) الارتباط ببوابة مورّد أجهزة واحد، أو (ج) السماح لضيف واحد بإشباع النطاق الترددي على حساب الجميع. فالخيارات الجاهزة إما ربطتهم بعلامة نقاط وصول محددة، أو فرضت رسماً شهرياً لكل نقطة وصول، أو لم تدعم سير العمل الذي أراده الموظفون فعلاً — قسيمة مطبوعة بلمسة واحدة تُسلَّم عبر الكاونتر مع الإيصال.

المطلوب: منصة WiFi مُدارة متعددة المواقع ومحايدة للمورّدين يستطيع فيها مشغّل واحد إدارة عدد غير محدود من المواقع من لوحة واحدة، وتبقى البوابات رخيصة وقابلة للاستبدال (أي جهاز MikroTik / RouterOS)، ويستطيع الموظفون طباعة قسيمة محددة المدة بلمسة واحدة، ويُفرض النطاق الترددي لكل مستخدم عند البوابة (وليس بالاعتماد على حسن النية)، ولا ينهار النظام في ليلة فعالية مزدحمة بأكثر من 1000 ضيف متزامن.

حلّنا

بنينا Logic HotSpot — لوحة إدارة بـ Yii2 (PHP) + بوابة تقييدية (captive portal) بعلامة تجارية + خط طباعة قسائم على طابعة حرارية، وكلها تتحدث مع بوابات MikroTik / RouterOS الجاهزة عبر API العامة، مع فرض النطاق الترددي لكل مستخدم عبر RADIUS (FreeRADIUS).

لوحة الإدارة هي واجهة قيادة المشغّل. من تسجيل دخول واحد يدير عدداً غير محدود من المواقع، ويحدد خطط WiFi (تجربة 15 دقيقة، وساعة، و24 ساعة، و7 أيام، ومؤتمر)، ويضبط حدود النطاق الترددي لكل خطة وقواعد الجلسات المتزامنة، ويضع علامته التجارية على البوابة التقييدية لكل موقع (الشعار والألوان والشروط والعرض التسويقي)، ويراقب الجلسات الحية في الوقت الفعلي — بما في ذلك القدرة على طرد جهاز مسيء بنقرة واحدة. ويُسجَّل كل إجراء في مسار التدقيق الخاص بالمشغّل.

البوابة التقييدية واجهة تسجيل سريعة تبدأ من الجوال. يتصل الضيف بشبكة SSID الخاصة بالموقع، ويحصل على البوابة ذات العلامة التجارية، ويختار خطة (أو يستردها)، ثم يتصل بالإنترنت — عادةً في أقل من 5 ثوانٍ من البداية إلى النهاية. وتُدعم الخطط المدفوعة والخطط المجانية مقابل استبيان وخطط القسائم المطبوعة كلها من البوابة نفسها.

طباعة القسائم على الطابعة الحرارية هي سير العمل الذي يُكمل الحلقة مع موظفي الموقع. تعرض اللوحة زر «طباعة قسيمة» بلمسة واحدة على جهاز لوحي خلف الكاونتر؛ ويصل الطلب إلى تكامل مع طابعة حرارية ESC/POS تطبع قسيمة بشكل إيصال تحمل شعار الموقع واسم الخطة والحد الزمني ورمز القسيمة ورمز QR جديداً. يمسح الضيف رمز QR أو يكتب الرمز على البوابة التقييدية ويتصل بالإنترنت خلال ثوانٍ.

فرض النطاق الترددي هو الجزء الذي تخطئ فيه معظم البوابات الجاهزة. فبدلاً من الوثوق بالبوابة التقييدية، نصادق كل جلسة عبر FreeRADIUS — وتفرض بوابة RouterOS خاصية تحديد المعدل التي يعيدها RADIUS على مستوى البيانات، فلا يستطيع ضيف واحد فعلياً تجاوز حد خطته مهما حاول جهازه. وتتراكم الحدود لكل مجموعة فوق الحدود لكل مستخدم بحيث يمكن تقييد فئة فعالية كاملة معاً.

كل شيء متعدد المستأجرين بحكم التصميم — مشغّل واحد ومواقع غير محدودة وإعدادات معزولة لكل موقع — ويعمل على Nginx + PHP-FPM مع Redis لتخزين عمليات البحث عن الجلسات مؤقتاً بحيث تبقى البوابة التقييدية بزمن استجابة أقل من ثانية تحت حمل ليلة الفعاليات.

  • إدارة مواقع متعددة من لوحة مشغّل واحدة — مواقع غير محدودة وإعدادات معزولة لكل موقع
  • تكامل مع بوابات RouterOS / MikroTik محايد للمورّدين — يعمل أي جهاز RouterOS دون ارتباط بأجهزة محددة
  • بوابة تقييدية بعلامة تجارية لكل موقع (الشعار والألوان والشروط والعرض التسويقي) مع تسجيل في أقل من ثانية تحت الحمل
  • طباعة قسائم على طابعة حرارية ESC/POS بلمسة واحدة — شعار الموقع والخطة والحد الزمني ورمز القسيمة ورمز QR جديد
  • حدود نطاق ترددي لكل مستخدم ولكل مجموعة تُفرض عند البوابة عبر FreeRADIUS — وليس بالاعتماد على حسن النية
  • مراقب جلسات فوري مع طرد الأجهزة المسيئة بنقرة واحدة
  • محرك الخطط — تجربة 15 دقيقة، وساعة، و24 ساعة، و7 أيام، ومؤتمر، ومجاني مقابل استبيان، ومدفوع — كلها من البوابة نفسها
  • بنية SaaS متعددة المستأجرين: Nginx + PHP-FPM + تخزين Redis المؤقت لحمل ليالي الفعاليات (أكثر من 1000 ضيف متزامن)

كيف بنيناه

  1. 01

    الاستكشاف، وبنية معمارية محايدة للمورّدين، وتصميم يعتمد RouterOS أولًا

    بدأنا بالجلوس في مقهى مزدحم وفي قاعة مؤتمرات تتسع لـ 200 مقعد ومراقبة كيف يُدخل الموظفون ضيوف WiFi فعليًا، وتأكدنا من أن سير العمل يجب أن يدور حول قسيمة مطبوعة وليس شاشة دفع. واخترنا عمدًا MikroTik / RouterOS هدفًا للبوابة لأنه منخفض التكلفة وواسع الانتشار وقابل للبرمجة عبر API موثّقة وغير مرتبط بمورّد أجهزة واحد، فيستطيع المشغّل استبدال البوابات أو إعادة استخدامها أو توسيعها دون إعادة بناء المنصة.

  2. 02

    وحدة إدارة Yii2 + البوابة المقيِّدة (captive portal) + مصادقة RADIUS

    أطلقنا وحدة التحكم المبنية على Yii2 (PHP) مع إدارة المواقع المتعددة، وضوابط الخطة وعرض النطاق والعلامة التجارية، ومراقب جلسات فوري، وطرد الجلسة بنقرة واحدة. والبوابة المقيِّدة واجهة PHP سريعة منفصلة تُقلع في أجزاء من الثانية عند أول اتصال للضيف وتصادق عبر FreeRADIUS، فيُفرض عرض النطاق لكل مستخدم على مستوى بيانات البوابة لا بالاعتماد على الثقة.

  3. 03

    مسار قسائم الطابعة الحرارية (ESC/POS عبر LAN)

    بنينا تكاملًا مع ESC/POS يتحدث مع طابعات الإيصالات الحرارية الشائعة (Epson TM-T20 وعائلة Star TSP100) عبر الشبكة المحلية للموقع، بحيث يستطيع جهاز لوحي خلف المنضدة إطلاق أمر «Print Voucher» بنقرة واحدة، فتخرج في أقل من ثانية قسيمة بعلامة الموقع التجارية تحمل الشعار والباقة والمدة الزمنية والرمز ورمز QR. رمز القسيمة للاستخدام مرة واحدة ومحدد المدة ويمكن إلغاؤه من لوحة التحكم.

  4. 04

    اختبار الحمل لليالي الفعاليات، وقابلية الرصد، والتسليم

    أجرينا اختبار حمل على البوابة المقيدة عند أكثر من 1000 عملية تسجيل دخول متزامنة لكل موقع، وضبطنا Nginx + PHP-FPM + Redis حتى أصبح الوسيط الزمني للتسجيل أقل بكثير من 5 ثوانٍ من البداية إلى النهاية. وزوّدنا الجلسات واستدعاءات البوابات بأدوات القياس، وكتبنا دليل تشغيل لإضافة موقع واستبدال بوابة وتهيئة طابعة حرارية، وبقينا متاحين أثناء أولى ليالي الذروة لدى المشغّل.

حزمة التقنيات

  • PHP (إطار Yii2)
  • MySQL
  • MikroTik / RouterOS API
  • RADIUS (FreeRADIUS) للنطاق الترددي لكل مستخدم
  • تكامل الطابعة الحرارية ESC/POS
  • Nginx + PHP-FPM
  • Redis (تخزين الجلسات المؤقت)
  • Docker
  • تطوير البرمجيات المخصصة
  • تكامل الشبكات
  • هندسة البوابة التقييدية
  • تكامل الأجهزة

الأسئلة الشائعة

لماذا اختيار MikroTik / RouterOS كبوابة بدلًا من حزمة WiFi سحابية من مورّد واحد؟

ثلاثة أسباب. (1) التكلفة: جهاز RouterOS يكلّف جزءًا صغيرًا من سعر نقاط الوصول والمبدّلات المرتبطة بمورّد واحد. (2) الانتشار: أجهزة RouterOS موجودة في كل مكان ويستطيع أي مُركِّب شبكات محلي تركيبها. (3) واجهة API عامة موثقة ودعم كامل لـ RADIUS، فنفرض حدود النطاق الترددي والوقت والجلسات المتزامنة على مستوى نقل البيانات بدلًا من الاعتماد على البوابة المقيدة وحدها. ويستطيع المشغّل تبديل البوابات أو إضافة موقع جديد دون إعادة بناء منصة Logic HotSpot.

كيف يُفرض النطاق الترددي لكل مستخدم فعليًا، ولماذا لا تتولى البوابة المقيدة ذلك؟

تتولى البوابة المقيِّدة المصادقة لا الإنفاذ. بعد مصادقة الضيف، تفتح بوابة RouterOS جلسة لدى FreeRADIUS، الذي يعيد سمة `Mikrotik-Rate-Limit` الخاصة بالخطة. وتفرض البوابة هذا المعدل على مستوى البيانات، عند كل حزمة. ولا يستطيع جهاز ضيف مخالف تجاوز سقفه لأن الحد يقع أسفل البوابة المقيِّدة، في طبقة الشبكة التي لا يمكن للجهاز تجاوزها.

كيف يتكامل سير عمل قسائم الطابعة الحرارية مع موظفي المكان؟

يستخدم الموظفون جهازًا لوحيًا خلف المنضدة مسجّلًا الدخول إلى لوحة تحكم المشغّل بحساب مقيّد بالموقع. وعند الضغط على زر «Print Voucher» في الجهاز اللوحي يُرسَل أمر طباعة ESC/POS عبر الشبكة المحلية للموقع إلى طابعة حرارية شائعة (Epson TM-T20 أو Star TSP100 وغيرها). وتُطبع في أقل من ثانية قسيمة تحمل علامة الموقع التجارية والشعار والباقة والمدة الزمنية ورمز القسيمة ورمز QR. رمز القسيمة للاستخدام مرة واحدة ومحدد المدة ويمكن إلغاؤه من لوحة التحكم، فلا تتحول قسيمة مفقودة إلى باب خلفي دائم.

هل يمكن لـ Logic HotSpot التوسع لليلة فعالية عالية الحركة بأكثر من 1000 ضيف متزامن؟

نعم، فالبوابة المقيِّدة (captive portal) خفيفة عن قصد (Nginx + PHP-FPM + Redis لتخزين عمليات البحث عن الجلسات مؤقتاً)، ويتم الإنفاذ على مستوى البوابة بواسطة RouterOS + FreeRADIUS لا بواسطة البوابة المقيِّدة. اختبرنا المنصة تحت حمل يتجاوز 1000 عملية تسجيل دخول متزامنة لكل موقع، مع زمن وسيط للتسجيل أقل بكثير من 5 ثوانٍ من البداية إلى النهاية. وإضافة سعة أكبر مسألة زيادة عدد البوابات أو استخدام بوابة أقوى، لا إعادة بناء المنصة.

كم استغرق بناء Logic HotSpot، وكيف يدعمه الفريق الآن؟

ثلاثة أشهر من البداية إلى النهاية مع فريق من ثلاثة أشخاص (مدير منتج/مهندس شبكات، ومطور PHP/RouterOS، ومهندس بوابة مقيدة/واجهات). وبعد الإطلاق بقينا بعقد دعم شهري للتحسينات وتحديثات سكربتات البوابات وتغييرات قاموس RADIUS وتغطية المناوبة خلال أولى ليالي فعاليات الذروة.

هل تريد نتيجة كهذه؟

تحدّث إلى الفريق نفسه الذي بنى Logic HotSpot — SaaS لشبكات WiFi المُدارة المحايد للمورّدين للمقاهي والفنادق وأماكن الفعاليات (RouterOS / بوابة MikroTik المقيِّدة، وطباعة القسائم، والتحكم في النطاق الترددي لكل مستخدم). سنحدد نطاق مشروعك، ونقدّم لك عرضًا بسعر ثابت، ونُريك أقرب مثال من أعمالنا.

احجز مكالمة استراتيجية