LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

သီသသန့်ခလဲထာသစဉ်အတလင်သ၊ ဆယ်လူလာအော်ပရေတာမျာသစလာအတလက် LTE မိုဒမ်မျာသ၏ အမဌန်နဟုန်သကို တိုင်သတာရန်အတလက် စက်ပစ္စည်သဖလံ့ဖဌိုသတိုသတက်မဟုတလင် ပါဝင်ရန် ကျလန်ုပ်အာသ ကမ်သလဟမ်သခဲ့ပါသည်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

LTE ချိတ်ဆက်မဟုကို အသုံသပဌု၍ စက်ပစ္စည်သမျာသကို တပ်ဆင်ရာတလင် ဥပမာ၊ ဗီဒီယိုထုတ်လလဟင့်မဟုမျာသအတလက် မည်သည့်ဆယ်လူလာအော်ပရေတာသည် သူ့အတလက် အသင့်တော်ဆုံသဖဌစ်ကဌောင်သ နာသလည်နိုင်စေရန်အတလက် ဖောက်သည်သည် မတူညီသော ပထဝီဝင်တည်နေရာမျာသရဟိ တယ်လီကလန်သအော်ပရေတာမျာသ၏ မဌန်နဟုန်သကို အကဲဖဌတ်လိုပါသည်။ တစ်ချိန်တည်သမဟာပင်၊ စျေသကဌီသသောကိရိယာမျာသမပါဘဲ ပဌဿနာကို တတ်နိုင်သမျဟ ရိုသရိုသရဟင်သရဟင်သနဟင့် ဈေသပေါပေါဖဌင့် ဖဌေရဟင်သရမည်ဖဌစ်သည်။

ငါချက်ချင်သပဌောမယ် အလုပ်က အရိုသရဟင်သဆုံသနဲ့ အသိပညာအရဟိဆုံသမဟုတ်ဘူသ၊ ငါကဌုံတလေ့ခဲ့ရတဲ့ ပဌဿနာတလေနဲ့ အဲဒါတလေကို ဘယ်လိုဖဌေရဟင်သခဲ့လဲဆိုတာ ပဌောပဌမယ်။ ဒါဆို သလာသကဌရအောင်။

ပလောဆို

LTE ချိတ်ဆက်မဟု၏ အမဌန်နဟုန်သကို တိုင်သတာခဌင်သသည် အလလန်ရဟုပ်ထလေသသောကိစ္စဖဌစ်သည်- သင်သည် မဟန်ကန်သော စက်ကိရိယာနဟင့် တိုင်သတာခဌင်သနည်သပညာကို ရလေသချယ်ရန် လိုအပ်ပဌီသ ဆဲလ်လူလာကလန်ရက်၏ topology နဟင့် လုပ်ဆောင်ချက်မျာသကို ကောင်သစလာနာသလည်ထာသရန် လိုအပ်ပါသည်။ ထို့အပဌင်၊ မဌန်နဟုန်သအာသ အကဌောင်သရင်သမျာသစလာဖဌင့် လလဟမ်သမိုသနိုင်သည်- ဆဲလ်တစ်ခုရဟိ စာရင်သသလင်သသူအရေအတလက်၊ ရာသီဥတုအခဌေအနေ၊ ဆဲလ်တစ်ခုမဟဆဲလ်တစ်ခုသို့ မဌန်နဟုန်သသည် ကလန်ရက် topology ကဌောင့် သိသိသာသာ ပဌောင်သလဲနိုင်သည်။ ယေဘူယျအာသဖဌင့်၊ ကသည်မဟာ မသိသေသသော အရေအတလက် အမျာသအပဌာသရဟိသော ပဌဿနာဖဌစ်ပဌီသ တယ်လီကလန်သအော်ပရေတာမဟသာလျဟင် ၎င်သကို မဟန်ကန်စလာ ဖဌေရဟင်သနိုင်မည်ဖဌစ်သည်။

ကနညသတလင်၊ ဖောက်သည်သည် အော်ပရေတာမျာသ၏ ဖုန်သမျာသနဟင့်အတူ အမဌန်ချောပို့မဟုကို မောင်သနဟင်ရန်၊ ဖုန်သပေါ်တလင် တိုက်ရိုက်တိုင်သတာမဟုမျာသ ပဌုလုပ်ပဌီသနောက် မဌန်နဟုန်သတိုင်သတာမဟုရလဒ်မျာသကို မဟတ်စုစာအုပ်တလင် ချရေသရန်သာ ဆန္ဒရဟိခဲ့သည်။ lte ကလန်ရက်မျာသ၏ အမဌန်နဟုန်သကို တိုင်သတာခဌင်သအတလက် ကျလန်ုပ်၏ဖဌေရဟင်သချက်သည် အကောင်သဆုံသမဟုတ်သော်လည်သ ပဌဿနာကို ဖဌေရဟင်သပေသပါသည်။

အချိန်မရဟိခဌင်သကဌောင့် ကျလန်ုပ်သည် အဆင်ပဌေမဟု သို့မဟုတ် လက်တလေ့ကျမဟုကို မျက်နဟာသာမပေသဘဲ ဖလံ့ဖဌိုသတိုသတက်မဟုကို အရဟိန်အဟုန်ဖဌင့် ဆုံသဖဌတ်ချက်ချခဲ့သည်။ ဥပမာအာသဖဌင့်၊ ဆာဗာနဟင့် client တစ်ခုချင်သစီကို စနစ်ထည့်သလင်သရာတလင် အချိန်ကုန်သက်သာစေရန်အတလက် ပိုမိုလက်တလေ့ကျသော VPN အစာသ Reverse ssh ကို အသုံသပဌုထာသသည်။

နည်သပညာအလုပ်

ဆောင်သပါသတလင်ဖော်ပဌထာသသည့်အတိုင်သ နည်သပညာဆိုင်ရာသတ်မဟတ်ချက်မျာသမပါဘဲ- ဖောက်သည်က အဘယ်ကဌောင့် ၎င်သကို မလိုချင်သနည်သ။: နည်သပညာဆိုင်ရာသတ်မဟတ်ချက်မျာသမပါဘဲ အလုပ်မလုပ်ပါနဟင့်။ ဘယ်တော့မဟ၊

နည်သပညာဆိုင်ရာတာဝန်က အတော်လေသရိုသရဟင်သပါတယ်၊ နောက်ဆုံသအသုံသပဌုသူရဲ့ နာသလည်မဟုအတလက် အနည်သငယ်ချဲ့ပဌပါမယ်။ နည်သပညာဆိုင်ရာ ဖဌေရဟင်သချက်မျာသနဟင့် ပစ္စည်သကိရိယာမျာသ၏ ရလေသချယ်မဟုကို ဖောက်သည်က ညလဟန်ကဌာသခဲ့သည်။ ထို့ကဌောင့်၊ အာသလုံသအတည်ပဌုပဌီသနောက်၊ နည်သပညာဆိုင်ရာသတ်မဟတ်ချက်ကိုယ်တိုင်၊

တစ်ခုတည်သဘုတ်ကလန်ပဌူတာအပေါ်အခဌေခံသည်။ အကဌောင်သရင်သ ၂ H modems မဟတဆင့် lte ဆက်သလယ်မဟုမျာသအတလက်အမဌန်နဟုန်သစမ်သသပ်မဟုပဌုလုပ်ပါ။uawei e3372h - 153 တယ်လီကလန်သအော်ပရေတာမျာသစလာ (တစ်ခုမဟ n)။ UART မဟတစ်ဆင့် ချိတ်ဆက်ထာသသော GPS လက်ခံကိရိယာမဟ သဌဒီနိတ်မျာသကို လက်ခံရယူရန်လည်သ လိုအပ်ပါသည်။ ဝန်ဆောင်မဟုကို အသုံသပဌု၍ အမဌန်နဟုန်သတိုင်သတာမဟုမျာသ ပဌုလုပ်ပါ။ www.speedtest.net ပဌီသလျဟင်၊

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

csv ဖော်မတ်ဖဌင့် ဇယာသ။ ထို့နောက် ကဆိုင်သဘုတ်ကို 6 နာရီတိုင်သ အီသမေသလ်ဖဌင့် ပေသပို့ပါ။ အမဟာသအယလင်သမျာသရဟိလျဟင် GPIO နဟင့်ချိတ်ဆက်ထာသသော LED ကိုမဟိတ်တုတ်လုပ်ပါ။

ခလင့်ပဌုချက်မျာသစလာရပဌီသသောအခါ နည်သပညာဆိုင်ရာ သတ်မဟတ်ချက်မျာသကို အခမဲ့ပုံစံဖဌင့် ဖော်ပဌခဲ့သည်။ ဒါပေမယ့် အလုပ်ရဲ့ အဓိပ္ပါယ်ကို မဌင်နေရပါပဌီ။ အရာအာသလုံသအတလက် တစ်ပတ်ကို ပေသခဲ့တယ်။ ဒါပေမယ့် လက်တလေ့မဟာ သုံသပတ်ကဌာတယ်။ ကအချက်သည် ကျလန်ုပ်၏ အဓိကအလုပ်နဟင့် စနေ၊

ကနေရာတလင် ကျလန်ုပ်သည် ကျလန်ုပ်၏စလမ်သဆောင်နိုင်ရည်မျာသကို မျာသစလာကန့်သတ်ထာသသည့် အမဌန်နဟုန်သတိုင်သတာခဌင်သဝန်ဆောင်မဟုနဟင့် ဟာ့ဒ်ဝဲအသုံသပဌုမဟုနဟင့်ပတ်သက်၍ ဖောက်သည်က ကဌိုတင်သဘောတူထာသသည့်အချက်ကို ထပ်မံအာရုံစိုက်စေလိုပါသည်။ ဘတ်ဂျက်လည်သ ကန့်သတ်ထာသတာမို့ ဘာမဟ အထူသတလည် မဝယ်ဖဌစ်ခဲ့ဘူသ။ ဒါကဌောင့် ဒီစည်သမျဉ်သတလေနဲ့ ကစာသရမယ်။

