เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชธเช‚เชธเชฐเซเช—เชจเชฟเชทเซ‡เชง เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชฎเชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชธเซ‡เชฒเซเชฏเซเชฒเชฐ เช“เชชเชฐเซ‡เชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ LTE เชฎเซ‹เชกเซ‡เชฎเชจเซ€ เชเชกเชช เชฎเชพเชชเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เช‰เชชเช•เชฐเชฃเชจเชพ เชตเชฟเช•เชพเชธเชฎเชพเช‚ เชญเชพเช— เชฒเซ‡เชตเชพเชจเซ€ เช“เชซเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เช—เซเชฐเชพเชนเช• เชตเชฟเชตเชฟเชง เชญเซŒเช—เซ‹เชฒเชฟเช• เชธเซเชฅเชพเชจเซ‹ เชชเชฐ เชตเชฟเชตเชฟเชง เชŸเซ‡เชฒเชฟเช•เซ‹เชฎ เช“เชชเชฐเซ‡เชŸเชฐเซ‹เชจเซ€ เชเชกเชชเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹ เชœเซ‡เชฅเซ€ เชคเซ‡ เชธเชฎเชœเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชฌเชจเซ‡ เช•เซ‡ LTE เช•เชจเซ‡เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชพเชงเชจเชธเชพเชฎเช—เซเชฐเซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เช•เชฏเซ‹ เชธเซ‡เชฒเซเชฏเซเชฒเชฐ เช“เชชเชฐเซ‡เชŸเชฐ เชธเซŒเชฅเซ€ เชตเชงเซ เชถเซเชฐเซ‡เชทเซเช  เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชตเชฟเชกเชฟเชฏเซ‹ เชฌเซเชฐเซ‹เชกเช•เชพเชธเซเชŸ เชฎเชพเชŸเซ‡. เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, เช–เชฐเซเชšเชพเชณ เชธเชพเชงเชจเซ‹ เชตเชฟเชจเชพ, เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชธเชฐเชณ เช…เชจเซ‡ เชธเชธเซเชคเซ€ เชฐเซ€เชคเซ‡ เชนเชฒ เช•เชฐเชตเชพเชจเซ€ เชนเชคเซ€.

เชนเซเช‚ เชคเชฐเชค เชœ เช•เชนเซ€เชถ เช•เซ‡ เช•เชพเชฐเซเชฏ เชธเซŒเชฅเซ€ เชธเชฐเชณ เช…เชจเซ‡ เชธเซŒเชฅเซ€ เชตเชงเซ เชœเซเชžเชพเชจ-เชธเช˜เชจ เชจเชฅเซ€; เชนเซเช‚ เชคเชฎเชจเซ‡ เช•เชนเซ€เชถ เช•เซ‡ เชฎเชจเซ‡ เช•เชˆ เชธเชฎเชธเซเชฏเชพเช“ เช†เชตเซ€ เช…เชจเซ‡ เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชนเชฒ เช•เชฐเซ€. เชคเซ‹, เชšเชพเชฒเซ‹ เชœเชˆเช.

เชจเซ‹เช‚เชงเชฃเซ€

LTE เช•เชจเซ‡เช•เซเชถเชจเชจเซ€ เชเชกเชชเชจเซ‡ เชฎเชพเชชเชตเซ€ เช เช–เซ‚เชฌ เชœ เชœเชŸเชฟเชฒ เชฌเชพเชฌเชค เช›เซ‡: เชคเชฎเชพเชฐเซ‡ เชฏเซ‹เช—เซเชฏ เชธเชพเชงเชจเซ‹ เช…เชจเซ‡ เชฎเชพเชชเชจ เชคเช•เชจเซ€เช• เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชจเซ‡ เชธเซ‡เชฒเซเชฏเซเชฒเชฐ เชจเซ‡เชŸเชตเชฐเซเช•เชจเซ€ เชŸเซ‹เชชเซ‹เชฒเซ‹เชœเซ€ เช…เชจเซ‡ เช‘เชชเชฐเซ‡เชถเชจเชจเซ€ เชชเชฃ เชธเชพเชฐเซ€ เชธเชฎเชœ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช. เช‰เชชเชฐเชพเช‚เชค, เชเชกเชช เช˜เชฃเชพ เชชเชฐเชฟเชฌเชณเซ‹เชฅเซ€ เชชเซเชฐเชญเชพเชตเชฟเชค เชฅเชˆ เชถเช•เซ‡ เช›เซ‡: เชธเซ‡เชฒ เชชเชฐ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ, เชนเชตเชพเชฎเชพเชจ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“, เชเช• เชธเซ‡เชฒเชฅเซ€ เชธเซ‡เชฒ เชธเซเชงเซ€ เชชเชฃ เชจเซ‡เชŸเชตเชฐเซเช• เชŸเซ‹เชชเซ‹เชฒเซ‹เชœเซ€เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชเชกเชช เชจเชพเชŸเช•เซ€เชฏ เชฐเซ€เชคเซ‡ เชฌเชฆเชฒเชพเชˆ เชถเช•เซ‡ เช›เซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เช† เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เช…เชœเชพเชฃเซเชฏเชพเช“เชจเซ€ เชธเชฎเชธเซเชฏเชพ เช›เซ‡, เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชŸเซ‡เชฒเชฟเช•เซ‹เชฎ เช“เชชเชฐเซ‡เชŸเชฐ เชœ เชคเซ‡เชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชนเชฒ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เช—เซเชฐเชพเชนเช• เชฎเชพเชคเซเชฐ เช“เชชเชฐเซ‡เชŸเชฐเซเชธเชจเชพ เชซเซ‹เชจ เชตเชกเซ‡ เช•เซเชฐเชฟเชฏเชฐ เชšเชฒเชพเชตเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹, เชซเซ‹เชจ เชชเชฐ เชธเซ€เชงเซ‹ เชฎเชพเชช เชฒเซ‡เชคเซ‹ เชนเชคเซ‹ เช…เชจเซ‡ เชชเช›เซ€ เชธเซเชชเซ€เชก เชฎเชพเชชเชจเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชจเซ‹เชŸเชฌเซเช•เชฎเชพเช‚ เชฒเช–เชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹. lte เชจเซ‡เชŸเชตเชฐเซเช•เซเชธเชจเซ€ เชเชกเชชเชจเซ‡ เชฎเชพเชชเชตเชพ เชฎเชพเชŸเซ‡เชจเซ‹ เชฎเชพเชฐเซ‹ เช‰เช•เซ‡เชฒ, เช†เชฆเชฐเซเชถ เชจ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เชธเชฎเชธเซเชฏเชพเชจเซเช‚ เชจเชฟเชฐเชพเช•เชฐเชฃ เช•เชฐเซ‡ เช›เซ‡.

เชธเชฎเชฏเชจเชพ เช…เชญเชพเชตเซ‡ เชฎเซ‡เช‚ เชธเช—เชตเชกเชคเชพ เช•เซ‡ เชตเซเชฏเชตเชนเชพเชฐเชฟเช•เชคเชพเชจเซ€ เชคเชฐเชซเซ‡เชฃเชฎเชพเช‚ เชจเชนเซ€เช‚ เชชเชฃ เชตเชฟเช•เชพเชธเชจเซ€ เชเชกเชชเชจเซ€ เชคเชฐเชซเซ‡เชฃเชฎเชพเช‚ เชจเชฟเชฐเซเชฃเชฏเซ‹ เชฒเซ€เชงเชพ. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฐเชฟเชตเชฐเซเชธ ssh เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฐเชฟเชฎเซ‹เชŸ เชเช•เซเชธเซ‡เชธ เชฎเชพเชŸเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เชตเชงเซ เชตเซเชฏเชตเชนเชพเชฐเซ VPN เชจเซ‡ เชฌเชฆเชฒเซ‡, เชธเชฐเซเชตเชฐ เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชตเซเชฏเช•เซเชคเชฟเช—เชค เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ‡ เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชฏ เชฌเชšเชพเชตเชตเชพ เชฎเชพเชŸเซ‡.

เชคเช•เชจเซ€เช•เซ€ เช•เชพเชฐเซเชฏ

เชฒเซ‡เช–เชฎเชพเช‚ เชœเชฃเชพเชตเซเชฏเชพ เชฎเซเชœเชฌ เชคเช•เชจเซ€เช•เซ€ เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃเซ‹ เชตเชฟเชจเชพ: เช•เซเชฒเชพเชฏเช‚เชŸ เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เช‡เชšเซเช›เชคเซ‹ เชจเชฅเซ€: เชคเช•เชจเซ€เช•เซ€ เชฒเชพเช•เซเชทเชฃเชฟเช•เชคเชพเช“ เชตเชฟเชจเชพ เช•เชพเชฎ เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚! เช•เซเชฏเชพเชฐเซ‡เชฏ, เช•เซเชฏเชพเช‚เชฏ เชจเชนเซ€เช‚!

เชคเช•เชจเซ€เช•เซ€ เช•เชพเชฐเซเชฏ เชเช•เชฆเชฎ เชธเชฐเชณ เชนเชคเซเช‚, เชนเซเช‚ เช…เช‚เชคเชฟเชฎ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ€ เชธเชฎเชœ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‡ เชฅเซ‹เชกเซเช‚ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเซ€เชถ. เชคเช•เชจเซ€เช•เซ€ เช‰เช•เซ‡เชฒเซ‹ เช…เชจเซ‡ เชธเชพเชงเชจเซ‹เชจเซ€ เชชเชธเช‚เชฆเช—เซ€ เช—เซเชฐเชพเชนเช• เชฆเซเชตเชพเชฐเชพ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. เชคเซ‡เชฅเซ€, เชคเช•เชจเซ€เช•เซ€ เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃ เชชเซ‹เชคเซ‡, เชฌเชงเซ€ เชฎเช‚เชœเซ‚เชฐเซ€เช“ เชชเช›เซ€:

เชธเชฟเช‚เช—เชฒ เชฌเซ‹เชฐเซเชก เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชชเชฐ เช†เชงเชพเชฐเชฟเชค vim2 H เชฎเซ‹เชกเซ‡เชฎ เชฆเซเชตเชพเชฐเชพ lte เช•เชจเซ‡เช•เซเชถเชจ เชฎเชพเชŸเซ‡ เชธเซเชชเซ€เชก เชŸเซ‡เชธเซเชŸเชฐ เชฌเชจเชพเชตเซ‹uawei e3372h - 153 เช˜เชฃเชพ เชŸเซ‡เชฒเชฟเช•เซ‹เชฎ เช“เชชเชฐเซ‡เชŸเชฐเซ‹ (เชเช• เชฅเซ€ เชเชจ เชธเซเชงเซ€). UART เชฆเซเชตเชพเชฐเชพ เช•เชจเซ‡เช•เซเชŸเซ‡เชก GPS เชฐเซ€เชธเซ€เชตเชฐ เชชเชพเชธเซ‡เชฅเซ€ เช•เซ‹เช“เชฐเซเชกเชฟเชจเซ‡เชŸเซเชธ เชฎเซ‡เชณเชตเชตเซเช‚ เชชเชฃ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เชธเซ‡เชตเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช—เชคเชฟ เชฎเชพเชชเชจ เช•เชฐเซ‹ www.speedtest.net เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚ เชฎเซ‚เช•เซ‹ เชœเซ‡เชฎ เช•เซ‡:

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

