سیم کارت اینترنتی
این محصول قادر است تا پیامکهای دریافتی شما را از طریق شبکه Wi-Fi و اینترنت، در اختیار هر کسی که شما تمایل داشته باشید قرار دهد. از طریق پست الکترونیکی، شبکه های اجتماعی یا اپلیکیشن موبایل. همچنین قادر است تا برای شما در شبکه داحلی موبایل پیامک ارسال کند.
همچنین، در شبکه Wi-Fi داخلی، تمام فرامین کار با این دستگاه از طریق Rest Web Service به دستگاه ارسال میگردد. همچنین امنیت دستگاه در شبکه Wi-Fi داخلی با کمک USER/PASSWORD تامین میگردد. برای این امر از روش (Digest Authentication) استفاده شده است.
همچنین اطلاعات دستگاه وضعیت فعلی دستگاه (State) با استفاده از پروتکل SSDP Discovery – UPnP بر روی شبکه Wi-Fi داخلی منتشر می گردد. شما میتوانید در صورتیکه از ویندوز استفاده میکنید، در پنجره File manager در قسمت Network اطلاعات دستگاه را رویت کنید.
IP دستگاه میتواند بصورت Static یا بصورت Dynamic تعریف گردد. همچنین در شبکه داخلی آدرس UUID دستگاه بصورت UUID.local به IP دستگاه map میشود.
Restart
/api/restart (5 <= Access Level — Power User) (local only)
دستگاه را ریست می کند. دستگاه پس از ریست شدن فعالیت های ذیل را انجام خواهد داد:
-
اطلاعات لازم جهت اتصال به شبکه را مجددا بازخوانی کرده و سعی می کند همانند قبل به مودم متصل گردد. (در صورت فعال بودن DHCP ، ممکن است IP دستگاه تغییر کند)
-
اطلاعات آخرین وضعیت دستگاه (Last State) را بازخوانی کرده و دستگاه را در همان وضعیت قرار خواهد داد.
-
اطلاعات لازم جهت اتصال به Cloud(ها) یا سرور(ها) را مجددا بازخوانی کرده و سعی می کند همانند قبل به آنها متصل شده و وضعیت جاری دستگاه را برای آنها ارسال کند.
-
چنانچه دستگاه از طریق مودم به اینترنت متصل باشد، زمان و تاریخ خود را از سرورهای زمان ، مجددا بروز خواهد کرد.
Network
/api/network (10 <= Access Level — admin) (local only)
هیچ فرمانی اجرا نمی گردد و فقط اطلاعات شبکه دستگاه را با فرمت JSON را بر می گرداند.
/api/network?ssid=SSID&password=PASSWORD&tx_power=TX_POWER&ip=IP&gateway=GATEWAY&mask=MASK&dns1=DNS1&dns2=DNS2 (10 <= Access Level — admin)
وارد کردن پارامترهای قرمز الزامی است. این وب سرویس جهت متصل کردن دستگاه به مودم WiFi می باشد. پس از صدا زدن این وب سرویس، دستگاه 60 ثانیه تلاش می کند تا به مودم متصل شود و در صورت عدم موفقیت در اتصال، مجدد ریست شده و در وضعیت Access Point قرار خواهد گرفت.
TX_POWER شدت توان خروجی آنتن را مشخص میکند. مقدار پیش فرض آن 20 میباشد ولی مقادیر 76 , 74 , 68 , 60 , 52 , 44 , 34 , 28 , 20 و 8 نیز قابل مقدار دهی میباشد.
مثال:
/api/network?ssid=mary_ssid&password=mary123456
/api/network?tx_power=19
/api/network?ssid=mary_ssid&password=mary123456&ip=192.168.1.120&gateway=192.168.1.1&subnet=255.255.255.0&dns1=4.2.2.4&dns2=8.8.8.8
Device
/api/device (5 <= Access Level — Power User) (local only)
/api/device?friendlyname=FRIENDLYNAME (5 <= Access Level — Power User)
جهت دیدن نام یا تغییر نام دستگاه استفاده می گردد. دستگاه در کل شبکه نیز با این نام شناخته خواهد شد.
Authentication
/api/auth (10 <= Access Level — admin) (local only)
لیست کاربران تعریف شده بهمراه نوع آنها (admin / power user / user) را در فرمت JSON نمایش می دهد.
/api/auth?user=USER&password=PASSWORD&acl=10,5,1&desc=DESCRIPTION (ADMIN | POWER | USER) (10 <= Access Level — admin)
-
کلمه عبور و رمز عبور اصلی بصورت پیش فرض admin : admin می باشد. شما فقط می توانید رمز عبور آنرا توسط وب سرویس فوق عوض کنید.
-
دستگاه قابلیت تعریف حداکثر 10 کاربر را دارد. اگر کاربر وارد شده در دستگاه وجود داشته باشد، فقط رمز عبور یا نوع آن تغییر پیدا خواهد کرد در غیر اینصورت کاربر وارد شده ایجاد خواهد شد.
-
چنانچه فقط کاربر وارد شود و رمز عبور (پسوورد) خالی باشد، آن کاربر حذف خواهد شد.
-
چنانچه ACL مشخص نشود، مقدار پیش فرض آن 5 در نظر گرفته خواهد شد.
-
مقدار ACL برای کاربر admin مقدار 10 و برای Power User مقدار 5 و برای کاربران معمولی مقدار 1 در نظر گرفته می شود.
مثال:
/api/auth?user=elon_musk&password=musk123456&acl=1&desc=just for . . .
در مثال مقابل، کاربر elon_musk اگر قبلا ایجاد نشده باشد، ایجاد خواهد شد در غیر اینصورت رمز عبور آن تغییر خواهد کرد و سطح دسترسی آن نیز USER خواهد شد.
Cloud
سرویس های مبتنی بر کلود یکی از مهمترین بخش های سیستم میباشد. این دستگاه قادر است تا بطور همزمان به 3 آدرس مختلف متصل (connect) شود . پروتکل ارتباطی جهت ارتباط، MQTT میباشد. چنانچه وضعیت دستگاه تغییر کند، آخرین وضعیت بر روی کلیه ارتباطات متصل شده به Cloud، منتشر (publish) خواهد شد. همچنین، دستگاه می تواند از کلیه ارتباطات متصل شده، فرمان دریافت کند.
Cloud 1 : /api/cloud/1/ (5 <= Access Level — Power User) (local only)
Cloud 2 : /api/cloud/2/ (5 <= Access Level — Power User) (local only)
Cloud 3 : /api/cloud/3/ (5 <= Access Level — Power User) (local only)
وضعیت ارتباط با Cloud را از طریق وب سرویس فوق دریافت خواهید کرد و توسط وب سرویس ذیل ، دستگاه به Cloud مورد نظر متصل خواهد شد. بهتر است پس از گذشت مدتی اندک از اجرای وب سرویس ذیل، بوسیله وب سرویس فوق از متصل شدن دستگاه به Cloud مورد نظر مطمئن شویم (زمانی اندک جهت متصل شدن نیاز است).
آدرس Server پیش فرض جهت اتصال niligo.ir و Port پیش فرض نیز 1888 می باشد.
چنانچه دستگاه به Cloud متصل باشد، جهت قطع کردن اتصال (Disconnect) فقط از پارامتر enable=false استفاده کنید.
/api/cloud/1/?user=USER&password=PASSWORD&server=SERVER&port=PORT&qos=0, 1 (5 <= Access Level — Power User) (local only)
/api/cloud/1/?enabled=true/false (5 <= Access Level — Power User) (local only)
/api/cloud/2/?user=USER&password=PASSWORD&server=SERVER&port=PORT&qos=0, 1 (5 <= Access Level — Power User) (local only)
/api/cloud/2/?enabled=true/false (5 <= Access Level — Power User) (local only)
/api/cloud/3/?user=USER&password=PASSWORD&server=SERVER&port=PORT&qos=0, 1 (5 <= Access Level — Power User) (local only)
/api/cloud/3/?enabled=true/false (5 <= Access Level — Power User) (local only)
مثال:
/api/cloud/1/?user=cloud_user1&password=cloud123456&server=mqtt.google.com
/api/cloud/1/?enabled=false
/api/cloud/1/?enabled=true
در مثال فوق، وب سرویس اول، دستگاه را به mqtt.google.com متصل می کند و در صورت موفقیت مقادیر پارمتر ها را ذخیره میکند. در وب سرویس دوم، اتصال دستگاه از google قطع میشود (disconnect). در وب سرویس آخر مجددا به mqtt.google.com متصل میگردد.
Reset Factory
/api/reset-factory (10 <= Access Level — admin) (local only)
وضعیت دستگاه به حالت کارخانه بر می گردد. در این حالت اتفاقات ذیل می افتد:
-
کلیه کاربران دستگاه حذف می گردند و کدکاربری و کلمه عبور اصلی به مقدار پیشفرض admin:admin باز می گردد.
-
کلیه اتصالات Cloud قطع شده و اطلاعات مربوطه نیز حذف می گردد.
-
وضعیت جاری دستگاه (State) به حالت پیش فرض تعریف شده توسط کارخانه باز خواهد گشت.
-
اگر برای دستگاه IP ثابت و . . . . جهت ارتباط با مودم WiFi تعریف شده بود، همگی از بین خواهند رفت.
-
چنانچه قبلا اسم دستگاه تغییر کرده باشد، به مقدار پیش فرض کارخانه باز خواهد گشت.
-
چنانچه لیستی از رخداد (event) برای اجرا وجود داشته باشد، بطور کامل از بین خواهد رفت.
-
چنانچه وب سرویس خارجی را برای دستگاه تعریف کرده باشید، بطور کامل از بین خواهند رفت.
-
سیستم علاوه بر اعمال موارد فوق، حافظه فلش خود را نیز مجددا format خواهد کرد. (این امر ممکن است کمی زمان بر باشد)
-
دستگاه در حالت AccessPoint قرار خواهد گرفت و آماده پیکربندی جدید خواهد بود.
Update Firmware
/api/update.html (10 <= Access Level — admin) (local only)
/api/update (10 <= Access Level — admin) (local only)
این وب سرویس ها جهت بروز رسانی Firmware دستگاه می باشند. در وب سرویس اول یک صفحه وب باز می گردد که فایل را به دستگاه ارسال می کند. در وب سرویس دوم، فایل باید توسط App یا برنامه های دیگری نظیر curl به دستگاه ارسال گردد. دستگاه پس از دریافت فایل، بروز رسانی خود را آغاز می کند و در صورت موفقیت پیام ok را نمایش خواهد داد. پس از موفقیت در بروز رسانی، دستگاه مجددا راه اندازی (restart) می گردد.
** توجه: دستگاههای همانند، دارای firmware های یکسان نیستند، به عباریتی، firmware آنها یکسان نمی باشند. بنابراین از صحت firmware دستگاه خود اطمینان حاصل کنید.
Setting
/setting/time (5 <= Access Level — Power User) (local only)
مقدار epoch time جاری و آدرس time server و نیز مقدار offset را در قالب JSON باز می گرداند.
/setting/timezone?offset=OFFSET&server=NTP_SERVER
در صورتی که در منطقه زمانی دیگری از دستگاه استفاده می کنید، لازم است مقدار offset همان نقطه زمانی را در سیستم وارد کنید. مقدار پیش فرض offset ، شهر تهران (3:30) میباشد. همچنین time server پیش فرض نیز time.windows.com میباشد.
/setting/events (1 <= Access Level — Public User) (local only)
در صورتیکه وب سرویس State را با پارامتر Start time بکار گرفته باشید، تغییر وضعیت State در زمان Start time انجام خواهد شد. این دستگاه، لیستی از زمانبندی ها را بطول 20 نگهداری خواهد کرد. وب سرویس فوق، لیست زمانبندی ها را با فرمت JSON باز میگرداند.
/setting/events?delete=ID (1 <= Access Level — Public User) (local only)
جهت حذف یک رخداد ایجاد شده در لیست استفاده می شود.
/setting/ws
لیست restful های خارجی که دستگاه، آنها را صدا می زند را با فرمت JSON باز می گرداند.
/setting/ws?ws=ENCODED_RESTFUL&user=USER&pass=PASSWORD&eventcode=EVENT_CODE&port=PORT&retry=RETRY_NUMBER&retrytime=RETRY_TIME
یک وب سرویس را برای دستگاه تعریف می کند تا در مواقع خاصی اجرا گردد. چنانچه رخداد eventcode برای درگاه PORT دستگاه بوجود بیاید، این وب سرویس اجرا میگردد. چنانچه اجرای وب سرویس فوق موفقیت آمیز نبود، به تعداد RETRY_NUMBER و در فصله زمانهای RETRY_TIME وب سرویس فوق را مجددا اجرا میکند. این مقادیر دارای پیش فرض 5 بار و فاصله زمانی 300 میلی ثانیه میباشند. بدین وسیله میتوان عملکرد دستگاه را توسعه داد. در انتهای این صفحه لیست eventcode و شرح آن آورده شده است.
/setting/ws?delete=ID
چنانچه وب سرویسی در لیست دستگاه قرار داشته باشد تا در مواقعی صدا زده شود، میتوان بوسیله فوق آنرا حذف کرد.
مثال:
/setting/ws?ws=http%3A%2F%2F192.168.1.106%2Fapi%2Fstate%3Fport%3D3%26power%3D0&&user=admin&pass=admin&eventcode=3&port=3
چنانچه کلید دستگاه زده شود، وب سرویس http://192.168.1.106/api/state?port=3&power=0 با کاربر admin/admin صدا زده خواهد شد.
Telnet
برای کمک به برنامه نویسان و توسعه دهندگان سیستم، مکانیزم Telnet برای دستگاه ایجاد شده است که یکی از کاربردهای آن، نمایش Log دستگاه می باشد. این Log در صورت وجود هر 3 ثانیه از حافظه لیست دستگاه خوانده و چاپ می گردد.
همچنین یکسری دستورات در telnet قابل اجراست. از آنجمله:
psi : جهت چاپ system info
time : جهت نمایش اطلاعات زمان دستگاه
signal : نمایش میزان آنتن دهی دستگاه
network: نمایش اطلاعات SSID, IP, MASK, GATEWAY, DNSs و . . .
و برخی دستورات دیگر نظیر cloud , name , test mqtt , resetgsm , ctrl+z
need to know
از اینکه موفق شدید این کلید را راه اندازی کنید بسیار خوشحالیم. کاربرد اصلی دستگاه از طریق ارتباط با Cloud میباشد. هر 2 دقیقه وضعیت شبکه GSM را به Cloud و topic زیر ارسال میکند.
/set/UUID/gateway/status/
همچنین در صورت دریافت پیامک یا دریافت تماس، بخاطر امنیت بالاتر، اطلاعات آنرا ذخیره نمیکند و مستقیما به Cloud ارسال میکند تا در اختیار کسیکه دسترسی مجاز دارد، قرار گیرد. همچنین در صورتیکه از طریق شبکه برای آن اطلاعات ارسال پیامک ارسال کنید، آنرا سریعا ارسال میکند و اطلاعات را ذخیره نمیکند. topic ارسال و دریافت پیامک و نیز تماس، بصورت ذیل است.
/get/UUID/gateway/sms/
/set/UUID/gateway/sms/
/get/UUID/gateway/call/
/set/UUID/gateway/call/