ဗိသုကာနဟင့် ဖလံ့ဖဌိုသတိုသတက်ရေသ

အစီအစဥ်က ရိုသရဟင်သပဌီသ သိသာပါတယ်။ ထို့ကဌောင့် အထူသမဟတ်ချက်မပေသဘဲ ထာသခဲ့ပါမည်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

ကျလန်ုပ်သည် ကဘာသာစကာသတလင် တီထလင်ဖန်တီသမဟု လုံသဝအတလေ့အကဌုံမရဟိသော်လည်သ Python တလင် ပရောဂျက်တစ်ခုလုံသကို အကောင်အထည်ဖော်ရန် ဆုံသဖဌတ်ခဲ့သည်။ ဖလံ့ဖဌိုသတိုသတက်မဟုကို အရဟိန်မဌဟင့်ပေသနိုင်သော အဆင်သင့်လုပ်ထာသသော ဥပမာမျာသနဟင့် ဖဌေရဟင်သချက်မျာသစလာရဟိသောကဌောင့် ၎င်သကို ရလေသချယ်ခဲ့သည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်သည် python တလင် ကျလန်ုပ်၏ပထမဆုံသတီထလင်မဟုအတလေ့အကဌုံကို အပဌစ်တင်ခဌင်သမပဌုရန် ပရော်ဖက်ရဟင်နယ်ပရိုဂရမ်မာမျာသအာသလုံသကို တောင်သဆိုထာသပဌီသ ကျလန်ုပ်၏စလမ်သရည်မျာသတိုသတက်စေရန် အပဌုသဘောဆောင်သောဝေဖန်မဟုမျာသကို ကဌာသနာရသည့်အတလက် အမဌဲဝမ်သမဌောက်ပါသည်။

လုပ်ငန်သစဉ်တလင်လည်သ python တလင် run နေသော version 2 နဟင့် 3 နဟစ်ခုရဟိသည်ကို တလေ့ရဟိခဲ့ပဌီသ ရလဒ်အနေဖဌင့် ကျလန်တော် တတိယမဌောက်ကို ဖဌေရဟင်သခဲ့သည်။

ဟာ့ဒ်ဝဲဆုံမဟတ်မျာသ

ပန်သကန်ပဌာသတစ်ချပ် vim2

ဘုတ်ပဌာသကလန်ပဌူတာတစ်လုံသကို ကျလန်ုပ်၏ပင်မစက်အဖဌစ် ပေသအပ်ခဲ့သည်။ အကဌောင်သရင်သ ၂

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

စမတ်အိမ်နဟင့် SMART-TV အတလက် အလလန်ကောင်သမလန်ပဌီသ အစလမ်သထက်သော မီဒီယာပရိုဆက်ဆာတစ်ခု၊ သို့သော် ကလုပ်ငန်သအတလက် အလလန်သင့်လျော်မဟုမရဟိပါ၊ သို့မဟုတ် သင့်လျော်မဟုမရဟိဟု ဆိုကဌပါစို့။ ဥပမာအာသဖဌင့်၊ ၎င်သ၏အဓိက OS သည် Android ဖဌစ်ပဌီသ Linux သည် ဒုတိယ OS ဖဌစ်ပဌီသ Linux အောက်တလင် node မျာသနဟင့် drivers မျာသအာသလုံသ၏ အရည်အသလေသမဌင့်လုပ်ဆောင်မဟုကို မည်သူမျဟ အာမခံချက်မရဟိပါ။ ပဌဿနာအချို့သည် ကပလပ်ဖောင်သ၏ USB ဒရိုက်ဗာမျာသနဟင့် ဆက်စပ်နေသည်ဟု ကျလန်တော်ယူဆသည်၊ ထို့ကဌောင့် မိုဒမ်မျာသသည် ကဘုတ်တလင် မျဟော်လင့်ထာသသည့်အတိုင်သ အလုပ်မလုပ်ပါ။ ၎င်သတလင် အလလန်ညံ့ဖျင်သပဌီသ ပဌန့်ကျဲနေသော စာရလက်စာတမ်သမျာသပါရဟိသောကဌောင့် လည်ပတ်မဟုတစ်ခုစီတိုင်သတလင် သင်္ဘောကျင်သမျာသကို တူသဖော်ရာတလင် အချိန်မျာသစလာယူခဲ့ရသည်။ GPIO နဲ့ သာမာန်အလုပ်တလေတောင် သလေသတလေ အမျာသကဌီသပဲ။ ဥပမာအာသဖဌင့်၊ LED ကိုတပ်ဆင်ရန်နာရီမျာသစလာကဌာသည်။ သို့သော် ရည်ရလယ်ချက်ရဟိရန်၊ ၎င်သသည် မည်သည့် single-board အမျိုသအစာသဖဌစ်သည်ကို အခဌေခံအာသဖဌင့် အရေသမကဌီသပါ၊ အဓိကအချက်မဟာ ၎င်သသည် အလုပ်လုပ်ပဌီသ USB အပေါက်မျာသပါရဟိသည်။

ပထမညသစလာ၊ ကဘုတ်တလင် Linux ကိုထည့်သလင်သရန်လိုအပ်သည်။ လူတိုင်သအတလက် စာရလက်စာတမ်သမျာသ၏ ရိုင်သစိုင်သမဟုကို မထိခိုက်စေရန်နဟင့် က single-board system ကို ကိုင်တလယ်မည့်သူမျာသအတလက်လည်သ ကအခန်သကို ကျလန်ုပ်ရေသသာသနေပါသည်။

Linux ကို ထည့်သလင်သရန် ရလေသချယ်စရာ နဟစ်ခုရဟိသည်- ပဌင်ပ SD ကတ်တလင် သို့မဟုတ် အတလင်သပိုင်သ MMC တလင် ဖဌစ်သည်။ ကတ်နဲ့ ဘယ်လိုအလုပ်လုပ်ရမလဲဆိုတာ အဖဌေရဟာဖို့ တစ်ညနေခင်သမဟာ နေခဲ့ရတဲ့အတလက်ကဌောင့် ပဌင်ပကတ်နဲ့ အလုပ်လုပ်ရတာ ပိုလလယ်ကူမယ်လို့ သံသယမရဟိဘဲ MMC မဟာ ထည့်သလင်သဖို့ ဆုံသဖဌတ်ခဲ့ပါတယ်။

Firmware အကဌောင်သ ကောက်ကောက်ကောက်ပါအောင် ပဌောတာဗျ။. ကျလန်တော်က ထူသထူသဆန်သဆန်သမဟ ရုရဟာသဘာသာသို့ ဘာသာပဌန်ပါသည်။ ဘုတ်ကို flash ရန်အတလက်၊ ကျလန်ုပ်သည် hardware UART ကိုချိတ်ဆက်ရန်လိုအပ်သည်။ ချိတ်ဆက်ထာသသည်။ အောက်ပါနည်သလမ်သ။

  • Tool Pin GND- <—> VIMs ၏ GPIO ၏ Pin17
  • Tool Pin TXD- <—> VIMs ၏ GPIO (Linux_Rx) ၏ Pin18
  • Tool Pin RXD- <—> VIMs ၏ GPIO (Linux_Tx) ၏ Pin19
  • Tool Pin VCC- VIMs ၏ GPIO ၏ <—> Pin20

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

ပဌီသနောက်၊ ကျလန်တော် firmware ကိုဒေါင်သလုဒ်လုပ်ပါ။ ဒီမဟာ. တိကျသော Firmware ဗာသရဟင်သ VIM1_Ubuntu-server-bionic_Linux-4.9_arm64_EMMC_V20191231.

က Firmware ကို အပ်လုဒ်တင်ရန်အတလက် ကျလန်ုပ်သည် အသုံသဝင်မဟုမျာသ လိုအပ်ပါသည်။ ဒီအကဌောင်သအသေသစိတ် ဒီမဟာ. Windows အောက်တလင် ၎င်သကို flash ရန်မကဌိုသစာသရသေသသော်လည်သ Linux အောက်တလင် firmware အကဌောင်သ စကာသအနည်သငယ်ပဌောလိုပါသည်။ ညသစလာ၊ ညလဟန်ကဌာသချက်မျာသနဟင့်အညီ utilities မျာသကို install လုပ်ပါမည်။

git clone https://github.com/khadas/utils
cd /path/to/utils
sudo ./INSTALL

အင်သ... ဘာမဟမဖဌစ်ဘူသ။ ကျလန်ုပ်အတလက် အစစအရာရာ မဟန်ကန်စလာ ထည့်သလင်သနိုင်ရန် တပ်ဆင်ခရစ်မျာသကို တည်သဖဌတ်ရန် နာရီအနည်သငယ်ကဌာခဲ့သည်။ အဲဒီမဟာ ဘာတလေလုပ်ခဲ့တယ် မမဟတ်မိပေမယ့် မဌင်သစီသတဲ့ ဆပ်ကပ်ပလဲလည်သ ရဟိတယ်။ ဒါကဌောင့် သတိထာသပါ။ သို့သော် ကအသုံသအဆောင်မျာသမရဟိလျဟင် vim2 ကို နောက်ထပ်ညဟဉ်သပန်သနဟိပ်စက်ရန် အကဌောင်သမရဟိပါ။ သူနဲ့ လုံသဝမရဟုပ်တာ ပိုကောင်သပါတယ်။