csv เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เช•เซ‹เชทเซเชŸเช•. เชชเช›เซ€ เชฆเชฐ 6 เช•เชฒเชพเช•เซ‡ เชˆ-เชฎเซ‡เชฒ เชฆเซเชตเชพเชฐเชพ เช† เชธเชพเชˆเชจ เชฎเซ‹เช•เชฒเซ‹. เชญเซ‚เชฒเซ‹เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, GPIO เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ LEDเชจเซ‡ เชเชฌเช•เชพเชตเซ‹.

เชฎเซ‡เช‚ เช˜เชฃเซ€ เชฎเช‚เชœเซ‚เชฐเซ€เช“ เชชเช›เซ€, เชฎเชซเชค เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชคเช•เชจเซ€เช•เซ€ เชฒเชพเช•เซเชทเชฃเชฟเช•เชคเชพเช“เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซเชฏเซเช‚. เชชเชฐเช‚เชคเซ เช•เชพเชฐเซเชฏเชจเซ‹ เช…เชฐเซเชฅ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชฆเซ‡เช–เชพเชฏ เช›เซ‡. เชฆเชฐเซ‡เช• เชตเชธเซเชคเซ เชฎเชพเชŸเซ‡ เชเช• เช…เช เชตเชพเชกเชฟเชฏเซเช‚ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชชเชฐเช‚เชคเซ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชคเซ‡ เชคเซเชฐเชฃ เช…เช เชตเชพเชกเชฟเชฏเชพ เชธเซเชงเซ€ เชšเชพเชฒเซเชฏเซเช‚. เช† เช เชนเช•เซ€เช•เชคเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชฎเซ‡เช‚ เช† เชฎเชพเชฐเชพ เชฎเซเช–เซเชฏ เช•เชพเชฎ เชชเช›เซ€ เช…เชจเซ‡ เชธเชชเซเชคเชพเชนเชจเชพ เช…เช‚เชคเซ‡ เชœ เช•เชฐเซเชฏเซเช‚.

เช…เชนเซ€เช‚ เชนเซเช‚ เชซเชฐเซ€ เชเช•เชตเชพเชฐ เช เชนเช•เซ€เช•เชค เชคเชฐเชซ เชงเซเชฏเชพเชจ เชฆเซ‹เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เช•เซ‡ เช—เซเชฐเชพเชนเช• เชเชกเชช เชฎเชพเชชเชจ เชธเซ‡เชตเชพ เช…เชจเซ‡ เชนเชพเชฐเซเชกเชตเซ‡เชฐเชจเชพ เช‰เชชเชฏเซ‹เช— เชชเชฐ เช…เช—เชพเช‰เชฅเซ€ เชธเช‚เชฎเชค เชฅเชฏเชพ เชนเชคเชพ, เชœเซ‡เชฃเซ‡ เชฎเชพเชฐเซ€ เช•เซเชทเชฎเชคเชพเช“เชจเซ‡ เชฎเซ‹เชŸเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเซ€ เชนเชคเซ€. เชฌเชœเซ‡เชŸ เชชเชฃ เชธเซ€เชฎเชฟเชค เชนเชคเซเช‚ เชเชŸเชฒเซ‡ เช–เชพเชธ เช•เช‚เชˆ เช–เชฐเซ€เชฆเซ€ เชจ เชฅเชˆ. เชคเซ‡เชฅเซ€ เช…เชฎเชพเชฐเซ‡ เช† เชจเชฟเชฏเชฎเซ‹ เชฆเซเชตเชพเชฐเชพ เชฐเชฎเชตเชพเชจเซเช‚ เชนเชคเซเช‚.

เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เช…เชจเซ‡ เชตเชฟเช•เชพเชธ

เชฏเซ‹เชœเชจเชพ เชธเชฐเชณ เช…เชจเซ‡ เชธเซเชชเชทเซเชŸ เช›เซ‡. เชคเซ‡เชฅเซ€, เชนเซเช‚ เชคเซ‡เชจเซ‡ เช•เซ‹เชˆ เชตเชฟเชถเซ‡เชท เชŸเชฟเชชเซเชชเชฃเซ€เช“ เชตเชฟเชจเชพ เช›เซ‹เชกเซ€เชถ.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชฎเชจเซ‡ เช† เชญเชพเชทเชพเชฎเชพเช‚ เชตเชฟเช•เชพเชธ เช•เชฐเชตเชพเชจเซ‹ เชฌเชฟเชฒเช•เซเชฒ เช…เชจเซเชญเชต เชจ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เชฎเซ‡เช‚ เชธเชฎเช—เซเชฐ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เช…เชœเช—เชฐเชฎเชพเช‚ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚. เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซเช‚ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซเชฏเชพเช‚ เชคเซˆเชฏเชพเชฐ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เช…เชจเซ‡ เช‰เช•เซ‡เชฒเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เช›เซ‡ เชœเซ‡ เชตเชฟเช•เชพเชธเชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เชนเซเช‚ เชคเชฎเชพเชฎ เชตเซเชฏเชพเชตเชธเชพเชฏเชฟเช• เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐเซ‹เชจเซ‡ เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เชตเชฟเช•เชพเชธ เช•เชฐเชตเชพเชจเชพ เชฎเชพเชฐเชพ เชชเซเชฐเชฅเชฎ เช…เชจเซเชญเชตเชจเซ‡ เชจเชฟเช‚เชฆเชพ เชจ เช•เชฐเชตเชพ เช•เชนเซเช‚ เช›เซเช‚, เช…เชจเซ‡ เชฎเชพเชฐเซ€ เช•เซเชถเชณเชคเชพ เชธเซเชงเชพเชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชจเชพเชคเซเชฎเช• เชŸเซ€เช•เชพ เชธเชพเช‚เชญเชณเซ€เชจเซ‡ เชนเซเช‚ เชนเช‚เชฎเซ‡เชถเชพ เช–เซเชถ เช›เซเช‚.

เช† เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชชเชฃ เชฎเซ‡เช‚ เชถเซ‹เชงเซเชฏเซเช‚ เช•เซ‡ เชชเชพเชฏเชฅเซ‹เชจเชจเชพเช‚ เชฌเซ‡ เชตเชฐเซเชเชจ 2 เช…เชจเซ‡ 3 เช›เซ‡, เชชเชฐเชฟเชฃเชพเชฎเซ‡ เชนเซเช‚ เชคเซเชฐเซ€เชœเชพ เชชเชฐ เชธเซเชฅเชพเชฏเซ€ เชฅเชฏเซ‹.

เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชจเซ‹เชกเซเชธ

เชธเชฟเช‚เช—เชฒ-เชชเซเชฒเซ‡เชŸ vim2

เชฎเชจเซ‡ เชฎเชพเชฐเชพ เชฎเซเช–เซเชฏ เชฎเชถเซ€เชจ เชคเชฐเซ€เช•เซ‡ เชธเชฟเช‚เช—เชฒ-เชฌเซ‹เชฐเซเชก เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚ vim2

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชธเซเชฎเชพเชฐเซเชŸ เชนเซ‹เชฎ เช…เชจเซ‡ SMART-TV เชฎเชพเชŸเซ‡ เชเช• เช‰เชคเซเชคเชฎ, เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เชฎเซ€เชกเชฟเชฏเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ, เชชเชฐเช‚เชคเซ เช† เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡ เช…เชคเซเชฏเช‚เชค เช…เชฏเซ‹เช—เซเชฏ, เช…เชฅเชตเชพ, เชšเชพเชฒเซ‹ เช•เชนเซ€เช, เช–เชฐเชพเชฌ เชฐเซ€เชคเซ‡ เชฏเซ‹เช—เซเชฏ. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเซ‡เชจเซเช‚ เชฎเซเช–เซเชฏ เช“เชเชธ เชเชจเซเชกเซเชฐเซ‹เช‡เชก เช›เซ‡, เช…เชจเซ‡ เชฒเชฟเชจเช•เซเชธ เช เชธเซ‡เช•เชจเซเชกเชฐเซ€ เช“เชเชธ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡ เชฎเซเชœเชฌ เช•เซ‹เชˆ เชชเชฃ เชฒเชฟเชจเช•เซเชธ เชนเซ‡เช เชณเชจเชพ เชคเชฎเชพเชฎ เชจเซ‹เชกเซเชธ เช…เชจเซ‡ เชกเซเชฐเชพเช‡เชตเชฐเซ‹เชจเซ€ เช‰เชšเซเชš-เช—เซเชฃเชตเชคเซเชคเชพเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เชฌเชพเช‚เชฏเชงเชฐเซ€ เช†เชชเชคเซเช‚ เชจเชฅเซ€. เช…เชจเซ‡ เชนเซเช‚ เชฎเชพเชจเซเช‚ เช›เซเช‚ เช•เซ‡ เช•เซ‡เชŸเชฒเซ€เช• เชธเชฎเชธเซเชฏเชพเช“ เช† เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเชจเชพ เชฏเซเชเชธเชฌเซ€ เชกเซเชฐเชพเช‡เชตเชฐเซ‹ เชธเชพเชฅเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชนเชคเซ€, เชคเซ‡เชฅเซ€ เชฎเซ‹เชกเซ‡เชฎเซเชธ เช† เชฌเซ‹เชฐเซเชก เชชเชฐ เช…เชชเซ‡เช•เซเชทเชพ เชฎเซเชœเชฌ เช•เชพเชฎ เช•เชฐเชคเชพ เชจเชฅเซ€. เชคเซ‡ เช–เซ‚เชฌ เชœ เชจเชฌเชณเชพ เช…เชจเซ‡ เช›เซ‚เชŸเชพเช›เชตเชพเชฏเชพ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹ เชชเชฃ เชงเชฐเชพเชตเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชฆเชฐเซ‡เช• เช“เชชเชฐเซ‡เชถเชจเชฎเชพเช‚ เชกเซ‹เช•เซเชธ เช–เซ‹เชฆเชตเชพเชฎเชพเช‚ เช˜เชฃเซ‹ เชธเชฎเชฏ เชฒเชพเช—เซเชฏเซ‹ เชนเชคเซ‹. GPIO เชธเชพเชฅเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เช•เชพเชฎ เชชเชฃ เช˜เชฃเซเช‚ เชฒเซ‹เชนเซ€ เชฒเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฎเชจเซ‡ LED เชธเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช˜เชฃเชพ เช•เชฒเชพเช•เซ‹ เชฒเชพเช—เซเชฏเชพ. เชชเชฐเช‚เชคเซ, เช‰เชฆเซเชฆเซ‡เชถเซเชฏ เชฌเชจเชตเชพ เชฎเชพเชŸเซ‡, เชคเซ‡ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชฎเชนเชคเซเชตเชจเซเช‚ เชจเชฅเซ€ เช•เซ‡ เชคเซ‡ เช•เชฏเชพ เชชเซเชฐเช•เชพเชฐเชจเซเช‚ เชธเชฟเช‚เช—เชฒ-เชฌเซ‹เชฐเซเชก เช›เซ‡, เชฎเซเช–เซเชฏ เชตเชธเซเชคเซ เช เชนเชคเซ€ เช•เซ‡ เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชฏเซเชเชธเชฌเซ€ เชชเซ‹เชฐเซเชŸ เชนเชคเชพ.

เชชเซเชฐเชฅเชฎ, เชฎเชพเชฐเซ‡ เช† เชฌเซ‹เชฐเซเชก เชชเชฐ Linux เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช•เซเชฐเชฎเชฎเชพเช‚ เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชจเซ€ เชœเช‚เช—เชฒเซ€ เช•เชธเซ‹เชŸเซ€ เชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชจเซ‡ เชคเซ‡ เชชเชฃ เชœเซ‡เช“ เช† เชธเชฟเช‚เช—เชฒ-เชฌเซ‹เชฐเซเชก เชธเชฟเชธเซเชŸเชฎ เชธเชพเชฅเซ‡ เชตเซเชฏเชตเชนเชพเชฐ เช•เชฐเชถเซ‡, เชนเซเช‚ เช† เชชเซเชฐเช•เชฐเชฃ เชฒเช–เซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚.

