Kuyesa kofulumira munthawi imodzi pamamodemu angapo a LTE
Pa nthawi yokhala kwaokha, ndinapatsidwa mwayi wotenga nawo gawo pakupanga chipangizo choyezera kuthamanga kwa ma modemu a LTE kwa ogwiritsa ntchito ma cellular angapo.
Makasitomala ankafuna kuwunika kuthamanga kwa ogwiritsira ntchito ma telecom osiyanasiyana m'malo osiyanasiyana kuti athe kumvetsetsa kuti ndi wogwiritsa ntchito foni iti yemwe anali wabwino kwambiri kwa iye pakuyika zida pogwiritsa ntchito kulumikizana kwa LTE, mwachitsanzo, pakuwulutsa makanema. Panthawi imodzimodziyo, vutoli linayenera kuthetsedwa mosavuta komanso motsika mtengo, popanda zipangizo zodula.
Kuyeza liwiro la kulumikizana kwa LTE ndi nkhani yovuta kwambiri: muyenera kusankha zida zoyenera ndi njira yoyezera, komanso kumvetsetsa bwino za topology ndi magwiridwe antchito a ma cellular network. Kuphatikiza apo, liwiro limatha kukhudzidwa ndi zinthu zingapo: kuchuluka kwa olembetsa pa cell, nyengo, ngakhale kuchokera ku cell kupita ku cell liwiro limatha kusiyana kwambiri chifukwa cha topology yaukonde. Kawirikawiri, ili ndi vuto ndi chiwerengero chachikulu cha zosadziwika, ndipo ndi wogwiritsa ntchito telecom yekha amene angathetsere bwino.
Poyamba, kasitomala amangofuna kuyendetsa mthenga ndi mafoni a oyendetsa, kutenga miyeso mwachindunji pa foni ndiyeno lembani zotsatira za kuyeza liwiro mu kope. Yankho langa poyezera kuthamanga kwa ma network a lte, ngakhale siloyenera, limathetsa vutoli.
Chifukwa chosowa nthawi, ndidapanga zosankha osati mokomera kumasuka kapena kuchitapo kanthu, koma mokomera kufulumira kwachitukuko. Mwachitsanzo, reverse ssh idagwiritsidwa ntchito patali, m'malo mwa VPN yothandiza kwambiri, kuti musunge nthawi pakukhazikitsa seva ndi kasitomala aliyense payekha.
Ntchito yaukadaulo inali yosavuta, ndikukulitsa pang'ono kuti ndimvetsetse wogwiritsa ntchito. Kusankhidwa kwa mayankho aukadaulo ndi zida zidanenedwa ndi kasitomala. Choncho, specifications palokha, pambuyo kuvomereza zonse:
Kutengera pa bolodi limodzi kompyuta vim2 pangani liwiro loyesa kulumikizana kwa lte kudzera pa ma modemu a Hmauwei e3372h - 153 Ogwiritsa ntchito ma telecom angapo (kuyambira imodzi mpaka n). Ndikofunikiranso kulandira zolumikizira kuchokera ku cholandila GPS cholumikizidwa kudzera pa UART. Pangani miyeso ya liwiro pogwiritsa ntchito ntchitoyi www., mikwapire.com ndi kuziyika mu gome monga:
Table mu mtundu wa csv. Kenako tumizani chizindikirochi pa imelo maola 6 aliwonse. Pakachitika zolakwika, tsegulani ma LED omwe alumikizidwa ndi GPIO.
Ndinafotokozera zaumisiri mu mawonekedwe aulere, pambuyo pa zivomerezo zambiri. Koma tanthauzo la ntchitoyi likuwonekera kale. Sabata inaperekedwa kwa chirichonse. Koma zoona zake n’zakuti zinatha milungu itatu. Izi ndikuganizira mfundo yakuti ndinachita izi pambuyo pa ntchito yanga yaikulu komanso kumapeto kwa sabata.
Komanso m'katimo ndidapeza kuti python ili ndi mitundu iwiri yothamanga 2 ndi 3, chifukwa chake ndidakhazikika pachitatu.
Zida za Hardware
Mbale imodzi vim2
Ndinapatsidwa kompyuta ya bolodi limodzi ngati makina anga aakulu vim2
Purosesa yabwino kwambiri, yamphamvu yapanyumba yanzeru ndi SMART-TV, koma yosayenera kwambiri pantchitoyi, kapena, tinene, yosayenera. Mwachitsanzo, OS yake yayikulu ndi Android, ndipo Linux ndi OS yachiwiri, ndipo motero palibe amene amatsimikizira magwiridwe antchito apamwamba a node ndi madalaivala onse pansi pa Linux. Ndipo ndikuganiza kuti mavuto ena anali okhudzana ndi madalaivala a USB a nsanja iyi, kotero ma modemu sanagwire ntchito monga momwe amayembekezera pa bolodi ili. Ilinso ndi zolembedwa zosauka komanso zomwazika, kotero kuti ntchito iliyonse idatenga nthawi yayitali kukumba madoko. Ngakhale ntchito wamba ndi GPIO anatenga magazi ambiri. Mwachitsanzo, zinanditengera maola angapo kuti ndikhazikitse LED. Koma, kukhala ndi cholinga, sikunali kofunikira kwenikweni mtundu wa bolodi limodzi, chinthu chachikulu chinali chakuti idagwira ntchito ndipo panali madoko a USB.
Choyamba, m'pofunika kukhazikitsa Linux pa bolodi. Kuti ndisafufuze zolembedwa za aliyense, komanso kwa iwo omwe adzachite ndi dongosolo la bolodi limodzi, ndikulemba mutuwu.
Pali njira ziwiri zoyika Linux: pa SD khadi yakunja kapena pa MMC yamkati. Ndinakhala madzulo ndikuyesera kulingalira momwe ndingagwiritsire ntchito ndi khadi, kotero ndinaganiza zoyiyika pa MMC, ngakhale kuti mosakayikira zingakhale zosavuta kugwira ntchito ndi khadi lakunja.
Za firmware mokhota zanenedwa apa. Ndimamasulira kuchokera kwachilendo kupita ku Chirasha. Kuti muyatse bolodi, ndiyenera kulumikiza UART ya hardware. Analunzanitsa motere.
Pambuyo pa mabwalo asanu ndi awiri a gehena, kasinthidwe ka script ndi kukhazikitsa, ndinalandira phukusi lazinthu zogwirira ntchito. Ndinalumikiza bolodi kudzera pa USB ku kompyuta yanga ya Linux, ndikulumikizanso UART molingana ndi chithunzi pamwambapa.
Ndikukhazikitsa terminal yanga ya minicom yomwe ndimakonda pa liwiro la 115200, popanda kuwongolera zolakwika za hardware ndi mapulogalamu. Ndipo tiyeni tiyambe.
Ndikatsegula VIM2 mu terminal ya UART, ndimakanikiza kiyi, monga spacebar, kuti ndisiye kutsitsa. Pambuyo kuwonekera mzere
kvim2#
Ndikulowetsa lamulo:
kvim2# run update
Pa gulu lomwe tikutsitsa, ndikuchita:
burn-tool -v aml -b VIM2 -i VIM2_Ubuntu-server-bionic_Linux-4.9_arm64_EMMC_V20191231.img
Ndi zimenezo, phew. Ndayang'ana, pali Linux pa bolodi. Login/password khadas:khadas.
Pambuyo pake, zosintha zina zazing'ono zoyambira. Kuti ndipitirize ntchito, ndimayimitsa mawu achinsinsi a sudo (inde, osati otetezeka, koma osavuta).
sudo visudo
Ndimasintha mzere ku fomu ndikusunga
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
Ndiye ndimasintha malo omwe alipo kuti nthawiyo ikhale ku Moscow, mwinamwake ku Greenwich.
Modem iyi inali gwero lalikulu la magazi kwa ine, ndipo, kwenikweni, idakhala nkhokwe ya polojekiti yonse. Nthawi zambiri, dzina la "modemu" pazida izi silimawonetsa tanthauzo la ntchitoyi konse: ichi ndi chophatikizira champhamvu, chida ichi chili ndi chipangizo chophatikizika chomwe chimadzinamizira kuti ndi CD-ROM kuti muyike madalaivala, ndiyeno sinthani ku network network mode.
Zomangamanga, kuchokera pakuwona kwa wogwiritsa ntchito Linux, pambuyo pa zoikamo zonse, zikuwoneka ngati izi: nditatha kulumikiza modem, ndili ndi mawonekedwe a eth * network, omwe kudzera pa dhcp amalandira adilesi ya IP 192.168.8.100, ndi chipata chosasinthika. ndi 192.168.8.1.
Ndipo mphindi yofunika kwambiri! Mtundu wa modem uwu sungathe kugwira ntchito mu modem modem, yomwe imayendetsedwa ndi malamulo a AT. Chilichonse chingakhale chosavuta, pangani ma PPP olumikizira pa modemu iliyonse ndikugwira nawo ntchito. Koma kwa ine, "iyemwini" (momwemonso, Linux diver molingana ndi malamulo a udev), amapanga mawonekedwe a eth ndikuwapatsa adilesi ya IP kudzera pa dhcp.
Kuti mupewe kusokonezeka kwina, ndikupempha kuiwala mawu oti "modemu" ndikunena khadi la network ndi chipata, chifukwa kwenikweni, zimakhala ngati kulumikiza khadi latsopano la intaneti ndi chipata.
Pakakhala modemu imodzi, izi sizimayambitsa mavuto apadera, koma ngati pali zambiri, zomwe ndi n-zidutswa, chithunzi chotsatira cha intaneti chikuwonekera.
Ndiko kuti, n makhadi a netiweki, okhala ndi adilesi ya IP yomweyo, iliyonse ili ndi chipata chofanana. Koma kwenikweni, aliyense wa iwo amalumikizidwa ndi woyendetsa wake.
Poyambirira, ndinali ndi yankho losavuta: kugwiritsa ntchito ifconfig kapena ip command, zimitsani zolumikizira zonse ndikungoyatsa imodzi ndikuyesa. Yankho lake linali labwino kwa aliyense, kupatula kuti panthawi yosintha sindinathe kulumikiza ku chipangizocho. Ndipo popeza kusinthaku kumachitika pafupipafupi komanso mwachangu, ndinalibe mwayi wolumikizana konse.
Chifukwa chake, ndidasankha njira yosinthira pamanja ma adilesi a IP a modemu ndikuyendetsa magalimoto pogwiritsa ntchito makonda amayendedwe.
Uku sikunali kutha kwa mavuto anga ndi ma modemu: pakakhala mavuto amagetsi, adagwa, ndipo mphamvu yabwino yokhazikika ku USB hub idafunikira. Ndinathetsa vutoli mwa kulimbitsa mphamvu molunjika ku hub. Vuto lina lomwe ndidakumana nalo ndikuwononga projekiti yonse: mutatha kuyambiranso kapena kuzizira kwa chipangizocho, si ma modemu onse omwe adapezeka ndipo osati nthawi zonse, ndipo sindingathe kudziwa chifukwa chake izi zidachitika komanso ndi ma aligorivimu ati. Koma zinthu zoyamba choyamba.
Kuti modem igwire bwino ntchito, ndinayika phukusi la usb-modeswitch.
Pambuyo pake, mutatha kulumikiza, modem idzazindikiridwa bwino ndikukonzedwa ndi udev subsystem. Ndimayang'ana mwa kungolumikiza modem ndikuwonetsetsa kuti maukonde akuwoneka.
Vuto lina lomwe sindikanatha kulithetsa: ndingapeze bwanji dzina la wogwiritsa ntchito yemwe tikugwira naye ntchito kuchokera ku modemu iyi? Dzina la opareshoni lili mu mawonekedwe a intaneti ya modemu pa 192.168.8.1. Ili ndi tsamba lawebusayiti lomwe limalandira deta kudzera muzopempha za Ajax, kotero kungolemba tsambalo ndi kutchula dzina sikungagwire ntchito. Kotero ndinayamba kuyang'ana momwe ndingapangire tsamba la webusaiti, ndi zina zotero, ndipo ndinazindikira kuti ndikuchita zopanda pake. Zotsatira zake, adalavula, ndipo woyendetsayo adayamba kulandira pogwiritsa ntchito Speedtest API yokha.
Zingakhale zophweka ngati modem ikanakhala ndi mwayi kudzera pa malamulo a AT. Zitha zotheka kuyisinthanso, kupanga kulumikizana kwa ppp, kugawa IP, kupeza wogwiritsa ntchito telecom, ndi zina zambiri. Koma tsoka, ndikugwira ntchito ndi zomwe ndapatsidwa.
GPS
Cholandira GPS chomwe ndinapatsidwa chinali ndi mawonekedwe a UART ndi mphamvu. Ilo silinali yankho labwino kwambiri, koma linali lothekabe komanso losavuta. Wolandirayo adawoneka chonchi.
Kunena zowona, iyi inali nthawi yanga yoyamba kugwira ntchito ndi wolandila GPS, koma monga ndimayembekezera, zonse zidaganiziridwa kwa ife kalekale. Chifukwa chake timangogwiritsa ntchito mayankho okonzeka.
Simungathe kuwona ma satellites pachithunzichi, koma mutha kuwona kulumikizana ndi wolandila GPS, ndipo izi zikutanthauza kuti zonse zili bwino.
Mu python, ndinayesa njira zambiri zogwirira ntchito ndi daemon iyi, koma ndinakhazikika pa yomwe inagwira ntchito bwino ndi python 3.
Ine kukhazikitsa laibulale zofunika.
sudo -H pip3 install gps3
Ndipo ndikujambula nambala yantchito.
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
Ngati ndikufunika kupeza ma coordinates, izi zimachitika ndi foni iyi:
longitude, latitude = getPositionData(agps_thread)
M'malo mwake, ngati pangakhale nthawi yochulukirapo, zikanakhala zotheka kulandira deta kuchokera ku GPS mwachindunji kudzera ku UART, kugawanitsa mu ulusi wina ndikugwira nawo ntchito. Koma panalibe nthawi nkomwe, motero code yonyansa kwambiri. Ndipo inde, sindichita manyazi.
Kuwala kotulutsa kuwala
Kulumikiza LED kunali kosavuta komanso kovuta nthawi imodzi. Chovuta chachikulu ndi chakuti nambala ya pini mu dongosolo sichigwirizana ndi nambala ya pini pa bolodi komanso chifukwa zolembazo zimalembedwa ndi dzanja lamanzere. Kuti mufananize nambala ya pini ya hardware ndi nambala ya pini mu OS, muyenera kuyendetsa lamulo:
gpio readall
Gome la makalata a pini mu dongosolo ndi pa bolodi lidzawonetsedwa. Pambuyo pake nditha kugwiritsa ntchito pini mu OS yokha. M'malo mwanga LED ikugwirizana ndi GPIOH_5.
Tsopano, pakachitika zolakwika, ndimayitcha error_blink() ndipo ma LED aziwoneka bwino.
Mapulogalamu a mapulogalamu
Speedtest API
Ndizosangalatsa kwambiri kuti ntchito ya speedtest.net ili ndi python-API yake, mutha kuyang'ana Github.
Ubwino wake ndikuti pali ma source code omwe amathanso kuwonedwa. Momwe mungagwiritsire ntchito ndi API iyi (zitsanzo zosavuta) zitha kupezeka mkati gawo loyenera.
Ndimayika laibulale ya python ndi lamulo ili.
sudo -H pip3 install speedtest-cli
Mwachitsanzo, mutha kukhazikitsa choyesa liwiro ku Ubuntu mwachindunji kuchokera pa pulogalamuyo. Uwu ndiye ntchito yomweyo ya python, yomwe imatha kukhazikitsidwa mwachindunji kuchokera ku console.
sudo apt install speedtest-cli -y
Ndipo yesani liwiro la intaneti yanu.
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
Zotsatira zake, monga momwe ndinachitira. Ndinayenera kulowa m'makhodi a gwero la kuyesa liwiro ili kuti ndikwaniritse bwino ntchito yanga. Chimodzi mwazinthu zofunika kwambiri ndikupeza dzina la wogwiritsa ntchito telecom kuti alowe m'malo mwa mbale.
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"
#тут идет запись в файл логов
Pano, nayenso, chirichonse chinakhala chosavuta, ngakhale chikuwoneka chophweka. Poyamba, magawo a seva anali ofanana ndi [], amati, sankhani seva yabwino kwambiri. Zotsatira zake, ndinali ndi ma seva osadziwika, ndipo, monga momwe mungaganizire, kuthamanga kosinthika. Uwu ndi mutu wovuta kwambiri, kugwiritsa ntchito seva yokhazikika, ngati ndi choncho, yokhazikika kapena yamphamvu, imafuna kafukufuku. Koma nachi chitsanzo cha ma graph oyezera liwiro la woyendetsa Beeline posankha seva yoyeserera ndi yokhazikika.
Zotsatira za kuyeza liwiro posankha seva yamphamvu.
Zotsatira za kuyesa liwiro, ndi seva imodzi yosankhidwa mosamalitsa.
Pakuyesa, pali "ubweya" m'malo onse awiri, ndipo uyenera kuchotsedwa pogwiritsa ntchito njira za masamu. Koma ndi seva yokhazikika ndiyocheperako pang'ono ndipo matalikidwe ake amakhala okhazikika.
Kawirikawiri, awa ndi malo ofufuza kwambiri. Ndipo ndimayesa liwiro la seva yanga pogwiritsa ntchito chida cha iperf. Koma timamatira kuzinthu zamakono.
Kutumiza makalata ndi zolakwika
Kuti nditumize makalata, ndinayesa njira zingapo zingapo, koma pamapeto pake ndinakhazikika pa zotsatirazi. Ndinalembetsa bokosi la makalata pa Yandex ndiyeno ndinatenga Ichi ndi chitsanzo cha kutumiza makalata. Ndinazifufuza ndikuziyika mu pulogalamuyo. Chitsanzochi chimayang'ana zosankha zosiyanasiyana, kuphatikizapo kutumiza kuchokera ku gmail, ndi zina. Sindinafune kudandaula ndi kukhazikitsa seva yanga yamakalata ndipo ndinalibe nthawi yake, koma monga momwe zinakhalira pambuyo pake, zinali zopanda pake.
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
Zolakwa zinatumizidwanso poyamba. Poyamba, adasonkhanitsidwa pamndandanda, kenako adatumizidwanso pogwiritsa ntchito ndandanda, ngati pali kulumikizana. Komabe, ndiye mavuto anadza ndi chakuti Yandex ali malire pa chiwerengero cha mauthenga anatumiza patsiku (izi ndi ululu, chisoni ndi manyazi). Popeza pakhoza kukhala zolakwika zambiri ngakhale pamphindi imodzi, tinayenera kusiya kutumiza zolakwika ndi makalata. Chifukwa chake, kumbukirani kuti mukamatumiza zidziwitso zavutoli kudzera pa Yandex.
Ndemanga seva
Kuti ndikhale ndi mwayi wopeza chida chakutali ndikutha kuchisintha ndikuchikonzanso, ndimafunikira seva yakunja. Kawirikawiri, kunena chilungamo, zingakhale zolondola kutumiza deta yonse ku seva ndikumanga ma graph onse okongola pa intaneti. Koma osati zonse mwakamodzi.
Kwa VPS ndinasankha ruvds.com. Mutha kutenga seva yosavuta kwambiri. Ndipo zambiri, pa zolinga zanga izi zingakhale zokwanira. Koma popeza sindinalipire seva kuchokera m'thumba langa, ndinaganiza kuti nditenge ndi kasungidwe kakang'ono kuti zikhale zokwanira ngati titha kuyika mawonekedwe a intaneti, seva yathu ya SMTP, VPN, ndi zina zotero. Kuphatikiza apo, mutha kukhazikitsa bot ya Telegraph ndipo musakhale ndi vuto ndi kutsekedwa. Choncho, ndinasankha Amsterdam ndi magawo otsatirawa.
Monga njira yolumikizirana ndi zida, vim2 idasankha kulumikizana kwa reverse ssh ndipo, monga momwe zawonetsera, si zabwino kwambiri. Ngati kugwirizana kwatayika, seva imakhala ndi doko ndipo sizingatheke kulumikiza kupyoleramo kwa kanthawi. Choncho, ndibwino kugwiritsa ntchito njira zina zolankhulirana, mwachitsanzo VPN. M'tsogolomu ndinkafuna kusintha VPN, koma ndinalibe nthawi.
Sindingafotokoze mwatsatanetsatane kukhazikitsa chozimitsa moto, kuletsa ufulu, kuletsa kulumikizana kwa mizu ya ssh ndi malingaliro ena okhazikitsa VPS. Ndikufuna kukhulupirira kuti mukudziwa kale zonse. Pakulumikiza kwakutali, ndimapanga wosuta watsopano pa seva.
adduser vimssh
Ndimapanga makiyi olumikizira ssh pa hardware yathu.
Kenako ndimafika pamayeso anga a hardware. Ndipo kuchokera ku hardware ndingathenso kutumiza zipika ndi deta iliyonse kudzera pa ssh ku seva yanga, yomwe ili yabwino kwambiri.
Kuziyika zonse pamodzi
Kuyatsa, tiyeni tiyambe chitukuko ndi kukonza zolakwika
Phew, ndiye, ndidafotokoza ma node onse. Tsopano ndi nthawi yoti tiziyika zonse pamodzi. Mutha kuwona code pomwe pano.
#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)
Gawo lovuta kwambiri la polojekitiyi ndikusunga kulumikizana kwa reverse ssh pamayeso aliwonse. Kuyesa kulikonse kumaphatikizapo kukonzanso chipata chokhazikika ndi seva ya DNS. Popeza palibe amene amawerenga, dziwani kuti sitimayo sikwera njanji zamatabwa. Amene apeza dzira la Isitala amapeza maswiti.
Pambuyo pake ndimalowa muzitsulo zopanda malire, kumene nthawi iliyonse timapeza mndandanda wa ma modemu ogwirizana (kuti tipeze ngati kasinthidwe ka intaneti kwasintha mwadzidzidzi).
network_list = getNetworklist()
Kupeza mndandanda wazolumikizana ndi netiweki ndikosavuta.
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
Nditalandira mndandanda, ndidayika ma adilesi a IP pazolumikizana zonse, monga ndidawonetsera pachithunzichi mumutu wokhudza modemu.
Pano ndikukonzekera ssh routing ku mawonekedwe awa (ngati sichinachitike), tumizani zolakwika kwa seva ngati nthawi yafika, tumizani zipika ndipo potsiriza muthamangitse mofulumira ndikusunga zipika ku fayilo ya 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()
#и далее тестируем скорость и сохраняем логи.
Chabwino, tsopano chofunika kwambiri ndicho, chinachitika ndi chiyani? Nawa ma graph angapo omwe ndidatha kujambula panthawi yachitukuko ndi kukonza zolakwika. Ma grafu anamangidwa pogwiritsa ntchito gnuplot ndi malemba otsatirawa.
#! /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"
Chochitika choyamba chinali ndi woyendetsa Tele2, yemwe ndidachita kwa masiku angapo.
Apa ndidagwiritsa ntchito seva yoyezera mwamphamvu. Miyezo yothamanga imagwira ntchito, koma imasinthasintha kwambiri, koma mtengo wake wapakati umawonekerabe, ndipo izi zitha kupezeka posefa deta, mwachitsanzo, ndi avareji yosuntha.
Pambuyo pake ndidapanga ma graph angapo a matelefoni ena. Pankhaniyi, panali kale seva imodzi yoyesera, ndipo zotsatira zake zinali zosangalatsa kwambiri.
Monga mukuonera, mutuwu ndi wochuluka kwambiri pakufufuza ndi kukonza deta iyi, ndipo mwachiwonekere sichitha kwa masabata angapo a ntchito. Koma…
Zotsatira za ntchito
Ntchitoyi inatha mwadzidzidzi chifukwa cha zinthu zimene sindikanatha kuzikwanitsa. Chimodzi mwa zofooka za polojekitiyi, m'malingaliro anga omvera, chinali modemu, yomwe sinkafuna kwenikweni kugwira ntchito nthawi imodzi ndi ma modemu ena, ndipo inapanga zidule zotere nthawi iliyonse yomwe imadzaza. Pazifukwa izi, pali mitundu ina yambiri ya ma modemu; nthawi zambiri amakhala mu mtundu wa Mini PCI-e ndipo amayikidwa mkati mwa chipangizocho ndipo ndizosavuta kusintha. Koma imeneyo ndi nkhani yosiyana kotheratu. Ntchitoyi inali yosangalatsa ndipo ndinasangalala kwambiri kuti ndinatha kutenga nawo mbali.