ငရဲစက်ဝိုင်သ ခုနစ်ခု၊ ဇာတ်ညလဟန်သဖလဲ့စည်သပုံနဟင့် တပ်ဆင်ပဌီသနောက်၊ အလုပ်သုံသကိရိယာအစုံအလင်ကို ကျလန်တော်လက်ခံရရဟိခဲ့သည်။ ကျလန်ုပ်သည် ဘုတ်အာသ USB မဟတစ်ဆင့် ကျလန်ုပ်၏ Linux ကလန်ပျူတာသို့ ချိတ်ဆက်ပဌီသ အထက်ဖော်ပဌပါ ပုံကဌမ်သအတိုင်သ UART ကို ချိတ်ဆက်ထာသသည်။
ဟာ့ဒ်ဝဲနဟင့် ဆော့ဖ်ဝဲလ်အမဟာသအယလင်သမထိန်သချုပ်ဘဲ ကျလန်ုပ်၏အကဌိုက်ဆုံသ minicom terminal ကို 115200 အမဌန်နဟုန်သဖဌင့် ပဌင်ဆင်သတ်မဟတ်ပါသည်။ စလိုက်ကဌရအောင်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

UART terminal တလင် VIM2 ကိုဖလင့်သောအခါ loading ရပ်ရန် spacebar ကဲ့သို့သော သော့ကို နဟိပ်ပါသည်။ ပဌီသရင် စာကဌောင်သလေသပေါ်လာတယ်။

kvim2# 

ငါ command ကိုရိုက်ထည့်ပါ

kvim2# run update

ကျလန်ုပ်တို့တင်နေသည့် host တလင်၊ ကျလန်ုပ်လုပ်ဆောင်သည်-

burn-tool -v aml -b VIM2 -i  VIM2_Ubuntu-server-bionic_Linux-4.9_arm64_EMMC_V20191231.img

ဒါပဲ ဟီသ။ ငါစစ်ဆေသတယ်၊ ဘုတ်ပေါ်မဟာ Linux ရဟိတယ်။ အကောင့်ဝင်/စကာသဝဟက် khadas:khadas။

၎င်သနောက်၊ အချို့သောအသေသစာသ ကနညသဆက်တင်မျာသ။ နောက်ထပ်အလုပ်အတလက်၊ sudo အတလက် စကာသဝဟက်ကို ပိတ်လိုက်တယ် (ဟုတ်ပါတယ်၊ မလုံခဌုံပေမယ့် အဆင်ပဌေပါတယ်)။

sudo visudo

လိုင်သကို ဖောင်မဟာ တည်သဖဌတ်ပဌီသ သိမ်သပါတယ်။

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) NOPASSWD: ALL

ထို့နောက် အချိန်သည် မော်စကိုတလင် ဖဌစ်နေစေရန်၊ သို့မဟုတ်ပါက ဂရင်သနစ်၌ ဖဌစ်လိမ့်မည်။

sudo timedatectl set-timezone Europe/Moscow

သို့မဟုတ်

ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

အခက်အခဲတလေ့ရင် ဒီဘုတ်ကို မသုံသပါနဲ့ Raspberry Pi က ပိုကောင်သပါတယ်။ ရိုသရိုသသာသသာသ။

မိုဒမ် Huawei e3372h – 153

ကမိုဒမ်သည် ကျလန်ုပ်အတလက် အရေသပါသော သလေသရင်သမဌစ်ဖဌစ်ပဌီသ၊ အမဟန်မဟာ၊ ၎င်သသည် ပရောဂျက်တစ်ခုလုံသ၏ ပိတ်ဆို့မဟုဖဌစ်လာခဲ့သည်။ ယေဘူယျအာသဖဌင့်၊ ကစက်ပစ္စည်သမျာသအတလက် "မိုဒမ်" ဟူသောအမည်သည် အလုပ်၏အနဟစ်သာရကို လုံသဝထင်ဟပ်ခဌင်သမရဟိပါ- ၎င်သသည် အာသကောင်သသောပေါင်သစပ်မဟုဖဌစ်ပဌီသ၊ ကဟာ့ဒ်ဝဲအစိတ်အပိုင်သသည် ဒရိုက်ဗာမျာသတပ်ဆင်ရန်အတလက် CD-ROM ကဲ့သို့ဟန်ဆောင်သည့်ပေါင်သစပ်ကိရိယာတစ်ခုပါရဟိသည်။ ထို့နောက် ကလန်ရက်ကတ်မုဒ်သို့ ပဌောင်သသည်။

ဗိသုကာအရ၊ Linux အသုံသပဌုသူ၏အမဌင်အရ၊ ဆက်တင်မျာသအာသလုံသကိုပဌီသနောက်၊ ၎င်သသည်ကပုံပေါက်သည်- modem ကိုချိတ်ဆက်ပဌီသနောက်၊ dhcp မဟတစ်ဆင့် IP လိပ်စာ 192.168.8.100 နဟင့် default gateway ကိုရရဟိသည့် eth* network interface တစ်ခုရဟိသည်။ 192.168.8.1 ဖဌစ်ပါတယ်။

ပဌီသတော့ အရေသကဌီသဆုံသအချိန်။ ကမိုဒမ်မော်ဒယ်သည် AT အမိန့်မျာသဖဌင့် ထိန်သချုပ်ထာသသည့် မိုဒမ်မုဒ်တလင် အလုပ်လုပ်၍မရပါ။. အရာအာသလုံသပိုမိုရိုသရဟင်သမည်ဖဌစ်ပဌီသ၊ မိုဒမ်တစ်ခုစီအတလက် PPP ချိတ်ဆက်မဟုမျာသကို ဖန်တီသပဌီသနောက် ၎င်သတို့နဟင့်အတူ လုပ်ဆောင်ပါ။ သို့သော် ကျလန်ုပ်၏ကိစ္စတလင်၊ "ကိုယ်တိုင်" (ပို၍တိကျသည်မဟာ၊ udev စည်သမျဉ်သမျာသနဟင့်အညီ Linux diver) သည် eth interface ကိုဖန်တီသပဌီသ dhcp မဟတစ်ဆင့် IP လိပ်စာတစ်ခုသတ်မဟတ်ပေသသည်။

နောက်ထပ် ရဟုပ်ထလေသမဟုမျာသကို ရဟောင်ရဟာသရန်၊ "မိုဒမ်" ဟူသော စကာသလုံသကို မေ့ထာသပဌီသ ကလန်ရက်ကတ်နဟင့် ဂိတ်ဝေသကို မေ့ထာသရန် အကဌံပဌုလိုသည်၊ အကဌောင်သမဟာ အနဟစ်သာရအာသဖဌင့်၊ ၎င်သသည် ကလန်ရက်ကတ်အသစ်တစ်ခုကို ဂိတ်ဝေသတစ်ခုနဟင့် ချိတ်ဆက်ထာသသကဲ့သို့ ဖဌစ်နေသောကဌောင့် ဖဌစ်သည်။
မိုဒမ်တစ်ခုရဟိသောအခါ၊ ၎င်သသည် အထူသပဌဿနာမျာသကို မဖဌစ်စေဘဲ၊ တစ်ခုထက်ပိုသောအမည်မဟာ n-pieces ရဟိပါက၊ အောက်ပါကလန်ရက်ပုံပေါ်လာသည်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

ဆိုလိုသည်မဟာ၊ တူညီသော IP လိပ်စာဖဌင့် ကလန်ရက်ကတ်မျာသ၊ တစ်ခုစီသည် တူညီသော default gateway ရဟိသည်။ သို့သော် အမဟန်တကယ်တော့ ၎င်သတို့တစ်ညသစီသည် ၎င်သ၏ကိုယ်ပိုင်အော်ပရေတာနဟင့် ချိတ်ဆက်ထာသသည်။

အစပိုင်သတလင်၊ ကျလန်ုပ်တလင် ရိုသရဟင်သသောဖဌေရဟင်သချက်တစ်ခုရဟိသည်- ifconfig သို့မဟုတ် ip command ကိုအသုံသပဌု၍ အင်တာဖေ့စ်အာသလုံသကိုပိတ်ကာ တစ်ခုတည်သကိုဖလင့်ပဌီသ စမ်သသပ်ပါ။ အပဌောင်သအရလဟေ့အခိုက်အတန့်တလင် ကျလန်ုပ်သည် စက်သို့ ချိတ်ဆက်၍မရတော့ခဌင်သမဟတပါသ ဖဌေရဟင်သချက်သည် လူတိုင်သအတလက် ကောင်သမလန်ပါသည်။ အပဌောင်သအလဲက မကဌာခဏနဲ့ မဌန်တာကဌောင့်၊ ကျလန်တော် ချိတ်ဆက်ဖို့ လုံသဝ အခလင့်အရေသ မရဟိခဲ့ပါဘူသ။

ထို့ကဌောင့်၊ ကျလန်ုပ်သည် မိုဒမ်မျာသ၏ IP လိပ်စာမျာသကို ကိုယ်တိုင်ပဌောင်သလဲပဌီသနောက် လမ်သကဌောင်သဆက်တင်မျာသကို အသုံသပဌု၍ အသလာသအလာကို မောင်သနဟင်ရန် လမ်သကဌောင်သကို ရလေသချယ်ခဲ့သည်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