Linux เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเซ‡ เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡: เชฌเชพเชนเซเชฏ SD เช•เชพเชฐเซเชก เชชเชฐ เช…เชฅเชตเชพ เช†เช‚เชคเชฐเชฟเช• MMC เชชเชฐ. เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เช•เชพเชฐเซเชก เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชคเซ‡ เชถเซ‹เชงเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชตเชพเชฎเชพเช‚ เชเช• เชธเชพเช‚เชœ เชตเชฟเชคเชพเชตเซ€, เชคเซ‡เชฅเซ€ เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ MMC เชชเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚, เชœเซ‹ เช•เซ‡ เช•เซ‹เชˆ เชถเช‚เช•เชพ เชตเชฟเชจเชพ เชฌเชพเชนเซเชฏ เช•เชพเชฐเซเชก เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชตเชงเซ เชธเชฐเชณ เชนเชถเซ‡.

เชซเชฐเซเชฎเชตเซ‡เชฐ เชตเชฟเชถเซ‡ เช•เซเชŸเชฟเชฒ เชฐเซ€เชคเซ‡ เช…เชนเซ€เช‚ เช•เชนเซเชฏเซเช‚. เชนเซเช‚ เชตเชฟเชšเชฟเชคเซเชฐเชฎเชพเช‚เชฅเซ€ เชฐเชถเชฟเชฏเชจเชฎเชพเช‚ เช…เชจเซเชตเชพเชฆ เช•เชฐเซเช‚ เช›เซเช‚. เชฌเซ‹เชฐเซเชกเชจเซ‡ เชซเซเชฒเซ‡เชถ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฎเชพเชฐเซ‡ เชนเชพเชฐเซเชกเชตเซ‡เชฐ UART เชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชคเซ‡เชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซเชฏเซเช‚ เชจเซ€เชšเซ‡เชจเซ€ เชฐเซ€เชคเซ‡.

  • เชŸเซ‚เชฒ เชชเชฟเชจ GND: <โ€”> VIMs เชจเชพ GPIO เชจเซ‹ เชชเชฟเชจ17
  • เชŸเซ‚เชฒ เชชเชฟเชจ TXD: <โ€”> VIMs เชจเชพ GPIO (Linux_Rx) เชจเซ‹ เชชเชฟเชจ18
  • เชŸเซ‚เชฒ เชชเชฟเชจ RXD: <โ€”> VIMs เชจเชพ GPIO (Linux_Tx) เชจเซ‹ เชชเชฟเชจ19
  • เชŸเซ‚เชฒ เชชเชฟเชจ VCC: <โ€”> VIMs เชจเชพ GPIO เชจเซ‹ เชชเชฟเชจ20

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชคเซ‡ เชชเช›เซ€, เชฎเซ‡เช‚ เชซเชฐเซเชฎเชตเซ‡เชฐ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซเชฏเซเช‚ เช…เชนเซ€เช‚เชฅเซ€. เชšเซ‹เช•เซเช•เชธ เชซเชฐเซเชฎเชตเซ‡เชฐ เชธเช‚เชธเซเช•เชฐเชฃ VIM1_Ubuntu-server-bionic_Linux-4.9_arm64_EMMC_V20191231.

เช† เชซเชฐเซเชฎเชตเซ‡เชฐ เช…เชชเชฒเซ‹เชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฎเชจเซ‡ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เชตเชฟเชถเซ‡ เชตเชงเซ เชตเชฟเช—เชคเซ‹ เช…เชนเซ€เช‚. เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ Windows เชนเซ‡เช เชณ เชซเซเชฒเซ‡เชถ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชฎเชพเชฐเซ‡ เชคเชฎเชจเซ‡ Linux เชนเซ‡เช เชณ เชซเชฐเซเชฎเชตเซ‡เชฐ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเชพเช• เชถเชฌเซเชฆเซ‹ เช•เชนเซ‡เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชชเซเชฐเชฅเชฎ, เชนเซเช‚ เชธเซ‚เชšเชจเชพเช“ เช…เชจเซเชธเชพเชฐ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€เชถ.

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

Aaand... เช•เช‚เชˆ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เชฎเซ‡เช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซเชธเชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เชฅเซ‹เชกเชพ เช•เชฒเชพเช•เซ‹ เช—เชพเชณเซเชฏเชพ เชœเซ‡เชฅเซ€ เชฌเชงเซเช‚ เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เชฅเชˆ เชถเช•เซ‡. เชฎเชจเซ‡ เชฏเชพเชฆ เชจเชฅเซ€ เช•เซ‡ เชฎเซ‡เช‚ เชคเซเชฏเชพเช‚ เชถเซเช‚ เช•เชฐเซเชฏเซเช‚, เชชเชฃ เชคเซเชฏเชพเช‚ เช˜เซ‹เชกเชพเช“ เชธเชพเชฅเซ‡เชจเซเช‚ เชธเชฐเซเช•เชธ เชชเชฃ เชนเชคเซเช‚. เชคเซ‡เชฅเซ€ เชธเชพเชตเชšเซ‡เชค เชฐเชนเซ‹. เชชเชฐเช‚เชคเซ เช† เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“ เชตเชฟเชจเชพ vim2 เชจเซ‡ เชตเชงเซ เชคเซเชฐเชพเชธ เช†เชชเชตเชพเชจเซ‹ เช•เซ‹เชˆ เช…เชฐเซเชฅ เชจเชฅเซ€. เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชฌเชฟเชฒเช•เซเชฒ เช—เชกเชฌเชก เชจ เช•เชฐเชตเซ€ เชคเซ‡ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡!

เชจเชฐเช•เชจเชพ เชธเชพเชค เชตเชฐเซเชคเซเชณเซ‹, เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช—เซ‹เช เชตเชฃเซ€ เช…เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชชเช›เซ€, เชฎเชจเซ‡ เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“เชจเซเช‚ เชชเซ‡เช•เซ‡เชœ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซเช‚. เชฎเซ‡เช‚ เชฌเซ‹เชฐเซเชกเชจเซ‡ เชฎเชพเชฐเชพ Linux เช•เซ‹เชฎเซเชชเซเชฏเซเชŸเชฐ เชธเชพเชฅเซ‡ USB เชฎเชพเชฐเชซเชคเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซเชฏเซเช‚, เช…เชจเซ‡ เช‰เชชเชฐเชจเชพ เชšเชฟเชคเซเชฐ เช…เชจเซเชธเชพเชฐ UART เชจเซ‡ เชชเชฃ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซเชฏเซเช‚.
เชนเซเช‚ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เช…เชจเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชเชฐเชฐ เช•เช‚เชŸเซเชฐเซ‹เชฒ เชตเชฟเชจเชพ, 115200 เชจเซ€ เชเชกเชชเซ‡ เชฎเชพเชฐเชพ เชฎเชจเชชเชธเช‚เชฆ เชฎเชฟเชจเซ€เช•เซ‹เชฎ เชŸเชฐเซเชฎเชฟเชจเชฒเชจเซ‡ เช—เซ‹เช เชตเซเช‚ เช›เซเช‚. เช…เชจเซ‡ เชšเชพเชฒเซ‹ เชถเชฐเซ‚ เช•เชฐเซ€เช.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

UART เชŸเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช‚ VIM2 เชฒเซ‹เชก เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชนเซเช‚ เชฒเซ‹เชก เช•เชฐเชตเชพเชจเซเช‚ เชฌเช‚เชง เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชชเซ‡เชธ เชœเซ‡เชตเซ€ เช•เซ€ เชฆเชฌเชพเชตเซเช‚ เช›เซเช‚. เชฒเซ€เชŸเซ€ เชฆเซ‡เช–เชพเชฏ เชชเช›เซ€

kvim2# 

เชนเซเช‚ เช†เชฆเซ‡เชถ เชฆเชพเช–เชฒ เช•เชฐเซเช‚ เช›เซเช‚:

kvim2# run update

เช…เชฎเซ‡ เชœเซ‡ เชนเซ‹เชธเซเชŸเชฎเชพเช‚เชฅเซ€ เชฒเซ‹เชก เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เชคเซ‡เชจเชพ เชชเชฐ, เชนเซเช‚ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซเช‚ เช›เซเช‚:

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

เชฌเชธ, เชซเชซ. เชฎเซ‡เช‚ เชšเซ‡เช• เช•เชฐเซเชฏเซเช‚, เชฌเซ‹เชฐเซเชก เชชเชฐ เชฒเชฟเชจเช•เซเชธ เช›เซ‡. เชฒเซ‹เช—เชฟเชจ/เชชเชพเชธเชตเชฐเซเชก 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

เชœเซ‹ เชคเชฎเชจเซ‡ เชคเซ‡ เชฎเซเชถเซเช•เซ‡เชฒ เชฒเชพเช—เซ‡ เช›เซ‡, เชคเซ‹ เชชเช›เซ€ เช† เชฌเซ‹เชฐเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚; เชฐเชพเชธเซเชชเชฌเซ‡เชฐเซ€ เชชเชพเช‡ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡. เชชเซเชฐเชพเชฎเชพเชฃเชฟเช•เชชเชฃเซ‡.

เชฎเซ‹เชกเซ‡เชฎ Huawei e3372h โ€“ 153

เช† เชฎเซ‹เชกเซ‡เชฎ เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฒเซ‹เชนเซ€เชจเซ‹ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชธเซเชคเซเชฐเซ‹เชค เชนเชคเซ‹, เช…เชจเซ‡ เชนเช•เซ€เช•เชคเชฎเชพเช‚, เชคเซ‡ เชธเชฎเช—เซเชฐ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เช…เชกเชšเชฃ เชฌเชจเซ€ เช—เชฏเซเช‚ เชนเชคเซเช‚. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เช† เช‰เชชเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡เชจเซเช‚ เชจเชพเชฎ "เชฎเซ‹เชกเซ‡เชฎ" เช•เชพเชฎเชจเชพ เชธเชพเชฐเชจเซ‡ เชฌเชฟเชฒเช•เซเชฒ เชชเซเชฐเชคเชฟเชฌเชฟเช‚เชฌเชฟเชค เช•เชฐเชคเซเช‚ เชจเชฅเซ€: เช† เชเช• เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เชธเช‚เชฏเซ‹เชœเชจ เช›เซ‡, เชนเชพเชฐเซเชกเชตเซ‡เชฐเชจเชพ เช† เชญเชพเช—เชฎเชพเช‚ เชเช• เชธเช‚เชฏเซเช•เซเชค เช‰เชชเช•เชฐเชฃ เช›เซ‡ เชœเซ‡ เชกเซเชฐเชพเช‡เชตเชฐเซ‹เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ CD-ROM เชนเซ‹เชตเชพเชจเซ‹ เชกเซ‹เชณ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชชเช›เซ€ เชจเซ‡เชŸเชตเชฐเซเช• เช•เชพเชฐเซเชก เชฎเซ‹เชก เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเซ‡ เช›เซ‡.

เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชฒเซ€, Linux เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเชพ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€, เชฌเชงเซ€ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชชเช›เซ€, เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡: เชฎเซ‹เชกเซ‡เชฎเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ eth* เชจเซ‡เชŸเชตเชฐเซเช• เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เช›เซ‡, เชœเซ‡ dhcp เชฆเซเชตเชพเชฐเชพ IP เชธเชฐเชจเชพเชฎเซเช‚ 192.168.8.100 เช…เชจเซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เช—เซ‡เชŸเชตเซ‡ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡. 192.168.8.1 เช›เซ‡.

เช…เชจเซ‡ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช•เซเชทเชฃ! เช† เชฎเซ‹เชกเซ‡เชฎ เชฎเซ‹เชกเชฒ เชฎเซ‹เชกเซ‡เชฎ เชฎเซ‹เชกเชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€, เชœเซ‡ AT เช†เชฆเซ‡เชถเซ‹ เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เชฅเชพเชฏ เช›เซ‡. เชฌเชงเซเช‚ เช˜เชฃเซเช‚ เชธเชฐเชณ เชนเชถเซ‡, เชฆเชฐเซ‡เช• เชฎเซ‹เชกเซ‡เชฎ เชฎเชพเชŸเซ‡ PPP เช•เชจเซ‡เช•เซเชถเชจเซเชธ เชฌเชจเชพเชตเซ‹ เช…เชจเซ‡ เชชเช›เซ€ เชคเซ‡เชฎเชจเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‹. เชชเชฐเช‚เชคเซ เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, "เชชเซ‹เชคเซ‡" (เชตเชงเซ เชธเซเชชเชทเซเชŸ เชฐเซ€เชคเซ‡, udev เชจเชฟเชฏเชฎเซ‹ เช…เชจเซเชธเชพเชฐ Linux เชกเชพเช‡เชตเชฐ), eth เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ dhcp เชฆเซเชตเชพเชฐเชพ เชคเซ‡เชจเซ‡ IP เชธเชฐเชจเชพเชฎเซเช‚ เชธเซ‹เช‚เชชเซ‡ เช›เซ‡.

เชตเชงเซ เชฎเซ‚เช‚เชเชตเชฃ เชŸเชพเชณเชตเชพ เชฎเชพเชŸเซ‡, เชนเซเช‚ "เชฎเซ‹เชกเซ‡เชฎ" เชถเชฌเซเชฆ เชญเซ‚เชฒเซ€ เชœเชตเชพ เช…เชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เช•เชพเชฐเซเชก เช…เชจเซ‡ เช—เซ‡เชŸเชตเซ‡ เช•เชนเซ‡เชตเชพเชจเซเช‚ เชธเซ‚เชšเชจ เช•เชฐเซเช‚ เช›เซเช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชธเชพเชฐเชฎเชพเช‚, เชคเซ‡ เชจเชตเชพ เชจเซ‡เชŸเชตเชฐเซเช• เช•เชพเชฐเซเชกเชจเซ‡ เช—เซ‡เชŸเชตเซ‡ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชตเชพ เชœเซ‡เชตเซเช‚ เช›เซ‡.
เชœเซเชฏเชพเชฐเซ‡ เชเช• เชฎเซ‹เชกเซ‡เชฎ เชนเซ‹เชฏ, เชคเซเชฏเชพเชฐเซ‡ เช† เช•เซ‹เชˆ เช–เชพเชธ เชธเชฎเชธเซเชฏเชพเช“เชจเซเช‚ เช•เชพเชฐเชฃ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ เชเช• เช•เชฐเชคเชพเช‚ เชตเชงเซ เชนเซ‹เชฏ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡ n-เชชเซ€เชธ, เชคเซเชฏเชพเชฐเซ‡ เชจเซ€เชšเซ‡เชจเซเช‚ เชจเซ‡เชŸเชตเชฐเซเช• เชšเชฟเชคเซเชฐ เชŠเชญเซเช‚ เชฅเชพเชฏ เช›เซ‡.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชเชŸเชฒเซ‡ เช•เซ‡, n เชจเซ‡เชŸเชตเชฐเซเช• เช•เชพเชฐเซเชกเซเชธ, เชธเชฎเชพเชจ IP เชธเชฐเชจเชพเชฎเชพ เชธเชพเชฅเซ‡, เชฆเชฐเซ‡เช• เชธเชฎเชพเชจ เชกเชฟเชซเซ‹เชฒเซเชŸ เช—เซ‡เชŸเชตเซ‡ เชธเชพเชฅเซ‡. เชชเชฐเช‚เชคเซ เชนเช•เซ€เช•เชคเชฎเชพเช‚, เชคเซ‡เชฎเชพเช‚เชจเชพ เชฆเชฐเซ‡เช• เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เช“เชชเชฐเซ‡เชŸเชฐ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเชพ เช›เซ‡.

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เชธเชฐเชณ เช‰เช•เซ‡เชฒ เชนเชคเซ‹: ifconfig เช…เชฅเชตเชพ ip เช•เชฎเชพเชจเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชฌเชงเชพ เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‡ เชฌเช‚เชง เช•เชฐเซ‹ เช…เชจเซ‡ เชฌเชฆเชฒเชพเชฎเชพเช‚ เชเช•เชจเซ‡ เชšเชพเชฒเซ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ‹. เชธเซ‹เชฒเซเชฏเซเชถเชจ เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เชธเชพเชฐเซเช‚ เชนเชคเซเช‚, เชธเชฟเชตเชพเชฏ เช•เซ‡ เชธเซเชตเชฟเชšเชฟเช‚เช— เช•เซเชทเชฃเซ‹ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชนเซเช‚ เช‰เชชเช•เชฐเชฃ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชจ เชนเชคเซ‹. เช…เชจเซ‡ เชธเซเชตเชฟเชšเชฟเช‚เช— เชตเชพเชฐเช‚เชตเชพเชฐ เช…เชจเซ‡ เชเชกเชชเซ€ เชนเซ‹เชตเชพเชฅเซ€, เชฎเชจเซ‡ เช–เชฐเซ‡เช–เชฐ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซ€ เช•เซ‹เชˆ เชคเช• เชจเชนเซ‹เชคเซ€.

เชคเซ‡เชฅเซ€, เชฎเซ‡เช‚ เชฎเซ‹เชกเซ‡เชฎเชจเชพ IP เชธเชฐเชจเชพเชฎเชพเช‚เชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชฌเชฆเชฒเชตเชพ เช…เชจเซ‡ เชชเช›เซ€ เชฐเซ‚เชŸเซ€เช‚เช— เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชŸเซเชฐเชพเชซเชฟเช• เชšเชฒเชพเชตเชตเชพเชจเซ‹ เชฎเชพเชฐเซเช— เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซ‹.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชฎเซ‹เชกเซ‡เชฎเซเชธ เชธเชพเชฅเซ‡เชจเซ€ เชฎเชพเชฐเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‹ เช† เช…เช‚เชค เชจ เชนเชคเซ‹: เชชเชพเชตเชฐ เชธเชฎเชธเซเชฏเชพเช“เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเซ‡เช“ เชชเชกเซ€ เช—เชฏเชพ, เช…เชจเซ‡ เชฏเซเชเชธเชฌเซ€ เชนเชฌเชจเซ‡ เชธเชพเชฐเซ‹ เชธเซเชฅเชฟเชฐ เชตเซ€เชœ เชชเซเชฐเชตเช เซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเชคเซ‹. เชฎเซ‡เช‚ เชชเชพเชตเชฐเชจเซ‡ เชธเซ€เชงเชพ เชนเชฌ เชชเชฐ เชธเช–เชค เชธเซ‹เชฒเซเชกเชฐ เช•เชฐเซ€เชจเซ‡ เช† เชธเชฎเชธเซเชฏเชพ เชนเชฒ เช•เชฐเซ€. เชฌเซ€เชœเซ€ เชธเชฎเชธเซเชฏเชพ เชœเซ‡เชจเซ‹ เชฎเชจเซ‡ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเซ‹ เชชเชกเซเชฏเซ‹ เช…เชจเซ‡ เชœเซ‡เชฃเซ‡ เชธเชฎเช—เซเชฐ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เชฌเชฐเชฌเชพเชฆ เช•เชฐเซเชฏเซ‹: เช‰เชชเช•เชฐเชฃเชจเชพ เชฐเซ€เชฌเซ‚เชŸ เช…เชฅเชตเชพ เช•เซ‹เชฒเซเชก เชธเซเชŸเชพเชฐเซเชŸ เชชเช›เซ€, เชฌเชงเชพ เชฎเซ‹เชกเซ‡เชฎเซเชธ เชถเซ‹เชงเชพเชฏเชพ เชจ เชนเชคเชพ เช…เชจเซ‡ เชนเช‚เชฎเซ‡เชถเชพ เชจเชนเซ€เช‚, เช…เชจเซ‡ เชนเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซ€ เชถเช•เซเชฏเซ‹ เชจเชนเซ€เช‚ เช•เซ‡ เช†เชตเซเช‚ เชถเชพ เชฎเชพเชŸเซ‡ เชฅเชฏเซเช‚ เช…เชจเซ‡ เช•เชฏเชพ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชฆเซเชตเชพเชฐเชพ. เชชเชฐเช‚เชคเซ เชชเซเชฐเชฅเชฎ เชตเชธเซเชคเซเช“ เชชเซเชฐเชฅเชฎ.

เชฎเซ‹เชกเซ‡เชฎ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เชคเซ‡ เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ usb-modeswitch เชชเซ‡เช•เซ‡เชœ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเชฏเซเช‚ เช›เซ‡.

sudo apt update
sudo apt install -y usb-modeswitch

เชœเซ‡ เชชเช›เซ€, เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชฎเซ‹เชกเซ‡เชฎ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชถเซ‹เชงเซ€ เช•เชพเชขเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เช…เชจเซ‡ udev เชธเชฌเชธเชฟเชธเซเชŸเชฎ เชฆเซเชตเชพเชฐเชพ เช—เซ‹เช เชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชนเซเช‚ เชซเช•เซเชค เชฎเซ‹เชกเซ‡เชฎเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เชฆเซ‡เช–เชพเชฏ เช›เซ‡ เชคเซ‡เชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเซ€เชจเซ‡ เชคเชชเชพเชธ เช•เชฐเซเช‚ เช›เซเช‚.
เชฌเซ€เชœเซ€ เชธเชฎเชธเซเชฏเชพ เช•เซ‡ เชœเซ‡ เชนเซเช‚ เชนเชฒ เช•เชฐเซ€ เชถเช•เซเชฏเซ‹ เชจเชฅเซ€: เช† เชฎเซ‹เชกเซ‡เชฎเชฎเชพเช‚เชฅเซ€ เช†เชชเชฃเซ‡ เชœเซ‡ เช“เชชเชฐเซ‡เชŸเชฐ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เชคเซ‡เชจเซเช‚ เชจเชพเชฎ เชนเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฎเซ‡เชณเชตเซ€ เชถเช•เซเช‚? เช“เชชเชฐเซ‡เชŸเชฐเชจเซเช‚ เชจเชพเชฎ เชฎเซ‹เชกเซ‡เชฎ เชตเซ‡เชฌ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชฎเชพเช‚ 192.168.8.1 เชชเชฐ เชธเชฎเชพเชฏเซ‡เชฒ เช›เซ‡. เช† เชเช• เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชตเซ‡เชฌ เชชเซ‡เชœ เช›เซ‡ เชœเซ‡ Ajax เชตเชฟเชจเช‚เชคเซ€เช“ เชฆเซเชตเชพเชฐเชพ เชกเซ‡เชŸเชพ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชซเช•เซเชค เชชเซƒเชทเซเช เชจเซ‡ เชตเซ‡เช—เซ‡เชŸ เช•เชฐเชตเซเช‚ เช…เชจเซ‡ เชจเชพเชฎเชจเซเช‚ เชชเชฆเชšเซเช›เซ‡เชฆเชจ เช•เชพเชฎ เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚. เชคเซ‡เชฅเซ€ เชฎเซ‡เช‚ เชตเซ‡เชฌ เชชเซ‡เชœ เชตเช—เซ‡เชฐเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชตเชฟเช•เชธเชพเชตเชตเซเช‚ เชคเซ‡ เชœเซ‹เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚, เช…เชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชนเซเช‚ เช•เซ‹เชˆ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชฌเช•เชตเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚. เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชคเซ‡ เชฅเซ‚เช‚เช•เซเชฏเซ‹, เช…เชจเซ‡ เช“เชชเชฐเซ‡เชŸเชฐเซ‡ เชธเซเชชเซ€เชกเชŸเซ‡เชธเซเชŸ API เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚.