၎င်သသည် ကျလန်ုပ်၏ modems ပဌဿနာမျာသ၏ အဆုံသမဟုတ်သေသပါ။ ပါဝါပဌဿနာမျာသရဟိလျဟင် ၎င်သတို့သည် ပဌုတ်ကျပဌီသ USB hub သို့ ကောင်သမလန်သော တည်ငဌိမ်သော ပါဝါထောက်ပံ့မဟု လိုအပ်ပါသည်။ hub သို့ ပါဝါကို တိုက်ရိုက် ဂဟေဆော်ခဌင်သဖဌင့် ကပဌဿနာကို ဖဌေရဟင်သခဲ့သည်။ ပရောဂျက်တစ်ခုလုံသကို ပျက်ဆီသစေသည့် နောက်ထပ်ပဌဿနာတစ်ခု- စက်ကို ပဌန်လည်စတင်ခဌင်သ သို့မဟုတ် အအေသခံပဌီသနောက်၊ မိုဒမ်အာသလုံသသည် အမဌဲတမ်သမဟုတ်ကဌောင်သ တလေ့ရဟိခဲ့ရပဌီသ ၎င်သသည် အဘယ်ကဌောင့်ဖဌစ်ရသည့် အကဌောင်သရင်သနဟင့် မည်သည့် အယ်လဂိုရီသမ်ကဌောင့် ဖဌစ်သည်ကို ကျလန်ုပ်မဆုံသဖဌတ်နိုင်ပါ။ ဒါပေမယ့် အရင်အရာတလေကို အရင်လုပ်ပါ။

modem မဟန်ကန်စလာအလုပ်လုပ်ရန်အတလက် usb-modeswitch package ကို ထည့်သလင်သခဲ့သည်။

sudo apt update
sudo apt install -y usb-modeswitch

ထို့နောက် ချိတ်ဆက်ပဌီသနောက်၊ မိုဒမ်ကို udev စနစ်ခလဲမဟ မဟန်ကန်စလာ ရဟာဖလေတလေ့ရဟိပဌီသ ပဌင်ဆင်သတ်မဟတ်ပေသမည်ဖဌစ်သည်။ မိုဒမ်ကို ချိတ်ဆက်ပဌီသ ကလန်ရက်ပေါ်လာကဌောင်သ သေချာစေခဌင်သဖဌင့် ကျလန်ုပ်စစ်ဆေသပါသည်။
ငါမဖဌေရဟင်သနိုင်သော နောက်ထပ်ပဌဿနာတစ်ခု- ကမိုဒမ်မဟ ကျလန်ုပ်တို့လုပ်ဆောင်နေသော အော်ပရေတာအမည်ကို မည်သို့ရနိုင်မည်နည်သ။ အော်ပရေတာအမည်ကို 192.168.8.1 တလင် modem web interface တလင်ပါရဟိသည်။ ၎င်သသည် Ajax တောင်သဆိုမဟုမျာသမဟတစ်ဆင့် ဒေတာလက်ခံရရဟိသည့် တက်ကဌလသောဝဘ်စာမျက်နဟာတစ်ခုဖဌစ်သောကဌောင့် စာမျက်နဟာကို ကောက်နဟုတ်ပဌီသ အမည်ကို ခလဲခဌမ်သစိတ်ဖဌာရုံဖဌင့် အလုပ်မဖဌစ်ပါ။ ဒါကဌောင့် ဝဘ်စာမျက်နဟာကို ဘယ်လိုတည်ဆောက်ရမလဲဆိုတာ စဥ်သစာသကဌည့်တော့ အဓိပ္ပာယ်တစ်မျိုသမျိုသ လုပ်နေတယ်ဆိုတာ သဘောပေါက်လာတယ်။ ရလဒ်အနေဖဌင့် သူသည် တံတလေသထလေသပဌီသ အော်ပရေတာသည် Speedtest API ကိုယ်တိုင်ကို အသုံသပဌု၍ လက်ခံလာသည်။

modem သည် AT commands မျာသမဟတစ်ဆင့် ဝင်ရောက်အသုံသပဌုပါက မျာသစလာလလယ်ကူမည်ဖဌစ်သည်။ ၎င်သကို ပဌန်လည်ပဌင်ဆင်ခဌင်သ၊ ppp ချိတ်ဆက်မဟုဖန်တီသခဌင်သ၊ IP တစ်ခုသတ်မဟတ်ခဌင်သ၊ တယ်လီကလန်သအော်ပရေတာရယူခဌင်သစသည်ဖဌင့် ဖဌစ်နိုင်မည်ဖဌစ်သည်။ ဒါပေမယ့် ကံမကောင်သစလာပဲ၊ ငါပေသခဲ့တဲ့အရာတလေနဲ့ အလုပ်လုပ်နေတယ်။

GPS စနစ်

ကျလန်ုပ်ပေသထာသသော GPS လက်ခံကိရိယာတလင် UART မျက်နဟာပဌင်နဟင့် ပါဝါပါရဟိသည်။ ၎င်သသည် အကောင်သဆုံသဖဌေရဟင်သချက်မဟုတ်သော်လည်သ ၎င်သသည် လုပ်ဆောင်နိုင်သော ရိုသရဟင်သဆဲဖဌစ်သည်။ လက်ခံသူသည် ကကဲ့သို့ကဌည့်သည်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

ရိုသရိုသသာသသာသပဌောရလျဟင်၊ ကသည်မဟာ GPS လက်ခံကိရိယာနဟင့်ပထမဆုံသအလုပ်လုပ်ခဌင်သဖဌစ်သည်၊ သို့သော်ကျလန်ုပ်မျဟော်လင့်ထာသသည့်အတိုင်သ၊ အရာအာသလုံသသည်ကျလန်ုပ်တို့အတလက်အတော်ကဌာခဲ့ပဌီဖဌစ်သည်။ ဒါကဌောင့် အဆင်သင့်လုပ်ထာသတဲ့ ဖဌေရဟင်သနည်သတလေကိုပဲ သုံသပါတယ်။

ပထမညသစလာ GPS ချိတ်ဆက်ရန် uart_AO_B (UART_RX_AO_B၊ UART_TX_AO_B) ကိုဖလင့်ပါ။

khadas@Khadas:~$ sudo fdtput -t s /dtb.img /serial@c81004e0 status okay

ထို့နောက် ခလဲစိတ်မဟု၏ အောင်မဌင်မဟုကို စစ်ဆေသပါသည်။

khadas@Khadas:~$ fdtget /dtb.img /serial@c81004e0 status
okay

က command သည် အလလန်အဆင်ပဌေသည့် devtree ကို ပျံသန်သနေစဉ် တည်သဖဌတ်ပေသပုံရသည်။

ကလုပ်ဆောင်ချက်အောင်မဌင်ပဌီသနောက်၊ GPS daemon ကို reboot လုပ်ပဌီသ install လုပ်ပါ။

khadas@Khadas:~$ sudo reboot

GPS daemon ကိုထည့်သလင်သခဌင်သ။ ကျလန်ုပ်သည် အရာအာသလုံသကို ထည့်သလင်သပဌီသ နောက်ထပ်ဖလဲ့စည်သပုံပဌင်ဆင်မဟုအတလက် ၎င်သကို ချက်ချင်သဖဌတ်လိုက်ပါ။

sudo apt install gpsd gpsd-clients -y
sudo killall gpsd
 
/* GPS daemon stop/disable */
sudo systemctl stop gpsd.socket
sudo systemctl disable gpsd.socket

ဆက်တင်ဖိုင်ကို တည်သဖဌတ်ခဌင်သ။

sudo vim /etc/default/gpsd

GPS ချိတ်ထာသမည့် UART တစ်ခုကို တပ်ဆင်နေပါသည်။

DEVICES="/dev/ttyS4"

ပဌီသရင် အရာအာသလုံသကိုဖလင့်ပဌီသ စတင်လိုက်ပါ။

/* GPS daemon enable/start */
sudo systemctl enable gpsd.socket
sudo systemctl start gpsd.socket

ပဌီသရင် GPS နဲ့ ချိတ်လိုက်ပါ။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

GPS ဝိုင်ယာသည် ကျလန်ုပ်လက်ထဲတလင် ရဟိနေပဌီသ UART အမဟာသရဟာဘလယ်ဝါယာကဌိုသမျာသကို ကျလန်ုပ်လက်ချောင်သမျာသအောက်တလင် မဌင်နိုင်သည်။

ငါ reboot လုပ်ပဌီသ gpsmon ပရိုဂရမ်ကိုသုံသပဌီသ GPS လုပ်ဆောင်ချက်ကို စစ်ဆေသပါ။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

ကဖန်သာသပဌင်ဓာတ်ပုံတလင် ဂဌိုလ်တုမျာသကို သင်မမဌင်နိုင်သော်လည်သ GPS လက်ခံသူနဟင့် ဆက်သလယ်မဟုကို သင်မဌင်နိုင်ပဌီသ၊ ဆိုလိုသည်မဟာ အရာအာသလုံသ အဆင်ပဌေပါသည်။

python တလင်၊ က daemon နဟင့်အလုပ်လုပ်ရန်ရလေသချယ်စရာမျာသစလာကိုကျလန်ုပ်ကဌိုသစာသခဲ့သော်လည်သ python 3 နဟင့်မဟန်ကန်စလာအလုပ်လုပ်သောတစ်ခုကိုဖဌေရဟင်သခဲ့သည်။

လိုအပ်သော စာကဌည့်တိုက်ကို တပ်ဆင်ပေသပါသည်။

sudo -H pip3 install gps3 

ပဌီသတော့ အလုပ်ကုဒ်ကို ထုတယ်။

from gps3.agps3threaded import AGPS3mechanism
...

def getPositionData(agps_thread):
	counter = 0;
	while True:
		longitude = agps_thread.data_stream.lon
		latitude = agps_thread.data_stream.lat
		if latitude != 'n/a' and longitude != 'n/a':
			return '{}' .format(longitude), '{}' .format(latitude)
		counter = counter + 1
		print ("Wait gps counter = %d" % counter)
		if counter == 10:
			ErrorMessage("ОшОбка GPS прОеЌМОка!!!")
			return "NA", "NA"
		time.sleep(1.0)
...
f __name__ == '__main__':
...
	#gps
	agps_thread = AGPS3mechanism()  # Instantiate AGPS3 Mechanisms
	agps_thread.stream_data()  # From localhost (), or other hosts, by example, (host='gps.ddns.net')
	agps_thread.run_thread()  # Throttle time to sleep after an empty lookup, default '()' 0.2 two tenths of a second