เชœเซ‹ เชฎเซ‹เชกเซ‡เชฎเชจเซ‡ AT เช†เชฆเซ‡เชถเซ‹ เชฆเซเชตเชพเชฐเชพ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซ‹ เช˜เชฃเซเช‚ เชธเชฐเชณ เชนเชถเซ‡. เชคเซ‡เชจเซ‡ เชชเซเชจเชƒเชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเชตเซเช‚, ppp เช•เชจเซ‡เช•เซเชถเชจ เชฌเชจเชพเชตเชตเซเช‚, IP เชธเซ‹เช‚เชชเชตเซเช‚, เชŸเซ‡เชฒเชฟเช•เซ‹เชฎ เช“เชชเชฐเซ‡เชŸเชฐ เชฎเซ‡เชณเชตเชตเซเช‚ เชตเช—เซ‡เชฐเซ‡ เชถเช•เซเชฏ เชฌเชจเชถเซ‡. เชชเชฐเช‚เชคเซ เช…เชซเชธเซ‹เชธ, เชฎเชจเซ‡ เชœเซ‡ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชนเซเช‚ เช•เชพเชฎ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚.

เชœเซ€เชชเซ€เชเชธ

เชฎเชจเซ‡ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ GPS เชฐเซ€เชธเซ€เชตเชฐ UART เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เช…เชจเซ‡ เชชเชพเชตเชฐ เชงเชฐเชพเชตเซ‡ เช›เซ‡. เชคเซ‡ เชถเซเชฐเซ‡เชทเซเช  เช‰เช•เซ‡เชฒ เชจ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡ เชนเชœเซ เชชเชฃ เชตเซเชฏเชตเชนเชพเชฐเซ เช…เชจเซ‡ เชธเชฐเชณ เชนเชคเซเช‚. เชฐเซ€เชธเซ€เชตเชฐ เช•เช‚เชˆเช• เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชคเซเช‚ เชนเชคเซเช‚.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชธเชพเชšเซเช‚ เช•เชนเซเช‚ เชคเซ‹, เชœเซ€เชชเซ€เชเชธ เชฐเซ€เชธเซ€เชตเชฐ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เช† เชฎเชพเชฐเซ€ เชชเซเชฐเชฅเชฎ เชตเช–เชค เชนเชคเซ€, เชชเชฐเช‚เชคเซ เชฎเชพเชฐเซ€ เช…เชชเซ‡เช•เซเชทเชพ เชฎเซเชœเชฌ, เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฌเชงเซเช‚ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏ เชชเชนเซ‡เชฒเชพ เชตเชฟเชšเชพเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชซเช•เซเชค เชคเซˆเชฏเชพเชฐ เช‰เช•เซ‡เชฒเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช.

เชชเซเชฐเชฅเชฎ, เชนเซเช‚ 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

เช† เช†เชฆเซ‡เชถ เชฆเซ‡เช–เซ€เชคเซ€ เชฐเซ€เชคเซ‡ เชซเซเชฒเชพเชฏ เชชเชฐเชจเชพ เชฆเซ‡เชตเชŸเซเชฐเซ€เชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เช–เซ‚เชฌ เช…เชจเซเช•เซ‚เชณ เช›เซ‡.

เช† เช“เชชเชฐเซ‡เชถเชจเชจเซ€ เชธเชซเชณเชคเชพ เชชเช›เซ€, เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเซ‹ เช…เชจเซ‡ GPS เชกเชฟเชฎเชจ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹.

khadas@Khadas:~$ sudo reboot

เชœเซ€เชชเซ€เชเชธ เชกเชฟเชฎเชจ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡. เชนเซเช‚ เชฌเชงเซเช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเช‚ เช›เซเช‚ เช…เชจเซ‡ เชตเชงเซ เช—เซ‹เช เชตเชฃเซ€ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‡ เชคเชฐเชค เชœ เช•เชพเชชเซ€ เชจเชพเช–เซเช‚ เช›เซเช‚.

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

เชนเซเช‚ เชเช• UART เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚ เชœเซ‡เชจเชพ เชชเชฐ GPS เช…เชŸเช•เซ€ เชœเชถเซ‡.

DEVICES="/dev/ttyS4"

เช…เชจเซ‡ เชชเช›เซ€ เช…เชฎเซ‡ เชฌเชงเซเช‚ เชšเชพเชฒเซ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชถเชฐเซ‚ เช•เชฐเซ€เช เช›เซ€เช.

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

เชคเซ‡ เชชเช›เซ€, เชนเซเช‚ เชœเซ€เชชเซ€เชเชธเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซเช‚ เช›เซเช‚.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชœเซ€เชชเซ€เชเชธ เชตเชพเชฏเชฐ เชฎเชพเชฐเชพ เชนเชพเชฅเชฎเชพเช‚ เช›เซ‡, UART เชกเซ€เชฌเช—เชฐ เชตเชพเชฏเชฐ เชฎเชพเชฐเซ€ เช†เช‚เช—เชณเซ€เช“ เชจเซ€เชšเซ‡ เชฆเซ‡เช–เชพเชฏ เช›เซ‡.

เชนเซเช‚ เชœเซ€เชชเซ€เชเชธเชฎเซ‹เชจ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเซ€เชชเซ€เชเชธ เช“เชชเชฐเซ‡เชถเชจเชจเซ‡ เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเซเช‚ เช›เซเช‚ เช…เชจเซ‡ เชคเชชเชพเชธเซเช‚ เช›เซเช‚.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชคเชฎเซ‡ เช† เชธเซเช•เซเชฐเซ€เชจเชถเซ‹เชŸเชฎเชพเช‚ เช‰เชชเช—เซเชฐเชนเซ‹ เชœเซ‹เชˆ เชถเช•เชคเชพ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ GPS เชฐเซ€เชธเซ€เชตเชฐ เชธเชพเชฅเซ‡ เชธเช‚เชšเชพเชฐ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, เช…เชจเซ‡ เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เชฌเชงเซเช‚ เชฌเชฐเชพเชฌเชฐ เช›เซ‡.

เช…เชœเช—เชฐเชฎเชพเช‚, เชฎเซ‡เช‚ เช† เชกเชฟเชฎเชจ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เช…เชœเชฎเชพเชตเซเชฏเชพ, เชชเชฐเช‚เชคเซ เชฎเซ‡เช‚ เชชเชพเชฏเชฅเซ‹เชจ 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 เชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชถเซ‡, เชคเซ‡เชจเซ‡ เช…เชฒเช— เชฅเซเชฐเซ‡เชกเชฎเชพเช‚ เชชเชพเชฐเซเชธ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‹. เชชเชฐเช‚เชคเซ เชคเซเชฏเชพเช‚ เชฌเชฟเชฒเช•เซเชฒ เชธเชฎเชฏ เชจ เชนเชคเซ‹, เชคเซ‡เชฅเซ€ เชจเชฟเชฐเซเชฆเชฏเชคเชพเชฅเซ€ เชจเซ€เชš เช•เซ‹เชก. เช…เชจเซ‡ เชนเชพ, เชฎเชจเซ‡ เชถเชฐเชฎ เชจเชฅเซ€ เช†เชตเชคเซ€.

เชเชฒเช‡เชกเซ€

LED เชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเซเช‚ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เชธเชฐเชณ เช…เชจเซ‡ เชฎเซเชถเซเช•เซ‡เชฒ เชนเชคเซเช‚. เชฎเซเช–เซเชฏ เชฎเซเชถเซเช•เซ‡เชฒเซ€ เช เช›เซ‡ เช•เซ‡ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชชเชฟเชจ เชจเช‚เชฌเชฐ เชฌเซ‹เชฐเซเชก เชชเชฐเชจเชพ เชชเชฟเชจ เชจเช‚เชฌเชฐเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชจเชฅเซ€ เช…เชจเซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชกเชพเชฌเชพ เชนเชพเชฅเชฅเซ€ เชฒเช–เชพเชฏเซ‡เชฒเซเช‚ เช›เซ‡. OS เชฎเชพเช‚ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชชเชฟเชจ เชจเช‚เชฌเชฐ เช…เชจเซ‡ เชชเชฟเชจ เชจเช‚เชฌเชฐเชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

gpio readall

เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เช…เชจเซ‡ เชฌเซ‹เชฐเซเชก เชชเชฐ เชชเชฟเชจ เชชเชคเซเชฐเชตเซเชฏเชตเชนเชพเชฐเชจเซเช‚ เชŸเซ‡เชฌเชฒ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชœเซ‡ เชชเช›เซ€ เชนเซเช‚ OS เชฎเชพเช‚ เชœ เชชเชฟเชจ เช“เชชเชฐเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซเช‚ เช›เซเช‚. เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชเชฒเช‡เชกเซ€ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เช›เซ‡ 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 เชธเซเช‚เชฆเชฐ เชฐเซ€เชคเซ‡ เชเชฌเช•เชถเซ‡.

เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชจเซ‹เชกเซเชธ

เชธเซเชชเซ€เชกเชŸเซ‡เชธเซเชŸ API

เชคเซ‡ เช–เซ‚เชฌ เชœ เช†เชจเช‚เชฆเชจเซ€ เชตเชพเชค เช›เซ‡ เช•เซ‡ speedtest.net เชธเซ‡เชตเชพเชจเซ€ เชชเซ‹เชคเชพเชจเซ€ python-API เช›เซ‡, เชคเชฎเซ‡ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ Github.

เชธเชพเชฐเซ€ เชตเชพเชค เช เช›เซ‡ เช•เซ‡ เชคเซเชฏเชพเช‚ เชธเซ‹เชฐเซเชธ เช•เซ‹เชกเซเชธ เชชเชฃ เช›เซ‡ เชœเซ‡ เชœเซ‹เชˆ เชถเช•เชพเชฏ เช›เซ‡. เช† API เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ (เชธเชฐเชณ เช‰เชฆเชพเชนเชฐเชฃเซ‹) เชฎเชพเช‚ เชถเซ‹เชงเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชตเชฟเชญเชพเช—.

เชนเซเช‚ เชจเซ€เชšเซ‡เชจเชพ เช†เชฆเซ‡เชถ เชธเชพเชฅเซ‡ เชชเชพเชฏเชฅเซ‹เชจ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเช‚ เช›เซเช‚.

sudo -H pip3 install speedtest-cli

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ เชธเซ€เชงเชพ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐเชฎเชพเช‚เชฅเซ€ เช‰เชฌเซเชจเซเชŸเซเชฎเชพเช‚ เชธเซเชชเซ€เชก เชŸเซ‡เชธเซเชŸเชฐ เชชเชฃ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช† เช เชœ เชชเชพเชฏเชฅเซ‹เชจ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช›เซ‡, เชœเซ‡ เชชเช›เซ€ เช•เชจเซเชธเซ‹เชฒเชฅเซ€ เชธเซ€เชงเชพ เชœ เชฒเซ‹เชจเซเชš เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

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"
#ั‚ัƒั‚ ะธะดะตั‚ ะทะฐะฟะธััŒ ะฒ ั„ะฐะนะป ะปะพะณะพะฒ

เช…เชนเซ€เช‚ เชชเชฃ, เชฌเชงเซเช‚ เชเชŸเชฒเซเช‚ เชธเชฐเชณ เชจ เชนเซ‹เชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‹ เช•เซ‡ เชคเซ‡ เช–เซ‚เชฌ เชธเชฐเชณ เชฒเชพเช—เชถเซ‡. เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เชธเชฐเซเชตเชฐ เชชเชฐเชฟเชฎเชพเชฃ เชธเชฎเชพเชจ เชนเชคเซเช‚ [], เชคเซ‡เช“ เช•เชนเซ‡ เช›เซ‡, เชถเซเชฐเซ‡เชทเซเช  เชธเชฐเซเชตเชฐ เชชเชธเช‚เชฆ เช•เชฐเซ‹. เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฐเซ‡เชจเซเชกเชฎ เชธเชฐเซเชตเชฐเซเชธ เชนเชคเชพ, เช…เชจเซ‡ เชคเชฎเซ‡ เชงเชพเชฐเซ€ เชถเช•เซ‹ เชคเซ‡เชฎ, เชšเชฒ เชเชกเชช. เช† เชเช•เชฆเชฎ เชœเชŸเชฟเชฒ เชตเชฟเชทเชฏ เช›เซ‡, เชจเชฟเชถเซเชšเชฟเชค เชธเชฐเซเชตเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชœเซ‹ เชเชฎ เชนเซ‹เชฏ เชคเซ‹, เชธเซเชฅเชฟเชฐ เช…เชฅเชตเชพ เช—เชคเชฟเชถเซ€เชฒ, เชธเช‚เชถเซ‹เชงเชจเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชชเชฐเช‚เชคเซ เชŸเซ‡เชธเซเชŸ เชธเชฐเซเชตเชฐ เช…เชจเซ‡ เชธเซเชŸเซ‡เชŸเชฟเช•เชฒเซ€ เชซเชฟเช•เซเชธเซเชกเชจเซ‡ เชกเชพเชฏเชจเซ‡เชฎเชฟเช•เชฒเซ€ เชชเชธเช‚เชฆ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชฌเซ€เชฒเชพเช‡เชจ เช“เชชเชฐเซ‡เชŸเชฐ เชฎเชพเชŸเซ‡ เชธเซเชชเซ€เชก เชฎเชพเชชเชจ เช—เซเชฐเชพเชซเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช…เชนเซ€เช‚ เช›เซ‡.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ
เช—เชคเชฟเชถเซ€เชฒ เชธเชฐเซเชตเชฐ เชชเชธเช‚เชฆ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชเชกเชช เชฎเชพเชชเชตเชพเชจเซเช‚ เชชเชฐเชฟเชฃเชพเชฎ.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ
เชธเซเชชเซ€เชก เชŸเซ‡เชธเซเชŸเชฟเช‚เช—เชจเซเช‚ เชชเชฐเชฟเชฃเชพเชฎ, เชธเช–เชค เชฐเซ€เชคเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชเช• เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡.

เชชเชฐเซ€เช•เซเชทเชฃ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชฌเช‚เชจเซ‡ เชœเช—เซเชฏเชพเช "เชซเชฐ" เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช—เชพเชฃเชฟเชคเชฟเช• เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชชเชฐเช‚เชคเซ เชจเชฟเชถเซเชšเชฟเชค เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡ เชคเซ‡ เชฅเซ‹เชกเซเช‚ เช“เช›เซเช‚ เช›เซ‡ เช…เชจเซ‡ เช•เช‚เชชเชจเชตเชฟเชธเซเชคเชพเชฐ เชตเชงเซ เชธเซเชฅเชฟเชฐ เช›เซ‡.
เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เช† เชเช• เชฎเชนเชพเชจ เชธเช‚เชถเซ‹เชงเชจเชจเซเช‚ เชธเซเชฅเชณ เช›เซ‡. เช…เชจเซ‡ เชนเซเช‚ iperf เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฎเชพเชฐเชพ เชธเชฐเซเชตเชฐเชจเซ€ เชเชกเชชเชจเซ‡ เชฎเชพเชชเซ€เชถ. เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ เชคเช•เชจเซ€เช•เซ€ เชฒเชพเช•เซเชทเชฃเชฟเช•เชคเชพเช“เชจเซ‡ เชตเชณเช—เซ€ เชฐเชนเซ€เช เช›เซ€เช.

เชฎเซ‡เช‡เชฒ เช…เชจเซ‡ เชญเซ‚เชฒเซ‹ เชฎเซ‹เช•เชฒเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เชฎเซ‡เช‡เชฒ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ เช˜เชฃเชพ เชกเชเชจ เชตเชฟเชตเชฟเชง เชตเชฟเช•เชฒเซเชชเซ‹ เช…เชœเชฎเชพเชตเซเชฏเชพ, เชชเชฐเช‚เชคเซ เช…เช‚เชคเซ‡ เชฎเซ‡เช‚ เชจเซ€เชšเซ‡เชจเชพ เชชเชฐ เชธเซเชฅเชพเชฏเซ€ เชฅเชฏเชพ. เชฎเซ‡เช‚ เชฏเชพเชจเซเชกเซ‡เช•เซเชท เชชเชฐ เชฎเซ‡เช‡เชฒเชฌเซ‹เช•เซเชธ เชฐเชœเซ€เชธเซเชŸเชฐ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ เชชเช›เซ€ เชฒเซ€เชงเซเช‚ เช† เชฎเซ‡เชฒ เชฎเซ‹เช•เชฒเชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡. เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เชคเชชเชพเชธเซเชฏเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฎเชพเช‚ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซเชฏเซเช‚. เช† เช‰เชฆเชพเชนเชฐเชฃ gmail เชฎเชพเช‚เชฅเซ€ เชฎเซ‹เช•เชฒเชตเชพ เชตเช—เซ‡เชฐเซ‡ เชธเชนเชฟเชค เชตเชฟเชตเชฟเชง เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ€ เชคเชชเชพเชธ เช•เชฐเซ‡ เช›เซ‡. เชนเซเช‚ เชฎเชพเชฐเชพ เชฎเซ‡เช‡เชฒ เชธเชฐเซเชตเชฐเชจเซ‡ เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเซ‡เชถเชพเชจ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชจ เชนเชคเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชฏ เชจเชนเซ‹เชคเซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡ เชชเช›เซ€เชฅเซ€ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เชคเซ‡เชฎ, เชคเซ‡ เชชเชฃ เชจเชฟเชฐเชฐเซเชฅเช• เชนเชคเซเช‚.

เชฒเซ‰เช—เซเชธ เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐ เช…เชจเซเชธเชพเชฐ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ, เชœเซ‹ เชคเซเชฏเชพเช‚ เชœเซ‹เชกเชพเชฃ เช›เซ‡, เชฆเชฐ 6 เช•เชฒเชพเช•เซ‡: เชธเชตเชพเชฐเซ‡ 00 เชตเชพเช—เซเชฏเซ‡, 06 เชตเชพเช—เซเชฏเซ‡, เชฌเชชเซ‹เชฐเซ‡ 12 เชตเชพเช—เซเชฏเซ‡ เช…เชจเซ‡ เชฐเชพเชคเซเชฐเซ‡ 18 เชตเชพเช—เซเชฏเซ‡. เชจเซ€เชšเซ‡ เชชเซเชฐเชฎเชพเชฃเซ‡ เชฎเซ‹เช•เชฒเซเชฏเซ‹.

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

เชญเซ‚เชฒเซ‹ เชชเชฃ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเซ‡เช“ เชธเซ‚เชšเชฟเชฎเชพเช‚ เชธเช‚เชšเชฟเชค เชฅเชฏเชพ เชนเชคเชพ, เช…เชจเซ‡ เชชเช›เซ€ เชœเซ‹ เช•เซ‹เชˆ เช•เชจเซ‡เช•เซเชถเชจ เชนเซ‹เชฏ เชคเซ‹ เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเชฃ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ. เชœเซ‹ เช•เซ‡, เชชเช›เซ€ เช เชนเช•เซ€เช•เชค เชธเชพเชฅเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เชŠเชญเซ€ เชฅเชˆ เช•เซ‡ เชฏเชพเชจเซเชกเซ‡เช•เซเชธเชฎเชพเช‚ เชฆเชฐเชฐเซ‹เชœ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เชธเช‚เชฆเซ‡เชถเชพเช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เชชเชฐ เชฎเชฐเซเชฏเชพเชฆเชพ เช›เซ‡ (เช† เชชเซ€เชกเชพ, เช‰เชฆเชพเชธเซ€ เช…เชจเซ‡ เช…เชชเชฎเชพเชจ เช›เซ‡). เชชเซเชฐเชคเชฟ เชฎเชฟเชจเชฟเชŸ เชชเชฃ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชญเซ‚เชฒเซ‹ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เช…เชฎเชพเชฐเซ‡ เชฎเซ‡เช‡เชฒ เชฆเซเชตเชพเชฐเชพ เชญเซ‚เชฒเซ‹ เชฎเซ‹เช•เชฒเชตเชพเชจเซเช‚ เช›เซ‹เชกเซ€ เชฆเซ‡เชตเซเช‚ เชชเชกเซเชฏเซเช‚. เชคเซ‡เชฅเซ€ เชฏเชพเชจเซเชกเซ‡เช•เซเชธ เชธเซ‡เชตเชพเช“ เชฆเซเชตเชพเชฐเชพ เช†เชชเชฎเซ‡เชณเซ‡ เช†เชตเซ€ เชธเชฎเชธเซเชฏเชพ เชตเชฟเชถเซ‡ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‹เช•เชฒเชคเซ€ เชตเช–เชคเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฐเชพเช–เซ‹.

เชชเซเชฐเชคเชฟเชธเชพเชฆ เชธเชฐเซเชตเชฐ

เชนเชพเชฐเซเชกเชตเซ‡เชฐเชจเชพ เชฆเซ‚เชฐเชธเซเชฅ เชญเชพเช—เชจเซ€ เชเช•เซเชธเซ‡เชธ เชฎเซ‡เชณเชตเชตเชพ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช•เชธเซเชŸเชฎเชพเช‡เช เช…เชจเซ‡ เชชเซเชจเชƒเชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเช•เซเชทเชฎ เชฅเชตเชพ เชฎเชพเชŸเซ‡, เชฎเชจเซ‡ เชเช• เชฌเชพเชนเซเชฏ เชธเชฐเซเชตเชฐเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชตเชพเชœเชฌเซ€ เชฌเชจเชตเชพ เชฎเชพเชŸเซ‡, เชธเชฐเซเชตเชฐ เชชเชฐ เชคเชฎเชพเชฎ เชกเซ‡เชŸเชพ เชฎเซ‹เช•เชฒเชตเชพ เช…เชจเซ‡ เชตเซ‡เชฌ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชฎเชพเช‚ เชคเชฎเชพเชฎ เชธเซเช‚เชฆเชฐ เช—เซเชฐเชพเชซ เชฌเชจเชพเชตเชตเชพ เชฏเซ‹เช—เซเชฏ เชฐเชนเซ‡เชถเซ‡. เชชเชฐเช‚เชคเซ เชฌเชงเชพ เชเช• เชœ เชธเชฎเชฏเซ‡ เชจเชนเซ€เช‚.