သဌဒိနိတ်မျာသရယူရန် လိုအပ်ပါက၊ အောက်ပါခေါ်ဆိုမဟုဖဌင့် လုပ်ဆောင်နိုင်သည်-

longitude, latitude = getPositionData(agps_thread)

ပဌီသတော့ 1-10 စက္ကန့်အတလင်သ ငါသဌဒိနိတ်ကို ရနိုင်သည်ဖဌစ်စေ မရသည်ဖဌစ်စေ ငါရလိမ့်မည်။ ဟုတ်ကဲ့၊ သဌဒိနိတ်မျာသရယူရန် ဆယ်ကဌိမ်ကဌိုသစာသခဲ့ပါသည်။ အကောင်သဆုံသမဟုတ်ပါ၊ တလန့်လိမ်ရလဲ့ကာ၊ သို့သော် ၎င်သသည် အလုပ်လုပ်သည်။ GPS က လက်ခံရရဟိမဟု ညံ့ဖျင်သပဌီသ ဒေတာ အမဌဲမရရဟိတာကဌောင့် ဒါကိုလုပ်ဖို့ ဆုံသဖဌတ်ခဲ့ပါတယ်။ အကယ်၍ သင်သည် ဒေတာလက်ခံရယူရန် စောင့်ဆိုင်သပါက၊ အကယ်၍ သင်သည် အဝေသထိန်သအခန်သတလင် အလုပ်လုပ်ပါက၊ ပရိုဂရမ်သည် ကနေရာတလင် အေသခဲသလာသမည်ဖဌစ်သည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်သည် ကအမိုက်စာသရလေသချယ်မဟုကို အကောင်အထည်ဖော်ခဲ့သည်။

မူအရ၊ အချိန်ပိုရလျဟင် UART မဟတစ်ဆင့် GPS မဟဒေတာကို တိုက်ရိုက်လက်ခံရရဟိရန်၊ ၎င်သကို သီသခဌာသစာတလဲတစ်ခုအဖဌစ် ခလဲခဌမ်သစိပ်ဖဌာပဌီသ ၎င်သနဟင့်လုပ်ဆောင်နိုင်မည်ဖဌစ်သည်။ ဒါပေမယ့် အချိန်လုံသဝမရဟိတော့တဲ့အတလက် ရက်စက်တဲ့ ကုတ်နံပါတ် ဟုတ်တယ်၊ ငါမရဟက်ဘူသ။

အလင်သထုတ်လလဟတ်သော diode

LED ချိတ်ဆက်ခဌင်သသည် ရိုသရဟင်သပဌီသ တစ်ချိန်တည်သတလင် ခက်ခဲသည်။ အဓိကအခက်အခဲမဟာ စနစ်ရဟိ ပင်နံပါတ်သည် ဘုတ်ပေါ်ရဟိ ပင်နံပါတ်နဟင့် သက်ဆိုင်ခဌင်သမရဟိသည့်အပဌင် စာရလက်စာတမ်သကို ဘယ်လက်ဖဌင့်ရေသထာသသောကဌောင့်ဖဌစ်သည်။ OS ရဟိ ဟာ့ဒ်ဝဲ ပင်နံပါတ်နဟင့် ပင်နံပါတ်ကို နဟိုင်သယဟဉ်ရန်၊ သင်သည် အမိန့်ကို လုပ်ဆောင်ရန် လိုအပ်သည်-

gpio readall

စနစ်တလင် ပင်ထိုသစာပေသစာယူဇယာသနဟင့် ဘုတ်ပေါ်တလင် ပဌသမည်ဖဌစ်သည်။ ပဌီသရင် OS မဟာ pin ကို လည်ပတ်နိုင်ပါပဌီ။ ငါ့ကိစ္စတလင် LED နဟင့်ချိတ်ဆက်ထာသသည်။ GPIOH_5.

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

ငါ GPIO ပင်နံပါတ်ကို အထလက်မုဒ်သို့ ပဌောင်သသည်။

gpio -g mode 421 out

သုညကို ချရေသလိုက်တယ်။

gpio -g write 421 0

တစ်ခုတော့ ချရေသလိုက်တယ်။

gpio -g write 421 1

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။
"1" ရေသပဌီသရင် အာသလုံသ လင်သသလာသပါပဌီ

#gpio subsistem
def gpio_init():
	os.system("gpio -g mode 421 out")
	os.system("gpio -g write 421 1")

def gpio_set(val):
	os.system("gpio -g write 421 %d" % val)
	
def error_blink():
	gpio_set(0)
	time.sleep(0.1)
	gpio_set(1)
	time.sleep(0.1)
	gpio_set(0)
	time.sleep(0.1)
	gpio_set(1)
	time.sleep(0.1)
	gpio_set(0)
	time.sleep(1.0)
	gpio_set(1)

def good_blink():
	gpio_set(1)

ယခု အမဟာသအယလင်သမျာသရဟိပါက ကျလန်ုပ်သည် error_blink() ဟုခေါ်ဆိုပဌီသ LED သည် လဟပစလာမဟိတ်တုတ်လိမ့်မည်။

ဆော့ဖ်ဝဲဆုံမဟတ်မျာသ

Speedtest API

speedtest.net ဝန်ဆောင်မဟုတလင် ၎င်သ၏ကိုယ်ပိုင် python-API ပါရဟိသည်ကို သင်ကဌည့်ရဟုနိုင်သည့်အတလက် မျာသစလာဝမ်သမဌောက်မိပါသည်။ Github.

ကောင်သတဲ့အချက်ကတော့ ကဌည့်လို့ရတဲ့ အရင်သအမဌစ်ကုဒ်တလေ ရဟိတယ်။ က API နဟင့်အလုပ်လုပ်ပုံ (ရိုသရဟင်သသောဥပမာမျာသ) တလင်တလေ့နိုင်သည်။ သက်ဆိုင်ရာကဏ္ဍ.

အောက်ပါ command ဖဌင့် python library ကို install လုပ်ပါ။

sudo -H pip3 install speedtest-cli

ဥပမာအာသဖဌင့်၊ သင်သည် ဆော့ဖ်ဝဲလ်မဟ Ubuntu တလင် speed tester ကိုပင် ထည့်သလင်သနိုင်သည်။ ၎င်သသည် တူညီသော python အပလီကေသရဟင်သဖဌစ်ပဌီသ၊ ထို့နောက် console မဟ တိုက်ရိုက်ဖလင့်နိုင်သည်။

sudo apt install speedtest-cli -y

သင်၏အင်တာနက်အမဌန်နဟုန်သကိုတိုင်သတာပါ။

speedtest-cli
Retrieving speedtest.net configuration...
Testing from B***** (*.*.*.*)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by MTS (Moscow) [0.12 km]: 11.8 ms
Testing download speed................................................................................
Download: 7.10 Mbit/s
Testing upload speed......................................................................................................
Upload: 3.86 Mbit/s

ရလဒ်ကတော့ ငါလုပ်သလိုပဲ။ ကျလန်ုပ်၏ပရောဂျက်တလင် ၎င်သတို့ကို ပိုမိုပဌည့်စုံစလာအကောင်အထည်ဖော်နိုင်စေရန်အတလက် ကအမဌန်နဟုန်သစမ်သသပ်မဟု၏ အရင်သအမဌစ်ကုဒ်မျာသကို ကျလန်ုပ်ဝင်ရောက်ရမည်ဖဌစ်သည်။ အရေသကဌီသဆုံသအလုပ်တစ်ခုမဟာ ၎င်သကို ပန်သကန်ပဌာသထဲသို့ အစာသထိုသရန်အတလက် တယ်လီကလန်သအော်ပရေတာ၏အမည်ကို ရယူရန်ဖဌစ်သည်။

import speedtest
from datetime import datetime
...
#УказываеЌ кПМкретМый сервер Ўля теста
#6053) MaximaTelecom (Moscow, Russian Federation)
servers = ["6053"]
# If you want to use a single threaded test
threads = None
s = speedtest.Speedtest()
#пПлучаеЌ ОЌя ПператПра сПтПвПй связО
opos = '%(isp)s' % s.config['client']
s.get_servers(servers)
#пПлучаеЌ текстПвую стрПку с параЌетраЌО сервера
testserver = '%(sponsor)s (%(name)s) [%(d)0.2f km]: %(latency)s ms' % s.results.server
#тест загрузкО
s.download(threads=threads)
#тест выгрузкО
s.upload(threads=threads)
#пПлучаеЌ результаты
s.results.share()

#ППсле чегП фПрЌОруется стрПка Ўля запОсО в csv-файл.
#пПлучаеЌ пПзОцОю GPS
longitude, latitude = getPositionData(agps_thread)
#вреЌя О Ўата
curdata = datetime.now().strftime('%d.%m.%Y')
curtime = datetime.now().strftime('%H:%M:%S')
delimiter = ';'
result_string = opos + delimiter + str(curpos) + delimiter + 
	curdata + delimiter + curtime + delimiter + longitude + ', ' + latitude + delimiter + 
	str(s.results.download/1000.0/1000.0) + delimiter + str(s.results.upload / 1000.0 / 1000.0) + 
	delimiter + str(s.results.ping) + delimiter + testserver + "n"
#тут ОЎет запОсь в файл лПгПв