VPS เชฎเชพเชŸเซ‡ เชฎเซ‡เช‚ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซเช‚ ruvds.com. เชคเชฎเซ‡ เชธเซŒเชฅเซ€ เชธเชฐเชณ เชธเชฐเซเชตเชฐ เชฒเชˆ เชถเช•เซ‹ เช›เซ‹. เช…เชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชฎเชพเชฐเชพ เชนเซ‡เชคเซเช“ เชฎเชพเชŸเซ‡ เช† เชชเซ‚เชฐเชคเซเช‚ เชนเชถเซ‡. เชชเชฐเช‚เชคเซ เชฎเซ‡เช‚ เชธเชฐเซเชตเชฐ เชฎเชพเชŸเซ‡ เชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เช–เชฟเชธเซเชธเชพเชฎเชพเช‚เชฅเซ€ เชšเซ‚เช•เชตเชฃเซ€ เชจ เช•เชฐเซ€ เชนเซ‹เชตเชพเชฅเซ€, เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เชจเชพเชจเชพ เช…เชจเชพเชฎเชค เชธเชพเชฅเซ‡ เชฒเซ‡เชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เชœเซ‡เชฅเซ€ เช•เชฐเซ€เชจเซ‡ เชœเซ‹ เช†เชชเชฃเซ‡ เชตเซ‡เชฌ เชˆเชจเซเชŸเชฐเชซเซ‡เชธ, เช†เชชเชฃเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ SMTP เชธเชฐเซเชตเชฐ, VPN เชตเช—เซ‡เชฐเซ‡ เชœเชฎเชพเชตเชตเซเช‚ เชนเซ‹เชฏ เชคเซ‹ เชคเซ‡ เชชเซ‚เชฐเชคเซเช‚ เชนเชถเซ‡. เช‰เชชเชฐเชพเช‚เชค, เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ เชฌเซ‰เชŸ เชธเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชฌเชจเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชจเชฅเซ€. เชคเซ‡เชฅเซ€, เชฎเซ‡เช‚ เชเชฎเซเชธเซเชŸเชฐเซเชกเชฎ เช…เชจเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเชพ.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชธเชพเชฅเซ‡ เชธเช‚เชšเชพเชฐเชจเซ€ เชชเชฆเซเชงเชคเชฟ เชคเชฐเซ€เช•เซ‡, vim2 เช เชฐเชฟเชตเชฐเซเชธ ssh เช•เชจเซ‡เช•เซเชถเชจ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡, เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เชฌเชคเชพเชตเซเชฏเชพ เชชเซเชฐเชฎเชพเชฃเซ‡, เชคเซ‡ เชถเซเชฐเซ‡เชทเซเช  เชจเชฅเซ€. เชœเซ‹ เช•เชจเซ‡เช•เซเชถเชจ เช–เซ‹เชตเชพเชˆ เชœเชพเชฏ, เชคเซ‹ เชธเชฐเซเชตเชฐ เชชเซ‹เชฐเซเชŸเชจเซ‡ เชชเช•เชกเซ€ เชฐเชพเช–เซ‡ เช›เซ‡ เช…เชจเซ‡ เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเชพ เชฆเซเชตเชพเชฐเชพ เช•เชจเซ‡เช•เซเชŸ เชฅเชตเซเช‚ เช…เชถเช•เซเชฏ เช›เซ‡. เชคเซ‡เชฅเซ€, เช…เชจเซเชฏ เชธเช‚เชšเชพเชฐ เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ VPN. เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚ เชนเซเช‚ VPN เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเชฎเชฏ เชจเชนเซ‹เชคเซ‹.

เชนเซเช‚ เชซเชพเชฏเชฐเชตเซ‹เชฒ เชธเซเชฏเซ‹เชœเชฟเชค เช•เชฐเชตเชพ, เช…เชงเชฟเช•เชพเชฐเซ‹เชจเซ‡ เชชเซเชฐเชคเชฟเชฌเช‚เชงเชฟเชค เช•เชฐเชตเชพ, เชฐเซ‚เชŸ ssh เช•เชจเซ‡เช•เซเชถเชจเชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเชพ เช…เชจเซ‡ VPS เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เช…เชจเซเชฏ เชฌเชพเชฌเชคเซ‹เชจเซ€ เชตเชฟเช—เชคเซ‹เชฎเชพเช‚ เชœเชˆเชถ เชจเชนเซ€เช‚. เชนเซเช‚ เชฎเชพเชจเซเช‚ เช›เซเช‚ เช•เซ‡ เชคเชฎเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชฌเชงเซเช‚ เชœเชพเชฃเซ‹ เช›เซ‹. เชฐเชฟเชฎเซ‹เชŸ เช•เชจเซ‡เช•เซเชถเชจ เชฎเชพเชŸเซ‡, เชนเซเช‚ เชธเชฐเซเชตเชฐ เชชเชฐ เชเช• เชจเชตเซ‹ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฌเชจเชพเชตเซเช‚ เช›เซเช‚.

adduser vimssh

เชนเซเช‚ เช…เชฎเชพเชฐเชพ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชชเชฐ ssh เช•เชจเซ‡เช•เซเชถเชจ เช•เซ€ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซเช‚ เช›เซเช‚.

ssh-keygen

เช…เชจเซ‡ เชนเซเช‚ เชคเซ‡เชจเซ‡ เช…เชฎเชพเชฐเชพ เชธเชฐเซเชตเชฐ เชชเชฐ เชจเช•เชฒ เช•เชฐเซเช‚ เช›เซเช‚.

ssh-copy-id [email protected]

เช…เชฎเชพเชฐเชพ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชชเชฐ, เชนเซเช‚ เชฆเชฐเซ‡เช• เชฌเซเชŸ เชชเชฐ เช“เชŸเซ‹เชฎเซ‡เชŸเชฟเช• เชฐเชฟเชตเชฐเซเชธ 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

เชชเซ‹เชฐเซเชŸ 8083 เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเซ‹: เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชฐเชฟเชตเชฐเซเชธ ssh เชฆเซเชตเชพเชฐเชพ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชนเซเช‚ เช•เชฏเชพ เชชเซ‹เชฐเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถ. เชคเซ‡เชจเซ‡ เชธเซเชŸเชพเชฐเซเชŸเช…เชชเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเซ‹ เช…เชจเซ‡ เชถเชฐเซ‚ เช•เชฐเซ‹.

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

เชคเชฎเซ‡ เชธเซเชฅเชฟเชคเชฟ เชชเชฃ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹:

sudo systemctl status autossh.service

เชนเชตเซ‡, เช…เชฎเชพเชฐเชพ VPS เชธเชฐเซเชตเชฐ เชชเชฐ, เชœเซ‹ เช†เชชเชฃเซ‡ เชšเชฒเชพเชตเซ€เช:

ssh -p 8083 khadas@localhost

เชชเช›เซ€ เชนเซเช‚ เชนเชพเชฐเซเชกเชตเซ‡เชฐเชจเชพ เชฎเชพเชฐเชพ เชชเชฐเซ€เช•เซเชทเชฃ เชญเชพเช— เชชเชฐ เชชเชนเซ‹เช‚เชšเซเช‚ เช›เซเช‚. เช…เชจเซ‡ เชนเชพเชฐเซเชกเชตเซ‡เชฐเชฎเชพเช‚เชฅเซ€ เชนเซเช‚ เชฎเชพเชฐเชพ เชธเชฐเซเชตเชฐ เชชเชฐ ssh เชฆเซเชตเชพเชฐเชพ เชฒเซ‹เช— เช…เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชกเซ‡เชŸเชพ เชฎเซ‹เช•เชฒเซ€ เชถเช•เซเช‚ เช›เซเช‚, เชœเซ‡ เช–เซ‚เชฌ เช…เชจเซเช•เซ‚เชณ เช›เซ‡.

เชคเซ‡ เชฌเชงเชพ เชเช•เชธเชพเชฅเซ‡ เชฎเซ‚เช•เซ€

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ
เชšเชพเชฒเซ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช, เชšเชพเชฒเซ‹ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชกเซ€เชฌเช—เซ€เช‚เช— เชถเชฐเซ‚ เช•เชฐเซ€เช

เช“เชน, เชธเชพเชฐเซเช‚, เชฌเชธ, เชฎเซ‡เช‚ เชฌเชงเชพ เช—เชพเช‚เช เซ‹เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซเชฏเซเช‚. เชนเชตเซ‡ เชคเซ‡ เชฌเชงเซเช‚ เชเช•เชธเชพเชฅเซ‡ เชฎเซ‚เช•เชตเชพเชจเซ‹ เชธเชฎเชฏ เช›เซ‡. เชคเชฎเซ‡ เช•เซ‹เชก เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚ เชœ.

เช•เซ‹เชก เชธเชพเชฅเซ‡เชจเซ‹ เชเช• เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชฎเซเชฆเซเชฆเซ‹: เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช† เชฐเซ€เชคเซ‡ เชถเชฐเซ‚ เชฅเชˆ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชšเซ‹เช•เซเช•เชธ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชจเชพ เชšเซ‹เช•เซเช•เชธ เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เชญเชฒเซ‡ เชนเซเช‚ เชธเซ‹เชฐเซเชธ เช•เซ‹เชก เช†เชชเชคเซ‹ เชนเซ‹เช‰เช‚, เชคเซ‡เชฎ เช›เชคเชพเช‚ เชชเชฃ เชนเซเช‚ เชธเซŒเชฅเซ€ เชฎเซ‚เชฒเซเชฏเชตเชพเชจ เชตเชธเซเชคเซเช“ เช…เชนเซ€เช‚ เชฒเช–เชพเชฃเชฎเชพเช‚ เชœ เชธเชฎเชœเชพเชตเซ€เชถ, เช…เชจเซเชฏเชฅเชพ เชคเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เช—เชฎเซเชฏ เช›เซ‡.

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เชนเซเช‚ gps, gpio เชถเชฐเซ‚ เช•เชฐเซเช‚ เช›เซเช‚ เช…เชจเซ‡ เชเช• เช…เชฒเช— เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐ เชฅเซเชฐเซ‡เชก เชฒเซ‰เชจเซเชš เช•เชฐเซเช‚ เช›เซเช‚.

#ะทะฐะฟัƒัะบ ะฟะพั‚ะพะบะฐ ะฟะปะฐะฝะธั€ะพะฒั‰ะธะบะฐ
pShedulerThread = threading.Thread(target=ShedulerThread, args=(1,))
pShedulerThread.start()

เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡: เชคเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชถเซเช‚ เชธเช‚เชฆเซ‡เชถเชพ เชฎเซ‹เช•เชฒเชตเชพเชจเซ‹ เชธเชฎเชฏ เช†เชตเซ€ เช—เชฏเซ‹ เช›เซ‡ เช…เชจเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชญเซ‚เชฒเชจเซ€ เชธเซเชฅเชฟเชคเชฟ เชถเซเช‚ เช›เซ‡. เชœเซ‹ เช•เซ‹เชˆ เชญเซ‚เชฒ เชซเซเชฒเซ‡เช— เชนเซ‹เชฏ, เชคเซ‹ เช…เชฎเซ‡ เชเชฒเช‡เชกเซ€เชจเซ‡ เชเชฌเช•เชพเชตเซ€เช เช›เซ€เช.

#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)

เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‹ เชธเซŒเชฅเซ€ เชฎเซเชถเซเช•เซ‡เชฒ เชญเชพเช— เชฆเชฐเซ‡เช• เชŸเซ‡เชธเซเชŸ เชฎเชพเชŸเซ‡ เชฐเชฟเชตเชฐเซเชธ ssh เช•เชจเซ‡เช•เซเชถเชจ เชœเชพเชณเชตเชตเชพเชจเซเช‚ เช›เซ‡. เชฆเชฐเซ‡เช• เชชเชฐเซ€เช•เซเชทเชฃเชฎเชพเช‚ เชกเชฟเชซเซ‰เชฒเซเชŸ เช—เซ‡เชŸเชตเซ‡ เช…เชจเซ‡ DNS เชธเชฐเซเชตเชฐเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เช—เซ‹เช เชตเชตเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เช•เซ‹เชˆเชชเชฃ เชฐเซ€เชคเซ‡ เช•เซ‹เชˆ เชตเชพเช‚เชšเชคเซเช‚ เชจ เชนเซ‹เชตเชพเชฅเซ€, เชœเชพเชฃเซ‹ เช•เซ‡ เชŸเซเชฐเซ‡เชจ เชฒเชพเช•เชกเชพเชจเซ€ เชฐเซ‡เชฒ เชชเชฐ เชธเชตเชพเชฐเซ€ เช•เชฐเชคเซ€ เชจเชฅเซ€. เชœเซ‡ เช•เซ‹เชˆ เช‡เชธเซเชŸเชฐ เช‡เช‚เชกเชพ เชถเซ‹เชงเซ‡ เช›เซ‡ เชคเซ‡เชจเซ‡ เชฅเซ‹เชกเซ€ เช•เซ‡เชจเซเชกเซ€ เชฎเชณเซ‡ เช›เซ‡.

เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชนเซเช‚ เชเช• เช…เชฒเช— เชฐเซ‚เชŸเซ€เช‚เช— เชŸเซ‡เชฌเชฒ เชฌเชจเชพเชตเซเช‚ เช›เซเช‚ -เชธเซ‡เชŸ-เชฎเชพเชฐเซเช• 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

เชธเซ‚เชšเชฟ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชฎเซ‡เช‚ เชฎเซ‹เชกเซ‡เชฎ เชตเชฟเชถเซ‡เชจเชพ เชชเซเชฐเช•เชฐเชฃเชฎเชพเช‚ เชšเชฟเชคเซเชฐเชฎเชพเช‚ เชฌเชคเชพเชตเซเชฏเชพ เชชเซเชฐเชฎเชพเชฃเซ‡, เชฎเซ‡เช‚ เชฌเชงเชพ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชชเชฐ 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")

เชชเช›เซ€ เชนเซเช‚ เชฆเชฐเซ‡เช• เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‡ เชฒเซ‚เชชเชฎเชพเช‚ เชชเชธเชพเชฐ เช•เชฐเซเช‚ เช›เซเช‚. เช…เชจเซ‡ เชนเซเช‚ เชฆเชฐเซ‡เช• เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‡ เช—เซ‹เช เชตเซเช‚ เช›เซเช‚.

	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 เชฐเซ‚เชŸเซ€เช‚เช—เชจเซ‡ เช—เซ‹เช เชตเซเช‚ เช›เซเช‚ (เชœเซ‹ เชคเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชจ เชนเซ‹เชฏ เชคเซ‹), เชœเซ‹ เชธเชฎเชฏ เช†เชตเซ€ เช—เชฏเซ‹ เชนเซ‹เชฏ เชคเซ‹ เชธเชฐเซเชตเชฐเชจเซ‡ เชญเซ‚เชฒเซ‹ เชฎเซ‹เช•เชฒเซ‹, เชฒเซ‹เช— เชฎเซ‹เช•เชฒเซ‹ เช…เชจเซ‡ เช…เช‚เชคเซ‡ เชธเซเชชเซ€เชกเชŸเซ‡เชธเซเชŸ เชšเชฒเชพเชตเซ‹ เช…เชจเซ‡ เชฒเซ‹เช—เชจเซ‡ 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()
#ะธ ะดะฐะปะตะต ั‚ะตัั‚ะธั€ัƒะตะผ ัะบะพั€ะพัั‚ัŒ ะธ ัะพั…ั€ะฐะฝัะตะผ ะปะพะณะธ. 

เชฐเชฟเชตเชฐเซเชธ เชเชธเชเชธเชเชš เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเชพ เช•เชพเชฐเซเชฏเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเซ‹ เชคเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡.

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

เชนเชตเซ‡ เชนเซเช‚ เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชถเซเช‚ เชฅเชˆ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ เชคเซ‡เชจเชพ เชฒเซ‹เช— เชœเซ‹เชˆ เชถเช•เซเช‚ เช›เซเช‚:

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

เชฐเชฟเชเชฒเซเชŸ

เชธเชพเชฐเซเช‚, เชนเชตเซ‡ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชจเซ€ เชตเชพเชค เช เช›เซ‡ เช•เซ‡, เชชเชฐเชฟเชฃเชพเชฎเซ‡ เชถเซเช‚ เชฅเชฏเซเช‚? เช…เชนเซ€เช‚ เช•เซ‡เชŸเชฒเชพเช• เช†เชฒเซ‡เช– เช›เซ‡ เชœเซ‡ เชฎเซ‡เช‚ เชตเชฟเช•เชพเชธ เช…เชจเซ‡ เชกเชฟเชฌเช—เซ€เช‚เช— เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช•เซ‡เชชเซเชšเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซเชฏเชพ เช›เซ‡. เชจเซ€เชšเซ‡เชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชธเชพเชฅเซ‡ 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"

เชชเซเชฐเชฅเชฎ เช…เชจเซเชญเชต เชŸเซ‡เชฒเชฟ 2 เช“เชชเชฐเซ‡เชŸเชฐ เชธเชพเชฅเซ‡ เชนเชคเซ‹, เชœเซ‡ เชฎเซ‡เช‚ เช˜เชฃเชพ เชฆเชฟเชตเชธเซ‹ เชธเซเชงเซ€ เชšเชฒเชพเชตเซเชฏเซ‹.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เช…เชนเซ€เช‚ เชฎเซ‡เช‚ เช—เชคเชฟเชถเซ€เชฒ เชฎเชพเชชเชจ เชธเชฐเซเชตเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹. เชเชกเชช เชฎเชพเชชเชจ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เช–เซ‚เชฌ เชตเชงเช˜เชŸ เชฅเชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เซ‡เชŸเชฒเชพเช• เชธเชฐเซ‡เชฐเชพเชถ เชฎเซ‚เชฒเซเชฏ เชนเชœเซ€ เชชเชฃ เชฆเซƒเชถเซเชฏเชฎเชพเชจ เช›เซ‡, เช…เชจเซ‡ เช† เชกเซ‡เชŸเชพเชจเซ‡ เชซเชฟเชฒเซเชŸเชฐ เช•เชฐเซ€เชจเซ‡ เชฎเซ‡เชณเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฎเซ‚เชตเชฟเช‚เช— เชเชตเชฐเซ‡เชœ เชธเชพเชฅเซ‡.

เชฌเชพเชฆเชฎเชพเช‚ เชฎเซ‡เช‚ เช…เชจเซเชฏ เชŸเซ‡เชฒเชฟเช•เซ‹เชฎ เช“เชชเชฐเซ‡เชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช–เซเชฏเชพเชฌเช‚เชง เช—เซเชฐเชพเชซ เชฌเชจเชพเชตเซเชฏเชพ. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเซเชฏเชพเช‚ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชเช• เชชเชฐเซ€เช•เซเชทเชฃ เชธเชฐเซเชตเชฐ เชนเชคเซเช‚, เช…เชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชชเชฃ เช–เซ‚เชฌ เชœ เชฐเชธเชชเซเชฐเชฆ เชนเชคเชพ.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชœเซ‡เชฎ เชคเชฎเซ‡ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, เช† เชกเซ‡เชŸเชพเชจเชพ เชธเช‚เชถเซ‹เชงเชจ เช…เชจเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชทเชฏ เช–เซ‚เชฌ เชœ เชตเซเชฏเชพเชชเช• เช›เซ‡, เช…เชจเซ‡ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เช•เชพเชฎเชจเชพ เชฅเซ‹เชกเชพ เช…เช เชตเชพเชกเชฟเชฏเชพ เชธเซเชงเซ€ เชšเชพเชฒเชคเซ‹ เชจเชฅเซ€. เชชเชฃโ€ฆ

เช•เชพเชฐเซเชฏเชจเซเช‚ เชชเชฐเชฟเชฃเชพเชฎ

เชฎเชพเชฐเชพ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชฌเชนเชพเชฐเชจเชพ เชธเช‚เชœเซ‹เช—เซ‹เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช•เชพเชฎ เช…เชšเชพเชจเช• เชชเซ‚เชฐเซเชฃ เชฅเชฏเซเช‚. เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เชจเชฌเชณเชพเชˆเช“เชฎเชพเช‚เชจเซ€ เชเช•, เชฎเชพเชฐเชพ เชตเซเชฏเช•เซเชคเชฟเชฒเช•เซเชทเซ€ เช…เชญเชฟเชชเซเชฐเชพเชฏเชฎเชพเช‚, เชฎเซ‹เชกเซ‡เชฎ เชนเชคเซ€, เชœเซ‡ เช–เชฐเซ‡เช–เชฐ เช…เชจเซเชฏ เชฎเซ‹เชกเซ‡เชฎ เชธเชพเชฅเซ‡ เชตเชพเชฐเชพเชซเชฐเชคเซ€ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจ เชนเชคเชพ, เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชชเชฃ เชคเซ‡ เชฒเซ‹เชก เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เช†เชตเซ€ เชฏเซเช•เซเชคเชฟเช“ เช•เชฐเซ€ เชนเชคเซ€. เช† เชนเซ‡เชคเซเช“ เชฎเชพเชŸเซ‡, เช…เชจเซเชฏ เชฎเซ‹เชกเซ‡เชฎ เชฎเซ‹เชกเชฒเซเชธเชจเซ€ เชตเชฟเชถเชพเชณ เชธเช‚เช–เซเชฏเชพ เช›เซ‡; เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชคเซ‡เช“ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ Mini PCI-e เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชนเซ‹เชฏ เช›เซ‡ เช…เชจเซ‡ เช‰เชชเช•เชฐเชฃเชจเซ€ เช…เช‚เชฆเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเชพ เชนเซ‹เชฏ เช›เซ‡ เช…เชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชธเชฐเชณ เชนเซ‹เชฏ เช›เซ‡. เชชเชฐเช‚เชคเซ เชคเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชฒเช— เชตเชพเชฐเซเชคเชพ เช›เซ‡. เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฐเชธเชชเซเชฐเชฆ เชนเชคเซ‹ เช…เชจเซ‡ เชฎเชจเซ‡ เช–เซ‚เชฌ เช†เชจเช‚เชฆ เชฅเชฏเซ‹ เช•เซ‡ เชนเซเช‚ เชคเซ‡เชฎเชพเช‚ เชญเชพเช— เชฒเซ‡เชตเชพ เชธเช•เซเชทเชฎ เชนเชคเซ‹.

เช•เซ‡เชŸเชฒเชพเช• LTE เชฎเซ‹เชกเซ‡เชฎ เชชเชฐ เชเช• เชธเชพเชฅเซ‡ เชเชกเชช เชชเชฐเซ€เช•เซเชทเชฃ

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