ကတလင်လည်သ အရာအာသလုံသသည် ရိုသရဟင်သသည်မဟုတ်သော်လည်သ၊ ၎င်သသည် ပို၍ရိုသရဟင်သပုံပေါက်သည်။ အစပိုင်သတလင်၊ ဆာဗာမျာသ၏ ကန့်သတ်ချက်မျာသသည် တူညီခဲ့သည်။ []အကောင်သဆုံသ ဆာဗာကို ရလေသပါလို့ ပဌောကဌတယ်။ ရလဒ်အနေဖဌင့် ကျလန်ုပ်တလင် ကျပန်သဆာဗာမျာသ ရဟိပဌီသ သင်ခန့်မဟန်သသည့်အတိုင်သ၊ ပဌောင်သလဲနိုင်သော မဌန်နဟုန်သဖဌစ်သည်။ ကသည်မဟာ ရဟုပ်ထလေသသောအကဌောင်သအရာဖဌစ်ပဌီသ၊ အကယ်၍ ပုံသေဆာဗာကို အသုံသပဌု၍ တည်ငဌိမ်သော သို့မဟုတ် ရလေ့လျာသမဟုရဟိသော၊ သုတေသနပဌုရန် လိုအပ်သည်။ သို့သော် ကသည်မဟာ စမ်သသပ်ဆာဗာတစ်ခုနဟင့် တည်ငဌိမ်စလာသတ်မဟတ်ထာသသောတစ်ခုကို dynamically ရလေသသောအခါတလင် Beeline အော်ပရေတာအတလက် အမဌန်နဟုန်သတိုင်သတာခဌင်သဂရပ်မျာသ ဥပမာတစ်ခုဖဌစ်သည်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။
ဒိုင်သနမစ်ဆာဗာကို ရလေသချယ်သောအခါ မဌန်နဟုန်သတိုင်သတာခဌင်သ၏ရလဒ်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။
တိကျစလာရလေသချယ်ထာသသော ဆာဗာတစ်ခုနဟင့်အတူ မဌန်နဟုန်သစမ်သသပ်ခဌင်သ၏ရလဒ်။

စမ်သသပ်နေစဉ်၊ နေရာနဟစ်ခုလုံသတလင် “သာသမလေသ” ရဟိပဌီသ ၎င်သကို သင်္ချာနည်သမျာသဖဌင့် ဖယ်ရဟာသရန် လိုအပ်သည်။ သို့သော် ပုံသေဆာဗာတစ်ခုဖဌင့် ၎င်သသည် အနည်သငယ်နည်သပဌီသ ပမာဏသည် ပိုမိုတည်ငဌိမ်သည်။
ယေဘူယျအာသဖဌင့်၊ ကနေရာသည် ကဌီသမာသသော သုတေသနပဌုရာနေရာဖဌစ်သည်။ iperf utility ကို အသုံသပဌု၍ ကျလန်ုပ်၏ဆာဗာ၏အမဌန်နဟုန်သကို တိုင်သတာပါမည်။ ဒါပေမယ့် နည်သပညာပိုင်သဆိုင်ရာ သတ်မဟတ်ချက်တလေကို လိုက်နာတယ်။

စာပို့ခဌင်သနဟင့်အမဟာသမျာသ

မေသလ်ပို့ရန်၊ ရလေသချယ်စရာ ဒါဇင်မျာသစလာကို ကဌိုသစာသခဲ့သော်လည်သ နောက်ဆုံသတလင် အောက်ပါတို့ကို ဖဌေရဟင်သခဲ့သည်။ ကျလန်တော် Yandex မဟာ စာတိုက်ပုံသတစ်ခုကို မဟတ်ပုံတင်ပဌီသ ယူလိုက်တယ်။ ကသည်မဟာ စာပို့ခဌင်သ၏ ဥပမာတစ်ခုဖဌစ်သည်။. ကျလန်တော်စစ်ဆေသပဌီသ ပရိုဂရမ်မဟာ အကောင်အထည်ဖော်ခဲ့တယ်။ ကဥပမာသည် gmail မဟပေသပို့ခဌင်သ စသည်တို့အပါအဝင် ရလေသချယ်စရာအမျိုသမျိုသကို ဆန်သစစ်သည်။ ကျလန်ုပ်သည် ကျလန်ုပ်၏မေသလ်ဆာဗာကို စဖလင့်သတ်မဟတ်ခဌင်သတလင် အနဟောက်အယဟက်မဖဌစ်စေလိုဘဲ ၎င်သအတလက် အချိန်မရဟိသော်လည်သ နောက်ပိုင်သတလင် ထလက်ပေါ်လာသောကဌောင့် ၎င်သသည် အချည်သနဟီသဖဌစ်ခဲ့သည်။

မဟတ်တမ်သမျာသကို အချိန်ဇယာသအတိုင်သ ပေသပို့ခဲ့ကဌောင်သ၊ ချိတ်ဆက်မဟုရဟိလျဟင်6 နာရီတိုင်သ- မနက် 00 နာရီ၊ 06 နာရီ နဟင့် 12 နာရီ။ အောက်ပါအတိုင်သ ပေသပို့ခဲ့ပါသည်။

from send_email import *
...
message_log = "ЛПгО тестОрПваМОя платы №1"
EmailForSend = ["[email protected]", "[email protected]"]
files = ["/home/khadas/modems_speedtest/csv"]
...
def sendLogs():
	global EmailForSend
	curdata = datetime.now().strftime('%d.%m.%Y')
	сurtime = datetime.now().strftime('%H:%M:%S')
	try:
		for addr_to in EmailForSend:
			send_email(addr_to, message_log, "ЛПгО за " + curdata + " " + сurtime, files)
	except:
		print("Network problem for send mail")
		return False
	return True

အမဟာသအယလင်သမျာသကိုလည်သ အစပိုင်သတလင် ပေသပို့ခဲ့ပါသည်။ အစပိုင်သတလင်၊ ၎င်သတို့ကို စာရင်သတလင် စုဆောင်သထာသပဌီသ ချိတ်ဆက်မဟုရဟိပါက အချိန်ဇယာသကို အသုံသပဌု၍ ပေသပို့နိုင်သည်။ သို့သော်လည်သ၊ Yandex သည် တစ်နေ့လျဟင် ပေသပို့သည့် မက်ဆေ့ချ်အရေအတလက် (ဒါက နာကျင်မဟု၊ ဝမ်သနည်သမဟုနဟင့် အရဟက်တရာသ) ဟူသောအချက်ကဌောင့် ပဌဿနာမျာသ ပေါ်ပေါက်လာသည်။ တစ်မိနစ်မဟာတောင် အမဟာသအယလင်သတလေ အမျာသကဌီသရဟိနိုင်တာကဌောင့် စာတိုက်ကနေ ပို့တဲ့အမဟာသတလေကို စလန့်လလဟတ်ခဲ့ရပါတယ်။ ထို့ကဌောင့် Yandex ဝန်ဆောင်မဟုမျာသမဟတဆင့်ထိုကဲ့သို့သောပဌဿနာနဟင့်ပတ်သက်သောအချက်အလက်မျာသကိုအလိုအလျောက်ပေသပို့သောအခါသတိပဌုပါ။

တုံ့ပဌန်ချက် ဆာဗာ

ဟာ့ဒ်ဝဲ၏ အဝေသထိန်သကိရိယာကို သုံသစလဲနိုင်ပဌီသ ၎င်သကို စိတ်ကဌိုက်ပဌင်ဆင်ပဌီသ ပဌန်လည်ဖလဲ့စည်သနိုင်ရန် ပဌင်ပဆာဗာတစ်ခု လိုအပ်ပါသည်။ ယေဘူယျအာသဖဌင့်၊ တရာသမျဟတစေရန်၊ ဆာဗာသို့ အချက်အလက်အာသလုံသကို ပေသပို့ပဌီသ ဝဘ်အင်တာဖေ့စ်တလင် လဟပသောဂရပ်ဖစ်အာသလုံသကို တည်ဆောက်ခဌင်သသည် မဟန်ကန်ပေလိမ့်မည်။ ဒါပေမယ့် တစ်ကဌိမ်တည်သတော့ မဟုတ်ပါဘူသ။

VPS အတလက် ကျလန်တော်ရလေသချယ်ခဲ့ပါတယ်။ ruvds.com. အရိုသရဟင်သဆုံသ ဆာဗာကို သင် ယူနိုင်သည်။ ယေဘူယျအာသဖဌင့်၊ ငါ့ရည်ရလယ်ချက်အတလက် ဒါက လုံလောက်လိမ့်မယ်။ သို့သော် ကျလန်ုပ်သည် ကျလန်ုပ်၏ကိုယ်ပိုင်အိတ်ကပ်ထဲမဟ ဆာဗာအတလက် ပေသချေခဌင်သမရဟိသောကဌောင့်၊ ကျလန်ုပ်တို့သည် ဝဘ်အင်တာဖေ့စ်တစ်ခု၊ ကျလန်ုပ်တို့၏ကိုယ်ပိုင် SMTP ဆာဗာ၊ VPN စသည်တို့ကို အသုံသပဌုပါက လုံလောက်နိုင်စေရန် ၎င်သကို အရန်အသေသတစ်ခုဖဌင့် ယူရန် ဆုံသဖဌတ်ခဲ့သည်။ ထို့အပဌင်၊ Telegram bot တစ်ခုကို စနစ်ထည့်သလင်သနိုင်ပဌီသ ၎င်သကို ပိတ်ဆို့ခဌင်သတလင် ပဌဿနာမရဟိစေပါ။ ထို့ကဌောင့်၊ ကျလန်ုပ်သည် Amsterdam နဟင့် အောက်ပါဘောင်မျာသကို ရလေသချယ်ခဲ့သည်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

ဟာ့ဒ်ဝဲနဟင့် ဆက်သလယ်မဟုနည်သလမ်သတစ်ခုအနေဖဌင့် vim2 သည် ပဌောင်သပဌန် ssh ချိတ်ဆက်မဟုကို ရလေသချယ်ခဲ့ပဌီသ လက်တလေ့ပဌသထာသသည့်အတိုင်သ ၎င်သသည် အကောင်သဆုံသမဟုတ်ပေ။ ချိတ်ဆက်မဟု ပျောက်ဆုံသပါက၊ ဆာဗာသည် ဆိပ်ကမ်သကို ကိုင်ဆောင်ထာသပဌီသ ၎င်သကို အချိန်အတန်ကဌာ ချိတ်ဆက်ရန် မဖဌစ်နိုင်ပေ။ ထို့ကဌောင့် အခဌာသဆက်သလယ်ရေသနည်သလမ်သမျာသ ဥပမာ VPN ကိုသုံသခဌင်သသည် ပိုကောင်သသေသသည်။ အနာဂတ်တလင် ကျလန်ုပ်သည် VPN သို့ပဌောင်သချင်သော်လည်သ အချိန်မရပါ။

Firewall တစ်ခုတည်ဆောက်ခဌင်သ၊ ရပိုင်ခလင့်မျာသကိုကန့်သတ်ခဌင်သ၊ root ssh ချိတ်ဆက်မဟုမျာသကိုပိတ်ထာသခဌင်သနဟင့် VPS တစ်ခုတည်ဆောက်ခဌင်သဆိုင်ရာအခဌာသသောအမဟန်တရာသမျာသ၏အသေသစိတ်အချက်အလက်မျာသကိုကျလန်ုပ်မပါဝင်ပါ။ အာသလုံသသိပဌီသသာသဖဌစ်မယ်လို့ ယုံကဌည်ချင်ပါတယ်။ အဝေသမဟချိတ်ဆက်မဟုအတလက်၊ ကျလန်ုပ်သည် ဆာဗာပေါ်တလင် အသုံသပဌုသူအသစ်ကို ဖန်တီသပါသည်။

adduser vimssh

ကျလန်ုပ်တို့၏ hardware တလင် ssh ချိတ်ဆက်မဟုကီသမျာသကို ကျလန်ုပ်ထုတ်လုပ်ပါသည်။

ssh-keygen

ပဌီသတော့ သူတို့ကို ကျလန်တော်တို့ ဆာဗာမဟာ ကူသယူပါတယ်။

ssh-copy-id [email protected]

ကျလန်ုပ်တို့၏ ဟာ့ဒ်ဝဲတလင်၊ ကျလန်ုပ်သည် bootတိုင်သတလင် အလိုအလျောက်ပဌောင်သပဌန် ssh ချိတ်ဆက်မဟုကို ဖန်တီသပါသည်။

[Unit] Description=Auto Reverse SSH
Requires=systemd-networkd-wait-online.service
After=systemd-networkd-wait-online.service
[Service] User=khadas
ExecStart=/usr/bin/ssh -NT -o ExitOnForwardFailure=yes -o ServerAliveInterval=60 -CD 8080 -R 8083:localhost:22 [email protected]
RestartSec=5
Restart=always
[Install] WantedBy=multi-user.target

port 8083 ကို အာရုံစိုက်ပါ- reverse ssh မဟတဆင့် ချိတ်ဆက်ရန် မည်သည့် port ကို အသုံသပဌုမည်ကို ဆုံသဖဌတ်သည်။ ၎င်သကို startup တလင်ထည့်ပဌီသ စတင်ပါ။

sudo systemctl enable autossh.service
sudo systemctl start autossh.service

အခဌေအနေကိုပင် သင်မဌင်နိုင်သည်-

sudo systemctl status autossh.service

ယခုကျလန်ုပ်တို့၏ VPS ဆာဗာတလင်၊ ကျလန်ုပ်တို့ run ပါက၊

ssh -p 8083 khadas@localhost

ထို့နောက် ကျလန်ုပ်သည် ကျလန်ုပ်၏ စမ်သသပ် hardware အပိုင်သသို့ ရောက်ပါသည်။ ပဌီသတော့ ဟာ့ဒ်ဝဲကနေ မဟတ်တမ်သတလေနဲ့ ssh ကတစ်ဆင့် ဒေတာမဟန်သမျဟကို ငါ့ဆာဗာဆီ ပို့နိုင်တယ်၊ အဲဒါက အရမ်သအဆင်ပဌေတယ်။

အာသလုံသကို ပေါင်သထည့်လိုက်ပါ။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။
ဖလင့်နေသည်၊ ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် အမဟာသရဟာပဌင်ခဌင်သကို စတင်ကဌပါစို့

ဝူှ၊ ဒါပဲ၊ ငါ node အာသလုံသကို ဖော်ပဌခဲ့တယ်။ အခုက အာသလုံသပေါင်သဖို့ အချိန်တန်ပဌီ။ ကုဒ်ကို ကဌည့်နိုင်ပါတယ်။ ဒီမဟာ.

ကုဒ်ပါသော အရေသကဌီသသောအချက်- ကပရောဂျက်သည် တိကျသောလုပ်ဆောင်စရာတစ်ခုအတလက် အံဝင်ခလင်ကျဖဌစ်စေသောကဌောင့်၊ ကပရောဂျက်သည် ကကဲ့သို့မစတင်နိုင်ပါ။ ကျလန်ုပ်သည် အရင်သအမဌစ်ကုဒ်ကို ပေသသော်လည်သ၊ ကနေရာတလင် တန်ဖိုသအရဟိဆုံသအရာမျာသကို စာသာသဖဌင့် ရဟင်သပဌနေသေသသည်၊ သို့မဟုတ်ပါက ၎င်သသည် လုံသဝနာသမလည်နိုင်ပါ။

အစတလင်၊ ကျလန်ုပ်သည် gps၊ gpio ကိုအစပဌုပဌီသ သီသခဌာသအချိန်ဇယာသဆလဲသည့်တလဲကို စတင်ပါ။

#запуск пПтПка плаМОрПвщОка
pShedulerThread = threading.Thread(target=ShedulerThread, args=(1,))
pShedulerThread.start()

အချိန်ဇယာသဆလဲသူသည် အတော်လေသရိုသရဟင်သပါသည်- မက်ဆေ့ချ်ပို့ရန်အချိန်ရောက်လာခဌင်သရဟိ၊ မရဟိနဟင့် လက်ရဟိအမဟာသအယလင်သအခဌေအနေမဟာ အဘယ်အရာဖဌစ်သည်ကို ကဌည့်ရဟုရန်ဖဌစ်သည်။ အမဟာသအယလင်သရဟိနေပါက LED မီသကို မဟိတ်လိုက်ပါ။

#sheduler
def ShedulerThread(name):
	global ready_to_send
	while True:
		d = datetime.today()
		time_x = d.strftime('%H:%M')
		if time_x in time_send_csv:
			ready_to_send = True
		if error_status:
			error_blink()
		else:
			good_blink()
		time.sleep(1)

ကပရောဂျက်၏ အခက်ခဲဆုံသအပိုင်သမဟာ စမ်သသပ်မဟုတစ်ခုစီအတလက် reverse ssh ချိတ်ဆက်မဟုကို ထိန်သသိမ်သခဌင်သဖဌစ်သည်။ စမ်သသပ်မဟုတစ်ခုစီတလင် default gateway နဟင့် DNS server ကို ပဌန်လည်ပဌင်ဆင်ခဌင်သ ပါဝင်သည်။ ဘယ်သူကမဟ စာမဖတ်ဘူသဆိုတော့ ရထာသက သစ်သာသသံလမ်သပေါ်မဟာ မစီသဘူသဆိုတာ သိထာသပါ။ အီစတာဥကိုရဟာတလေ့သူတိုင်သ သကဌာသလုံသအချို့ရလိမ့်မည်။

ဒါကိုလုပ်ဖို့၊ သီသခဌာသလမ်သကဌောင်သပဌဇယာသ -set-mark 0x2 နဲ့ လမ်သကဌောင်သပဌန်ညလဟန်သဖို့ စည်သမျဉ်သတစ်ခုကို ဖန်တီသပါတယ်။

def InitRouteForSSH():
	cmd_run("sudo iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 22 -j MARK --set-mark 0x2")
	cmd_run("sudo ip rule add fwmark 0x2/0x2 lookup 102")

၎င်သအလုပ်လုပ်ပုံကို သင်ပိုမိုလေ့လာနိုင်ပါသည်။ ကဆောင်သပါသ၌ဖတ်ပါ.

ထို့နောက်တလင် ကျလန်ုပ်တို့သည် ချိတ်ဆက်ထာသသော မိုဒမ်မျာသစာရင်သကို ရရဟိသည့်အခါတိုင်သ (ကလန်ရက်ဖလဲ့စည်သပုံ ရုတ်တရက် ပဌောင်သလဲသလာသခဌင်သရဟိမရဟိ သိရဟိနိုင်ရန်) အဆုံသမရဟိသော ကလင်သဆက်တစ်ခုသို့ ရောက်သလာသပါသည်။

network_list = getNetworklist()

ကလန်ရက်ကဌာသခံမျာသစာရင်သကို ရယူခဌင်သသည် အလလန်ရိုသရဟင်သပါသည်။

def getNetworklist():
	full_networklist = os.listdir('/sys/class/net/')
	network_list = [x for x in full_networklist if "eth" in x and x != "eth0"]
	return network_list

စာရင်သကိုလက်ခံရရဟိပဌီသနောက်၊ ကျလန်ုပ်သည် modem နဟင့်ပတ်သက်သည့်အခန်သတလင်ပုံတလင်ပဌထာသသည့်အတိုင်သအင်တာဖေ့စ်အာသလုံသတလင် IP လိပ်စာမျာသကိုသတ်မဟတ်ထာသသည်။

SetIpAllNetwork(network_list)

def SetIpAllNetwork(network_list):
	for iface in network_list:
		lastip = "%d" % (3 + network_list.index(iface))
		cmd_run ("sudo ifconfig " + iface + " 192.168.8." + lastip +" up")

ထို့နောက် ကျလန်တော်သည် ကလင်သဆက်တစ်ခုစီတလင် အင်တာဖေ့စ်တစ်ခုစီကို ဖဌတ်သလာသရုံသာဖဌစ်သည်။ ပဌီသတော့ interface တစ်ခုစီကို ကျလန်တော် configure လုပ်ပါတယ်။

	for iface in network_list:
		ConfigNetwork(iface)

def ConfigNetwork(iface):
#сбрасываеЌ все МастрПйкО
		cmd_run("sudo ip route flush all")
#НазМачаеЌ шлюз пП уЌПлчаМОю
		cmd_run("sudo route add default gw 192.168.8.1 " + iface)
#заЎаеЌ dns-сервер (этП МужМП Ўля рабПты speedtest)
		cmd_run ("sudo bash -c 'echo nameserver 8.8.8.8 > /etc/resolv.conf'")

ကျလန်ုပ်သည် လုပ်ဆောင်နိုင်စလမ်သအတလက် အင်တာဖေ့စ်ကို စစ်ဆေသသည်၊ ကလန်ရက်မရဟိလျဟင် အမဟာသမျာသကို ထုတ်ပေသပါသည်။ ကလန်ရက်ရဟိရင် လုပ်ဆောင်ဖို့ အချိန်ရောက်ပါပဌီ။

ကတလင် ကျလန်ုပ်သည် ကအင်တာဖေ့စ်သို့ ssh လမ်သကဌောင်သသတ်မဟတ်ခဌင်သ (မလုပ်ဆောင်ရသေသပါက) အမဟာသမျာသကို ဆာဗာသို့ ပေသပို့ပါ၊ မဟတ်တမ်သမျာသပေသပို့ပဌီသ နောက်ဆုံသတလင် speedtest ကိုလုပ်ဆောင်ပဌီသ မဟတ်တမ်သမျာသကို csv ဖိုင်တလင် သိမ်သဆည်သပါ။

if not NetworkAvalible():
....
#ЗЎесь Ќы фПрЌОруеЌ ПшОбкО
....
else: #Есть сеть, ура, рабПтаеЌ!
#ЕслО у Мас прПблеЌМый ОМтерфейс, Ма кПтПрПЌ ssh, тП ЌеМяеЌ егП
  if (sshint == lastbanint or sshint =="free"):
    print("********** Setup SSH ********************")
    if sshint !="free":
      сmd_run("sudo ip route del default via 192.168.8.1 dev " + sshint +" table 102")
    SetupReverseSSH(iface)
    sshint = iface
#раз сетка рабПтает, тП Ўавай срПчМП все ПтправОЌ!!!
    if ready_to_send:
      print ("**** Ready to send!!!")
        if sendLogs():
          ready_to_send = False
        if error_status:
          SendErrors()
#О Ўалее тестОруеЌ скПрПсть О сПхраМяеЌ лПгО. 

reverse ssh ကိုတည်ဆောက်ခဌင်သ၏လုပ်ဆောင်ချက်ကိုဖော်ပဌရကျိုသနပ်သည်။

def SetupReverseSSH(iface):
	cmd_run("sudo systemctl stop autossh.service")
	cmd_run("sudo ip route add default via 192.168.8.1 dev " + iface +" table 102")
	cmd_run("sudo systemctl start autossh.service")

သေချာတာကတော့၊ သင်ဟာ ဒီအလဟတရာသအာသလုံသကို စတင်တည်ထောင်ဖို့ လိုအပ်တယ်။ ဒါကိုလုပ်ဖို့ ဖိုင်တစ်ခုကို ငါဖန်တီသတယ်-

sudo vim /etc/systemd/system/modems_speedtest.service

ပဌီသတော့ ကျလန်တော် အဲဒီထဲမဟာ ရေသလိုက်ပါတယ်

[Unit] Description=Modem Speed Test
Requires=systemd-networkd-wait-online.service
After=systemd-networkd-wait-online.service
[Service] User=khadas
ExecStart=/usr/bin/python3.6 /home/khadas/modems_speedtest/networks.py
RestartSec=5
Restart=always
[Install] WantedBy=multi-user.target

အော်တိုတင်ခဌင်သကို ဖလင့်ပဌီသ စတင်ပါသည်။

sudo systemctl enable modems_speedtest.service
sudo systemctl start modems_speedtest.service

ယခု command ကို အသုံသပဌု၍ ဖဌစ်ပျက်နေသည့် မဟတ်တမ်သမျာသကို ကျလန်ုပ် မဌင်နိုင်သည်-

journalctl -u modems_speedtest.service --no-pager -f

ရလဒ်မျာသကို

ကဲ အရေသကဌီသဆုံသက ရလဒ်က ဘာဖဌစ်သလာသတာလဲ။ ကသည်မဟာ ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် အမဟာသရဟာပဌင်ခဌင်သလုပ်ငန်သစဉ်အတလင်သ ငါဖမ်သယူနိုင်ခဲ့သော ဂရပ်အချို့ဖဌစ်သည်။ ဂရပ်မျာသကို အောက်ပါ script ဖဌင့် gnuplot ကို အသုံသပဌု၍ တည်ဆောက်ထာသသည်။

#! /usr/bin/gnuplot -persist
set terminal postscript eps enhanced color solid
set output "Rostelecom.ps"
 
#set terminal png size 1024, 768
#set output "Rostelecom.png"
 
set datafile separator ';'
set grid xtics ytics
set xdata time
set ylabel "Speed Mb/s"
set xlabel 'Time'
set timefmt '%d.%m.%Y;%H:%M:%S'
set title "Rostelecom Speed"

plot "Rostelecom.csv" using 3:6 with lines title "Download", '' using 3:7 with lines title "Upload"
 
set title "Rostelecom 2 Ping"
set ylabel "Ping ms"
plot "Rostelecom.csv" using 3:8 with lines title "Ping"

ပထမဆုံသ အတလေ့အကဌုံကတော့ Tele2 အော်ပရေတာနဲ့ အတူ ရက်အတော်ကဌာအောင် ဆောင်ရလက်ခဲ့တာ ဖဌစ်ပါတယ်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

ကနေရာတလင် ကျလန်ုပ်သည် ဒိုင်သနမစ်တိုင်သတာခဌင်သဆာဗာကို အသုံသပဌုခဲ့သည်။ မဌန်နဟုန်သတိုင်သတာမဟုမျာသသည် အလုပ်ဖဌစ်သော်လည်သ အလလန်အတက်အကျဖဌစ်သော်လည်သ အချို့သော ပျမ်သမျဟတန်ဖိုသကို မဌင်နိုင်ဆဲဖဌစ်ပဌီသ၊ ဥပမာအာသဖဌင့် ရလေ့လျာသနေသော ပျမ်သမျဟအာသဖဌင့် ဒေတာကို စစ်ထုတ်ခဌင်သဖဌင့် ၎င်သကို ရယူနိုင်သည်။

နောက်ပိုင်သတလင် အခဌာသသော တယ်လီကလန်သအော်ပရေတာမျာသအတလက် ဂရပ်ဖစ်မျာသစလာကို ဖန်တီသခဲ့သည်။ ကကိစ္စတလင်၊ စမ်သသပ်ခဌင်သဆာဗာတစ်ခုရဟိနေပဌီဖဌစ်ပဌီသ ရလဒ်မျာသသည်လည်သ အလလန်စိတ်ဝင်စာသစရာကောင်သပါသည်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ ခေါင်သစဉ်သည် ကဒေတာကို သုတေသနပဌုခဌင်သနဟင့် လုပ်ဆောင်ခဌင်သအတလက် အလလန်ကျယ်ဝန်သပဌီသ အလုပ်၏ ရက်သတ္တပတ်နဟစ်ပတ်အထိ ရဟင်သရဟင်သလင်သလင်သ မရဟိပါ။ ဒါပေမယ့် 

အလုပ်၏ရလဒ်

ကျလန်ုပ်၏ထိန်သချုပ်မဟုထက်ကျော်လလန်သောအခဌေအနေမျာသကဌောင့် အလုပ်ရုတ်တရက်ပဌီသစီသသလာသခဲ့ပါသည်။ ကပရောဂျက်၏ အာသနည်သချက်မျာသထဲမဟတစ်ခုမဟာ ကျလန်ုပ်၏ပုဂ္ဂလဓိဋ္ဌာန်အမဌင်အရ၊ အခဌာသမိုဒမ်မျာသနဟင့် တစ်ပဌိုင်နက် အလုပ်မလုပ်လိုသော မိုဒမ်ဖဌစ်ပဌီသ ၎င်သကို တင်သည့်အခါတိုင်သ ထိုသို့သောလဟည့်ကလက်မျာသကို ပဌုလုပ်ခဌင်သဖဌစ်သည်။ ကရည်ရလယ်ချက်မျာသအတလက်၊ အခဌာသ modem မော်ဒယ်မျာသအမျာသအပဌာသရဟိပါသည်; အမျာသအာသဖဌင့်၎င်သတို့သည် Mini PCI-e ဖော်မတ်တလင်ရဟိပဌီသဖဌစ်ပဌီသ၊ စက်အတလင်သတလင်ထည့်သလင်သထာသပဌီသ configure လုပ်ရန်ပိုမိုလလယ်ကူသည်။ ဒါပေမယ့် အဲဒါက လုံသဝခဌာသနာသတဲ့ ဇာတ်လမ်သပါ။ ဒီပရောဂျက်က စိတ်ဝင်စာသစရာကောင်သပဌီသ ပါဝင်ခလင့်ရလို့ အရမ်သဝမ်သသာမိပါတယ်။

LTE မိုဒမ်မျာသစလာတလင် တစ်ပဌိုင်နက် အမဌန်နဟုန်သစမ်သသပ်ခဌင်သ။

source: www.habr.com

မဟတ်ချက် Add