เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฑเบเบเบฑเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบทเบเบชเบฐเปเบซเบเบตเปเบซเปเปเบเบปเปเบฒเบฎเปเบงเบกเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบญเบธเบเบฐเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบฑเบเปเบเบเบเบงเบฒเบกเปเบงเบเบญเบเปเบกเปเบเบฑเบก LTE เบชเปเบฒเบฅเบฑเบเบเบนเปเบเบฐเบเบญเบเบเบฒเบเปเบเบฅเบฐเบชเบฑเบเบกเบทเบเบทเบเปเบฒเบเบงเบเบซเบเบถเปเบ.
เบฅเบนเบเบเปเบฒเบเปเบญเบเบเบฒเบเบเบฐเปเบกเบตเบเบเบงเบฒเบกเปเบงเบเบญเบเบเบนเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบฅเบฐเบเบปเบกเบเบฒเบเบปเบกเบเปเบฒเบเปเปเบเบชเบฐเบเบฒเบเบเบตเปเบเบฒเบเบเบนเบกเบชเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบทเปเบญเปเบซเปเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบนเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบฅเบฐเบชเบฑเบเบกเบทเบเบทเปเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเบฅเบฒเบงเปเบเปเบงเบฅเบฒเบเบดเบเบเบฑเปเบเบญเบธเบเบฐเบเบญเบเปเบเบเปเบเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเป LTE, เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบเบเบญเบเบงเบดเบเบตเปเบญ. เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบเบฑเบเบซเบฒเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเปเปเบเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเปเบฅเบฐเบฅเบฒเบเบฒเบเบทเบเบเบตเปเบชเบธเบเปเบเบปเปเบฒเบเบตเปเปเบเบฑเบเปเบเปเบเป, เปเบเบเบเปเปเบกเบตเบญเบธเบเบฐเบเบญเบเบฅเบฒเบเบฒเปเบเบ.
เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเบฐโเปเบงเบปเปเบฒโเปเบโเบเบฑเบโเบเบตโเบงเปเบฒโเบงเบฝเบโเบเบฒเบโเบเปเปโเปเบกเปเบโเบเปเบฒเบโเบเบตเปโเบชเบธเบโเปเบฅเบฐโเบกเบตโเบเบงเบฒเบกโเบฎเบนเปโเบซเบผเบฒเบโเบเบตเปโเบชเบธเบโ, เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเบฐโเบเบญเบโเบเปเบฒเบโเบงเปเบฒโเบเบฑเบโเบซเบฒโเบเบตเปโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเบเบปเบโเปเบซเบฑเบโเปเบฅเบฐโเบงเบดโเบเบตโเบเบฒเบโเปเบเปโเปเบโเบกเบฑเบโ. เบเบฑเปเบเบเบฑเปเบ, เปเบซเปเปเบ.
ะัะธะผะตัะฐะฝะธะต
เบเบฒเบเบงเบฑเบเปเบเบเบเบงเบฒเบกเปเบงเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป LTE เปเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเบชเบฑเบเบชเบปเบเบซเบผเบฒเบ: เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฅเบทเบญเบเบญเบธเบเบฐเบเบญเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบงเบฑเบเปเบเบ, เปเบฅเบฐเบเบฑเบเบกเบตเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเบตเบเปเบฝเบงเบเบฑเบ topology เปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบญเบเปเบเบทเบญเบเปเบฒเบ cellular. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบงเบฒเบกเปเบงเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบญเบดเบเบเบดเบเบปเบเบเบฒเบเบเบฑเบเปเบเบเปเบฒเบเบงเบเบซเบเบถเปเบ: เบเปเบฒเบเบงเบเบเบนเปเบเบญเบเบขเบนเปเปเบเบซเปเบญเบเบซเบเบถเปเบ, เบชเบฐเบเบฒเบเบญเบฒเบเบฒเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฒเบเปเบเปเบฅเบฐเบซเปเบญเบเปเบเบดเบเบเบธเบฅเบฑเบเบเบงเบฒเบกเปเบงเบชเบฒเบกเบฒเบเปเบเบเบเปเบฒเบเบเบฑเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบเปเบเบทเปเบญเบเบเบฒเบ topology เปเบเบทเบญเบเปเบฒเบ. เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบง, เบเบตเปเปเบกเปเบเบเบฑเบเบซเบฒเบเบตเปเบกเบตเบเปเบฒเบเบงเบเบซเบผเบงเบเบซเบผเบฒเบเบเบตเปเบเปเปเบฎเบนเปเบเบฑเบ, เปเบฅเบฐเบเบฝเบเปเบเปเบเบนเปเบเบฐเบเบญเบเบเบฒเบเปเบเบฅเบฐเบเบปเบกเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเปเบขเปเบฒเบเบเบทเบเบเปเบญเบ.
เปเบเปเบเบทเปเบญเบเบเบปเปเบ, เบฅเบนเบเบเปเบฒเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเบเบฑเบเบฅเบปเบเบชเบปเปเบเบเบฑเบเปเบเบฅเบฐเบชเบฑเบเบเบญเบเบเบนเปเบเบฐเบเบดเบเบฑเบเบเบฒเบ, เบงเบฑเบเปเบเบเปเบเบเบเบปเบเปเบเปเบเบฅเบฐเบชเบฑเบเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฝเบเบเบปเบเบเบฒเบเบงเบฑเบเปเบเบเบเบงเบฒเบกเปเบงเบฅเบปเบเปเบเบเบทเปเบกเบเบฑเบเบเบถเบ. เบเบฒเบเปเบเปเปเบเบเบญเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบฑเบเปเบเบเบเบงเบฒเบกเปเบงเบเบญเบเปเบเบทเบญเบเปเบฒเบ lte, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเปเปเบซเบกเบฒเบฐเบชเบปเบก, เปเบเปเปเบเบเบฑเบเบซเบฒเปเบเป.
เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฒเบเปเบงเบฅเบฒ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบเปเปเปเบเปเบขเบนเปเปเบเบเบงเบฒเบกเปเบเบเบเบฒเบเบเบญเบเบเบงเบฒเบกเบชเบฐเบเบงเบเบซเบผเบทเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เปเบเปเปเบเปเบเบทเปเบญเบเปเบเบเบญเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบง. เบเบปเบงเบขเปเบฒเบ, reverse ssh เบเบทเบเบเปเบฒเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบ, เปเบเบเบเบตเปเบเบฐเปเบเบฑเบ VPN เบเบฐเบเบดเบเบฑเบเบซเบผเบฒเบ, เปเบเบทเปเบญเบเบฐเบซเบเบฑเบเปเบงเบฅเบฒเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบฅเบฐเบฅเบนเบเบเปเบฒเปเบเปเบฅเบฐเบเบปเบ.
เบงเบฝเบเบเบฒเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ
เบเบฑเปเบเบเบตเปเปเบเปเบเปเบฒเบงเปเบงเปเปเบเบเบปเบเบเบงเบฒเบก : เบขเปเบฒเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบชเบฐเปเบเบฒเบฐเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ! เบเปเปเปเบเบตเบ, เบเบธเบเบเปเบญเบ!
เบงเบฝเบเบเบฒเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบเปเบกเปเบเบเปเบญเบเบเปเบฒเบเบเปเบฒเบเบเบฒเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเบฐเบซเบเบฒเบเบกเบฑเบเบเบฝเบเปเบฅเบฑเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเบญเบเบเบนเปเปเบเปเบชเบธเบเบเปเบฒเบ. เบเบฒเบเปเบฅเบทเบญเบเบเบญเบเบงเบดเบเบตเปเบเปเปเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบเปเบฅเบฐเบญเบธเบเบฐเบเบญเบเปเบเปเบเบทเบ dictated เปเบเบเบฅเบนเบเบเปเบฒ. เบเบฑเปเบเบเบฑเปเบ, เบเปเปเบเปเบฒเบเบปเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบเบเบปเบงเบกเบฑเบเปเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบญเบฐเบเบธเบกเบฑเบเบเบฑเบเบซเบกเบปเบ:
เบญเบตเบเปเบชเปเบเบญเบกเบเบดเบงเปเบเบตเบเบฐเบเบฒเบเบเบฝเบง เปเบเบฒเบฐ2 เปเบฎเบฑเบเบเบปเบงเบเบปเบเบชเบญเบเบเบงเบฒเบกเปเบงเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป lte เบเปเบฒเบเปเบกเปเบเบฑเบก Huawei e3372h - 153 เบเบนเปเบเบฐเบเบญเบเบเบฒเบเปเบเบฅเบฐเบเบปเบกเบซเบผเบฒเบ (เบเบฒเบเบซเบเบถเปเบเบซเบฒ n). เบกเบฑเบเบเบฑเบเบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเปเบเปเบฎเบฑเบเบเบธเบเบเบฐเบชเบฒเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเบเบฎเบฑเบ GPS เบเบตเปเปเบเบทเปเบญเบกเบเปเปเบเปเบฒเบ UART. เปเบฎเบฑเบเบเบฒเบเบงเบฑเบเปเบเบเบเบงเบฒเบกเปเบงเปเบเบเปเบเปเบเปเบฅเบดเบเบฒเบ เปเบฅเบฐโเปเบญเบปเบฒโเปเบชเปโเปเบโเบเบฒโเบเบฐโเบฅเบฒเบโเบเบฑเปเบโเบเบตเปโ:
เบเบฒเบเบฐเบฅเบฒเบเปเบเบฎเบนเบเปเบเบ csv. เบเบฒเบเบเบฑเปเบเปเบซเปเบชเบปเปเบเบเปเบฒเบเบเบตเปเบเบฒเบเบญเบตเปเบกเบฅเบเบธเบเป 6 เบเบปเปเบงเปเบกเบ. เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ, เบเบฐเบเบดเบ LED เบเบตเปเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ GPIO.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบญเบฐเบเบดเบเบฒเบเบชเบฐเปเบเบฒเบฐเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบเปเบเบฎเบนเบเปเบเบเบเบฃเบต, เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบญเบฐเบเบธเบกเบฑเบเบซเบผเบฒเบ. เปเบเปเบเบงเบฒเบกเบซเบกเบฒเบเบเบญเบเบงเบฝเบเบเบฒเบเปเบกเปเบเปเบซเบฑเบเปเบเปเปเบฅเปเบง. เบญเบฒเบเบดเบเบซเบเบถเปเบเปเบกเปเบเปเบซเปเบชเปเบฒเบฅเบฑเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบ. เปเบเปโเปเบโเบเบงเบฒเบกโเปเบเบฑเบโเบเบดเบโเบกเบฑเบโเปเบเปโเบเบฒเบงโเปเบเบดเบโเบชเบฒเบกโเบญเบฒโเบเบดเบโ. เบเบตเปเปเบกเปเบเบเปเบฒเบเบถเบเปเบเบดเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบเปเบญเบเปเบเปเปเบฎเบฑเบเบเบตเปเบเบฝเบเปเบเปเบซเบผเบฑเบเบเบฒเบเบงเบฝเบเบเบปเปเบเบเปเบเบญเบเบเปเบญเบเปเบฅเบฐเปเบเบเปเบฒเบเบญเบฒเบเบดเบ.
เปเบเบเบตเปเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเบญเบเบเบฒเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเปเบเบทเปเบญเบเบถเบเบเบนเบเปเบญเบปเบฒเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบฅเบนเบเบเปเบฒเปเบเปเบเบปเบเบฅเบปเบเบฅเปเบงเบเบซเบเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเปเบฅเบดเบเบฒเบเบงเบฑเบเปเบเบเบเบงเบฒเบกเปเบงเปเบฅเบฐเบฎเบฒเบเปเบง, เปเบเบดเปเบเบเปเบฒเบเบฑเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบเปเบญเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ. เบเบปเบเบเบฐเบกเบฒเบเบเบฑเบเบเปเบฒเบเบฑเบ, เบเบฑเปเบเบเบฑเปเบเบเปเปเบกเบตเบซเบเบฑเบเบเบดเปเบชเบเปเบกเปเบเบเบทเป. เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบซเบผเบดเปเบเบเบฒเบกเบเบปเบเบฅเบฐเบเบฝเบเปเบซเบผเบปเปเบฒเบเบตเป.
เบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฐเบเบฒ
เปเบเบเบเบฒเบเปเบกเปเบเบเปเบฒเบเบเบฒเบเปเบฅเบฐเบเบฐเปเบเปเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเบฐเปเบงเปเปเบเบเบเปเปเบกเบตเบเปเบฒเปเบซเบฑเบเบเบดเปเบชเบเปเบเป.

เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบ python, เปเบเบดเบเบงเปเบฒเบเบฐเบกเบตเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบเปเบญเบเบเปเปเบกเบตเบเบฐเบชเบปเบเบเบฒเบเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบชเบฒเบเบตเปเปเบฅเบตเบ. เบเปเบญเบเปเบฅเบทเบญเบเบกเบฑเบเปเบเบฒเบฐเบงเปเบฒเบกเบตเบเบปเบงเบขเปเบฒเบเบเบตเปเบเบฝเบกเบเปเบญเบกเปเบฅเบฐเบงเบดเบเบตเปเบเปเปเบเบเบตเปเบชเบฒเบกเบฒเบเปเบฅเบฑเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเบซเปเบเบฑเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเบกเบทเบญเบฒเบเบตเบเบเบธเบเบเบปเบเบขเปเบฒเบเบนเบเบนเบเบเบฐเบชเบปเบเบเบฒเบเบเปเบฒเบญเบดเบเบเบญเบเบเปเบญเบเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ python, เปเบฅเบฐเบเปเบญเบเบชเบฐเปเบซเบกเบตเบเบดเบเบเบตเบเบตเปเบเบฐเปเบเปเบเบดเบเบเปเบฒเบงเบดเบเบฒเบเบเบตเปเบชเปเบฒเบเบชเบฑเบเปเบเบทเปเบญเบเบฑเบเบเบธเบเบเบฑเบเบชเบฐเบเบญเบเบเปเบญเบ.
เบเบญเบเบเบฒเบเบเบฑเปเบเปเบเบเบฐเบเบงเบเบเบฒเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบปเปเบเบเบปเบเบงเปเบฒ python เบกเบตเบชเบญเบเบฎเบธเปเบเบเบตเปเปเบฅเปเบ 2 เปเบฅเบฐ 3, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบปเบเบฅเบปเบเบขเบนเปเปเบเบเบตเบชเบฒเบก.
เปเบซเบเบเบฎเบฒเบเปเบง
เปเบเปเบเบเบฝเบง vim2
เบเปเบญเบเปเบเปเบฎเบฑเบเบเบญเบกเบเบดเบงเปเบเบตเบเบฐเบเบฒเบเบเบฝเบงเปเบเบฑเบเปเบเบทเปเบญเบเบเบฑเบเบเบปเปเบเบเปเบเบญเบเบเปเบญเบ

เปเบเบทเปเบญเบเบฅเบงเบกเบชเบทเปเบเบตเปเบเบตเปเบฅเบตเบ เปเบฅเบฐ เบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบชเบณเบฅเบฑเบเปเบฎเบทเบญเบเบญเบฑเบเบชเบฐเบฅเบดเบเบฐ เปเบฅเบฐ เปเบเบฅเบฐเบเบฒเบ SMART, เปเบเปเบเปเปเปเปเบฒเบฐเบชเบปเบกเบเบตเปเบชเบธเบเบชเบณเบฅเบฑเบเปเปเบฒเบงเบฝเบเบเบตเป, เบซเบผเบท, เบชเบปเบกเบกเบธเบเบงเปเบฒ, เบเปเปเปเปเบฒเบฐเบชเบปเบก. เบเบปเบงเบขเปเบฒเบ, เบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบซเบผเบฑเบเบเบญเบเบกเบฑเบเปเบกเปเบ Androidเปเบฅเบฐ Linux - เบเบตเปเปเบกเปเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบตเปเบกเบฒเบเปเบญเบก, เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบเบเบถเปเบเบเปเปเบกเบตเปเบเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบตเปเบกเบตเบเบธเบเบเบฐเบเบฒเบเบชเบนเบเบเบญเบเบญเบปเบเบเบฐเบเบญเบเปเบฅเบฐเปเบเบฃเปเบงเบตเบเบฑเบเปเบปเบเบเบฒเบเปเบเป Linuxเบเปเบญเบเบชเบปเบเปเบชเบงเปเบฒเบเบฑเบเบซเบฒเบเบฒเบเบขเปเบฒเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบฃเปเบงเบต USB เบเบญเบเปเบเบฅเบเบเบญเบก, เบเบถเปเบเปเบเบฑเบเปเบซเบเบเบปเบเบเบตเปเปเบกเปเบเบฑเบกเบเปเปเปเบฎเบฑเบเบงเบฝเบเบเบฒเบกเบเบตเปเบเบฒเบเปเบงเปเปเบเบเบฐเบเบฒเบเบเบตเป. เบกเบฑเบเบเบฑเบเบกเบตเปเบญเบเบฐเบชเบฒเบเบเบตเปเบเปเปเบเบต เปเบฅเบฐ เบเปเปเบเปเปเปเบเบทเปเบญเบ, เบชเบฐเบเบฑเปเบเบเบธเบเปเบเบฒเบเบเบณเปเบเบตเบเบเบฒเบเปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบเปเบเบเบฒเบเบเบปเปเบเบซเบฒเปเบญเบเบฐเบชเบฒเบ. เปเบกเปเบเปเบเปเบเบฒเบเบเบฑเบเบเบฒเบ GPIO เบเบปเบเบเบฐเบเบดเบเปเปเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเบซเบเบธเปเบเบเบฒเบเปเบเปเป. เบเบปเบงเบขเปเบฒเบ, เบเบฒเบเบเบฑเปเบเบเปเบฒ LED เปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบเบเบปเปเบงเปเบกเบ. เปเบเป, เปเบงเบปเปเบฒเปเบเปเป, เบกเบฑเบเบเปเปเบชเบณเบเบฑเบเบงเปเบฒเบกเบฑเบเบเบฐเปเบเบฑเบเบเบญเบกเบเบดเบงเปเบเบตเบเบฐเบเบฒเบเบเบฝเบงเปเบเบเปเบ, เบเบฒเบเปเบเบเบตเปเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเปเบเป เปเบฅเบฐ เบกเบตเบเบญเบ USB.
เบเปเบญเบเบญเบทเปเบเปเบปเบเบเปเบญเบเบเปเบญเบเบเบดเบเบเบฑเปเบ Linux เบชเบณเบฅเบฑเบเบเบฐเบเบฒเบเบเบตเป. เปเบเบทเปเบญเบซเบผเบตเบเบฅเปเบฝเบเบเบฒเบเบเบงเบเบชเบญเบเปเบญเบเบฐเบชเบฒเบ, เปเบฅเบฐ เบชเบณเบฅเบฑเบเบเบนเปเบเบตเปเบเบฐเบเบดเบเบซเบฒเบงเบดเบเบตเบเบฒเบเปเบเปเบเบญเบกเบเบดเบงเปเบเบตเบเบฐเบเบฒเบเบเบฝเบงเบเบตเป, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฝเบเบเบปเบเบเบตเป.
เบกเบตเบชเบญเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเบเบดเบเบเบฑเปเบ Linux: เปเบ SD card เบเบฒเบเบเบญเบเบซเบผเบทเปเบ MMC เบเบฒเบเปเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบเปเปเบงเบฅเบฒเบเบญเบเปเบฅเบเบเบฐเบเบฒเบเบฒเบกเบเบญเบเบซเบฒเบงเบดเบเบตเปเบฎเบฑเบเปเบซเปเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบฑเบ, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบเบดเบเบเบฑเปเบเบกเบฑเบเบขเบนเปเปเบ MMC, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเปเบเปเบญเบเบชเบปเบเปเบชเบงเปเบฒเบกเบฑเบเบเบฐเบเปเบฒเบเบเบถเปเบเบซเบผเบฒเบเบเบตเปเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบฑเบเบเบฒเบเบเบญเบ.
เบเปเบฝเบงเบเบฑเบเปเบเบตเบกเปเบง . เบเปเบญเบเปเบเบเบฒเบเปเบเบเปเบเบฑเบเบเบฒเบชเบฒเบฅเบฑเบเปเบเบ. เปเบเบทเปเบญเบเบฐเบเบดเบเบเบฐเบเบฒเบ, เบเปเบญเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบทเปเบญเบกเบเปเปเบฎเบฒเบเปเบง UART. เปเบเบทเปเบญเบกเบเปเปเบกเบฑเบ
- Tool Pin GND: <โ> Pin17 เบเบญเบ GPIO เบเบญเบ VIMs
- เบเบฒเปเบเบทเปเบญเบเบกเบท TXD: <โ> เบเบฒ 18 เบเบญเบ GPIO เบเบญเบ VIMs (Linux_เบขเบฒเปเบเปเบเบงเบ
- เบเบฒเปเบเบทเปเบญเบเบกเบท RXD: <โ> เบเบฒ 19 เบเบญเบ GPIO เบเบญเบ VIMs (Linux_Tx)
- Tool Pin VCC: <โ> Pin20 เบเบญเบ GPIO เบเบญเบ VIMs

เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฒเบงเปเบซเบฅเบ firmware . เปเบงเบตเบเบฑเปเบเปเบเบตเบกเปเบงเบชเบฐเปเบเบฒเบฐ .
เปเบเบทเปเบญเบญเบฑเบเปเบซเบฅเบเปเบเบตเบกเปเบงเบเบตเป, เบเปเบญเบเบเปเบญเบเบเบฒเบเบญเบธเบเบฐเบเบญเบเบเปเบฒเบเป. เบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเป . เบเบฒเบเปเบเป Windows เบเปเบญเบเบเบฑเบเบเปเปเบเบฑเบเปเบเปเบฅเบญเบ flash เบกเบฑเบเปเบเบทเปเบญ, เปเบเปเบเปเบฝเบงเบเบฑเบเบเบฒเบ flash เบกเบฑเบเบขเบนเปเปเบเป Linux เบเปเบญเบเบเบณเปเบเบฑเบเบเปเบญเบเปเบงเบปเปเบฒเบชเบญเบเบชเบฒเบกเบเบณ. เบเปเบญเบเบญเบทเปเบเปเบปเบ, เบเปเบญเบเบเบฐเบเบดเบเบเบฑเปเบเปเบเบฃเปเบเบฃเบกเบเปเบฒเบเปเบเบฒเบกเบเบณเปเบเบฐเบเบณ.
git clone https://github.com/khadas/utils
cd /path/to/utils
sudo ./INSTALLAaand... เบเปเปเบกเบตเบซเบเบฑเบเปเบฎเบฑเบเบงเบฝเบ. เบเปเบญเบเปเบเปเปเบงเบฅเบฒเบชเบญเบเบชเบฒเบกเบเบปเปเบงเปเบกเบเปเบเปเปเบเบชเบฐเบเบฃเบดเบเบเบฒเบเบเบดเบเบเบฑเปเบเปเบเบทเปเบญเปเบซเปเบเบธเบเบขเปเบฒเบเบเบดเบเบเบฑเปเบเบขเปเบฒเบเบเบทเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเปเบญเบ. เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเปเปโเบเบทเปโเปเบเปโเบชเบดเปเบโเบเบตเปโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเปเบฎเบฑเบโเบขเบนเปโเบเบตเปโเบเบฑเปเบ, เปเบเปโเบงเปเบฒโเบเบฑเบโเบกเบต circus เบเบตเปโเบกเบตโเบกเปเบฒ. เบชเบฐเบเบฑเปเบเบเบปเปเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบ. เปเบเปเบเปเปเบกเบตเบชเบดเปเบเบญเปเบฒเบเบงเบเบเบงเบฒเบกเบชเบฐเบเบงเบเปเบซเบผเบปเปเบฒเบเบตเปเบเปเปเบกเบตเบเบธเบเปเบเบเบตเปเบเบฐเบเปเบฅเบฐเบกเบฒเบ vim2 เบเบทเปเบกเบญเบตเบ. เบกเบฑเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเบเปเปเบซเบเบธเปเบเบเบฑเบเบฅเบฒเบงเปเบฅเบตเบ!
เบซเบผเบฑเบเบเบฒเบเปเบเบฑเบเบงเบปเบเบเบญเบ hell, เบเบฒเบเบเบฑเปเบเบเปเบฒเบชเบฐเบเบดเบเปเบฅเบฐเบเบฒเบเบเบดเบเบเบฑเปเบ, เบเปเบญเบเปเบเปเบฎเบฑเบเบเบธเบเบเบญเบเบญเบธเบเบฐเบเบญเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบ. เบเปเบญเบเปเบเบทเปเบญเบกเบเปเปเบเบฐเบเบฒเบเบเปเบฒเบ USB เบเบฑเบเบเบญเบกเบเบดเบงเปเบเบต Linux เบเบญเบเบเปเบญเบ, เปเบฅเบฐเบเบฑเบเปเบเบทเปเบญเบกเบเปเป UART เบเบฒเบกเปเบเบเบงเบฒเบเบเปเบฒเบเปเบเบดเบ.
เบเปเบญเบเบเปเบฒเบฅเบฑเบเบเบฑเปเบเบชเบฐเบเบฒเบเบต minicom เบเบตเปเบกเบฑเบเบเบญเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเปเบง 115200, เปเบเบเบเปเปเบกเบตเบเบฒเบเบเบงเบเบเบธเบกเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบญเบเบฎเบฒเบเปเบงเปเบฅเบฐเบเบญเบเปเบง. เปเบฅเบฐเปเบซเปเปเบฅเบตเปเบกเบเบปเปเบ.

เปเบกเบทเปเบญเปเบซเบฅเบ VIM2 เปเบ UART terminal, เบเปเบญเบเบเบปเบเบเบธเปเบกเบซเบเบถเปเบ, เปเบเบฑเปเบ spacebar, เปเบเบทเปเบญเบขเบธเบเบเบฒเบเปเบซเบผเบ. เบซเบผเบฑเบเบเบฒเบเปเบชเบฑเปเบเบเบฒเบเบปเบ
kvim2# เบเปเบญเบเปเบชเปเบเปเบฒเบชเบฑเปเบ:
kvim2# run updateเปเบเปเบฎเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเปเบซเบฅเบ, เบเปเบญเบเบเปเบฒเปเบเบตเบเบเบฒเบ:
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เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเบฝเบเบเปเบญเบเบเบดเปเบเปเบเบเบฐเบเบธเบเบฑเบเปเบเบทเปเบญเปเบซเปเปเบงเบฅเบฒเบขเบนเปเปเบเบกเบญเบเปเบ, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบเบฐเบขเบนเปเปเบ Greenwich.
sudo timedatectl set-timezone Europe/Moscowเบซเบผเบท
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtimeเบเปเบฒเบเปเบฒเบเบเบปเบเบงเปเบฒเบกเบฑเบเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบขเปเบฒเปเบเปเบเบฐเบเบฒเบเบเบตเป, Raspberry Pi เปเบกเปเบเบเบตเบเบงเปเบฒ. เบเปเบงเบเบเบงเบฒเบกเบเบทเปเบชเบฑเบ.
เปเบกเปเบเบฑเบก Huawei e3372h - 153
เปเบกเปเบเบฑเบกเบเบตเปเปเบกเปเบเปเบซเบผเปเบเปเบฅเบทเบญเบเบเบตเปเบชเปเบฒเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเปเบญเบ, เปเบฅเบฐ, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบกเบฑเบเปเบเปเบเบฒเบเปเบเบฑเบเบเปเบเบงเบเบเบญเบเปเบเบเบเบฒเบเบเบฑเบเบซเบกเบปเบ. เปเบเบเบเบปเปเบงเปเบ, เบเบทเป "เปเบกเปเบเบฑเบก" เบชเปเบฒเบฅเบฑเบเบญเบธเบเบฐเบเบญเบเปเบซเบผเบปเปเบฒเบเบตเปเบเปเปเปเบเปเบชเบฐเบเปเบญเบเปเบเบดเบเบเบงเบฒเบกเบชเปเบฒเบเบฑเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบซเบกเบปเบ: เบเบตเปเปเบกเปเบเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ, เบฎเบฒเบเปเบงเบเบตเปเบกเบตเบญเบธเบเบฐเบเบญเบเบเบฐเบชเบปเบกเบเบตเปเบเปเบฒเบเปเบฒเบงเปเบฒเปเบเบฑเบ CD-ROM เปเบเบทเปเบญเบเบดเบเบเบฑเปเบเปเบเปเบงเบต, เปเบฅเบฐเบเบฒเบเบเบฑเปเบเบชเบฐเบซเบผเบฑเบเปเบเปเปเบเบเบฑเบเปเบเบทเบญเบเปเบฒเบ.
เบเปเบฒเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเบณ, เบเบฒเบเบกเบธเบกเบกเบญเบเบเบญเบเบเบนเปเปเบเป Linux เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฑเบเปเบปเบเปเบฅเปเบง, เบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเปเบเบเบเบตเป: เบซเบผเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบกเปเบเบฑเบกเปเบฅเปเบง, เบเปเบญเบเบกเบตเบญเบดเบเปเบเบตเปเบเบเปเบเบทเบญเบเปเบฒเบ eth*, เปเบเบดเปเบเบเปเบฒเบ DHCP เปเบเปเบฎเบฑเบเบเบตเปเบขเบนเป IP เบเบญเบ 192.168.8.100, เปเบฅเบฐเปเบเบเปเบงเปเบฅเบตเปเบกเบเบปเปเบเปเบกเปเบ 192.168.8.1.
เปเบฅเบฐเบเบฑเบเบเบธเบเบฑเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบ! เปเบกเปเบเบฑเบกเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเปเบกเปเบเบฑเบกเปเบเป, เปเบเบดเปเบเบเบทเบเบเบงเบเบเบธเบกเปเบเบเบเปเบฒเบชเบฑเปเบ ATเบกเบฑเบเบเบฐเบเปเบฒเบเบเบงเปเบฒเบซเบผเบฒเบเบเบตเปเบเบฐเบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป PPP เบชเบณเบฅเบฑเบเปเบเปเบฅเบฐเปเบกเปเบเบฑเบก เปเบฅเบฐ เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบงเบเบกเบฑเบ. เปเบเปเปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเปเบญเบ, "เบเบปเบงเบเปเบญเบเปเบญเบ" (เบซเบผเบท เปเบเบเบเบตเปเบเบฐ, เบเบนเปเบเบณเบเปเบณ) Linux เบญเบตเบเบเบฒเบกเบเบปเบเบฅเบฐเบเบฝเบเบเบญเบ udev), เบชเปเบฒเบเบญเบดเบเปเบเบตเปเบเบ eth เปเบฅเบฐ เบเบณเบเบปเบเบเบตเปเบขเบนเป IP เปเบซเปเบกเบฑเบเบเปเบฒเบ dhcp.
เปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบชเบฑเบเบชเบปเบเบเบทเปเบกเบญเบตเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเบเบฐเบเปเบฒเปเบซเปเบฅเบทเบกเบเปเบฒเบงเปเบฒ "เปเบกเปเบเบฑเบก" เปเบฅเบฐเปเบงเบปเปเบฒเบงเปเบฒเบเบฑเบเปเบเบทเบญเบเปเบฒเบเปเบฅเบฐเบเบฐเบเบน, เปเบเบฒเบฐเบงเปเบฒเปเบเบเปเบเบทเปเบญเปเบเปเปเบฅเปเบง, เบกเบฑเบเบเปเบฒเบเบเบทเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบเบทเบญเบเปเบฒเบเปเบซเบกเปเบเบฑเบเบเบฐเบเบน.
เปเบกเบทเปเบญเบกเบตเปเบกเปเบเบฑเบกเบซเบเบถเปเบ, เบเบตเปเบเปเปเปเบเปเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฑเบเบซเบฒเบเบดเปเบชเบ, เปเบเปเปเบกเบทเปเบญเบกเบตเบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบ, เบเบท n-pieces, เบฎเบนเบเบเบฒเบเปเบเบทเบญเบเปเบฒเบเบเบฑเปเบเบเปเปเปเบเบเบตเปเปเบเบตเบเบเบทเปเบ.

เบเบฑเปเบเปเบกเปเบ, n เบเบฑเบเปเบเบทเบญเบเปเบฒเบ, เบเบตเปเบกเบตเบเบตเปเบขเบนเป IP เบเบฝเบงเบเบฑเบ, เปเบเปเบฅเบฐเบเบปเบเบกเบตเบเบฐเบเบนเปเบฅเบตเปเบกเบเบปเปเบเบเบฝเบงเบเบฑเบ. เปเบเปเบเบงเบฒเบกเบเบดเบเปเบฅเปเบง, เปเบเปเบฅเบฐเบเบปเบเปเบกเปเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบนเปเบเบฐเบเบญเบเบเบฒเบเบเบญเบเบเบปเบเปเบญเบ.
เปเบเปเบเบทเปเบญเบเบเบปเปเบ, เบเปเบญเบเบกเบตเบเบฒเบเปเบเปเปเบเบเปเบฒเบเป: เบเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบ ifconfig เบซเบผเบท ip, เบเบดเบเบเบฒเบเปเบเปเบเบญเบเบเบฑเบเบซเบกเบปเบเปเบฅเบฐเบเบฝเบเปเบเปเปเบเบตเบเบซเบเบถเปเบเปเบฅเบฐเบเบปเบเบชเบญเบเบกเบฑเบ. เบเบฒเบเปเบเปเปเบเปเบกเปเบเบเบตเบชเปเบฒเบฅเบฑเบเบเบธเบเบเบปเบ, เบเบปเบเปเบงเบฑเปเบเบงเปเบฒเปเบเบเปเบงเบเปเบงเบฅเบฒเบเบตเปเบเปเบฝเบเบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบญเบธเบเบฐเบเบญเบ. เปเบฅเบฐเบเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเบเปเบฝเบเปเบกเปเบเปเบฅเบทเปเบญเบเปเปเบฅเบฐเปเบง, เบเบปเบงเบเบดเบเปเบฅเปเบงเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเบกเบตเปเบญเบเบฒเบเบเบตเปเบเบฐเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบซเบกเบปเบ.
เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบฅเบทเบญเบเปเบชเบฑเปเบเบเบฒเบเบเบญเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบขเบนเป IP เบเบญเบเปเบกเปเบเบฑเบกเบเปเบงเบเบเบปเบเปเบญเบเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเบฅเบปเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบเปเบเปเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบชเบฑเปเบเบเบฒเบ.

เบเบตเปเบเปเปเปเบกเปเบเบเบธเบเบเบปเบเบเบญเบเบเบฑเบเบซเบฒเบเบญเบเบเปเบญเบเบเบฑเบเปเบกเปเบเบฑเบก: เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบฑเบเบซเบฒเบเบฐเบฅเบฑเบเบเบฒเบ, เบเบงเบเบกเบฑเบเบฅเบปเปเบกเบฅเบปเบ, เปเบฅเบฐเบเบฒเบเบชเบฐเบซเบเบญเบเบเบฐเบฅเบฑเบเบเบฒเบเบเบตเปเบซเบกเบฑเปเบเบเบปเบเบเบตเปเบเบตเบเบฑเบเบชเบนเบ USB เปเบกเปเบเบเปเบญเบเบเบฒเบ. เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเปเบเปโเปเบโเบเบฑเบโเบซเบฒโเบเบตเปโเปเบเบโเบเบฒเบโเบเบฒเบ soldering เบเบฐโเบฅเบฑเบโเบเบฒเบโเปเบเบโเบเบปเบโเบเบฑเบ hub เปเบเปโ. เบเบฑเบเบซเบฒเบญเบตเบเบญเบฑเบเบซเบเบถเปเบเบเบตเปเบเปเบญเบเบเบปเบเปเบฅเบฐเบเปเบฒเบฅเบฒเบเปเบเบเบเบฒเบเบเบฑเบเบซเบกเบปเบ: เบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบซเบกเปเบซเบผเบทเปเบขเบฑเบเบเบญเบเบญเบธเบเบฐเบเบญเบ, เบเปเปเปเบกเปเบเปเบกเปเบเบฑเบกเบเบฑเบเบซเบกเบปเบเบเบทเบเบเบงเบเบเบปเบเปเบฅเบฐเบเปเปเบชเบฐเปเบซเบกเบต, เปเบฅเบฐเบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบงเปเบฒเปเบเบฑเบเบซเบเบฑเบเบเบตเปเปเบเบตเบเบเบถเปเบเปเบฅเบฐเปเบเบเบงเบดเบเบตเปเบ. เปเบเปเบชเบดเปเบเบเปเบฒเบญเบดเบเบเปเบฒเบญเบดเบ.
เปเบเบทเปเบญเปเบซเปเปเบกเปเบเบฑเบกเปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ, เบเปเบญเบเปเบเปเบเบดเบเบเบฑเปเบเบเบธเบ usb-modeswitch.
sudo apt update
sudo apt install -y usb-modeswitch เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป, เปเบกเปเบเบฑเบกเบเบฐเบเบทเบเบเบงเบเบเบปเบเบขเปเบฒเบเบเบทเบเบเปเบญเบเปเบฅเบฐเบเบฑเปเบเบเปเบฒเปเบเบเบฅเบฐเบเบปเบเบเปเบญเบ udev. เบเปเบญเบเบเบงเบเปเบเบดเปเบเปเบเบเบเบฝเบเปเบเปเปเบเบทเปเบญเบกเบเปเปเปเบกเปเบเบฑเบกเปเบฅเบฐเปเบซเปเปเบเปเปเบเบงเปเบฒเปเบเบทเบญเบเปเบฒเบเบเบฒเบเบปเบ.
เบเบฑเบเบซเบฒเบญเบตเบเบญเบฑเบเบซเบเบถเปเบเบเบตเปเบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเป: เบเปเบญเบเบชเบฒเบกเบฒเบเปเบญเบปเบฒเบเบทเปเบเบญเบเบเบนเปเบเบฐเบเบญเบเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบกเปเบเบฑเบกเบเบตเปเปเบเปเปเบเบงเปเบ? เบเบทเปเบเบปเบงเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบกเปเบเบเบฑเบเบเบธเบขเบนเปเปเบเบชเปเบงเบเบเบดเบเบเปเปเปเบงเบฑเบเปเบกเปเบเบฑเบกเบขเบนเปเบเบตเป 192.168.8.1. เบเบตเปเปเบกเปเบเบซเบเปเบฒเปเบงเบฑเบเปเบเบเปเบเบทเปเบญเบเปเบซเบงเบเบตเปเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบเปเบฒเบเบเปเบฒเบฎเปเบญเบเบเป Ajax, เบเบฑเปเบเบเบฑเปเบเบเบฝเบเปเบเป wgeting เบซเบเปเบฒเปเบฅเบฐ parsing เบเบทเปเบเบฐเบเปเปเปเบฎเบฑเบเบงเบฝเบ. เบเบฑเปเบเบเบฑเปเบเบเปเบญเบเบเบถเปเบเปเบฅเบตเปเบกเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบซเบเปเบฒเปเบงเบฑเบ, เปเบฅเบฐเบญเบทเปเบเป, เปเบฅเบฐเบฎเบนเปเบงเปเบฒเบเปเบญเบเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบเบฒเบเบชเบดเปเบเบเบตเปเบเปเปเบกเบตเปเบซเบเบเบปเบ. เบเบฑเปเบเบเบฑเปเบ, เบฅเบฒเบง spat, เปเบฅเบฐเบเบนเปเบเบฐเบเบญเบเบเบฒเบเปเบฅเบตเปเบกเปเบเปเบฎเบฑเบเบเบฒเบเบเปเบฒเปเบเป Speedtest API เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ.
เบซเบผเบฒเบเบเบฐเบเปเบฒเบเบเบถเปเบเบเปเบฒเปเบกเปเบเบฑเบกเบกเบตเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเปเบฒเบเบเปเบฒเบชเบฑเปเบ AT. เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐ configure เบกเบฑเบ, เบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป ppp, เบเปเบฒเบเบปเบ IP, เปเบเปเบฎเบฑเบเบเบนเปเบเบฐเบเบญเบเบเบฒเบเปเบเบฅเบฐเบเบปเบกเบเบฒเบเบปเบก, เปเบฅเบฐเบญเบทเปเบเป. เปเบเปเบญเบฐเบเบดเบเบฒ, เบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบชเบดเปเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบ.
GPS
เปเบเบทเปเบญเบเบฎเบฑเบ GPS เบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบกเบตเบเบฒเบเปเบเปเบเบญเบ UART เปเบฅเบฐเบเบฐเบฅเบฑเบเบเบฒเบ. เบกเบฑเบโเบเปเปโเปเบกเปเบโเบเบฒเบโเปเบเปโเปเบโเบเบตเปโเบเบตโเบเบตเปโเบชเบธเบโ, เปเบเปโเบงเปเบฒโเบกเบฑเบโเบเบฑเบโเปเบฎเบฑเบโเบงเบฝเบโเปเบเปโเปเบฅเบฐโเบเปเบฒเบโเบเบฒเบโ. เบเบนเปเบฎเบฑเบเปเบเบดเปเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเบฑเปเบเบเบตเป.

เบเปเบงเบเบเบงเบฒเบกเบเบทเปเบชเบฑเบ, เบเบตเปเปเบกเปเบเบเบฑเปเบเบเปเบฒเบญเบดเบเบเบญเบเบเปเบญเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบเบทเปเบญเบเบฎเบฑเบ GPS, เปเบเปเบเบฒเบกเบเบตเปเบเปเบญเบเบเบฒเบเบซเบงเบฑเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเปเบเบดเบเปเบเบดเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบเบกเบฒเปเบฅเปเบง. เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบเปเปเบเปเบงเบดเบเบตเปเบเปเปเบเบเบตเปเบเบฝเบกเบเปเบญเบก.
เบเปเบญเบเบญเบทเปเบ, เบเปเบญเบเปเบเบตเบเปเบเป uart_AO_B (UART_RX_AO_B, UART_TX_AO_B) เปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเป GPS.
khadas@Khadas:~$ sudo fdtput -t s /dtb.img /serial@c81004e0 status okayเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบงเบเปเบเบดเปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ.
khadas@Khadas:~$ fdtget /dtb.img /serial@c81004e0 status
okayเบเปเบฒโเบชเบฑเปเบโเบเบตเปโเบเบฒโเบเบปเบโเบเบทเปเบโเบเบฑเบโเปเบเป devtree เปเบโเบเบฒเบโเบเบดเบโ, เบเบถเปเบโเปเบเบฑเบโเบเบฒเบโเบชเบฐโเบเบงเบโเบซเบผเบฒเบโ.
เบซเบผเบฑเบโเบเบฒเบโเบเบงเบฒเบกโเบชเปเบฒโเปเบฅเบฑเบโเบเบญเบโเบเบฒเบโเบเปเบฒโเปเบเบตเบโเบเบฒเบโเบเบตเปโ, reboot เปเบฅเบฐโเบเบดเบโเบเบฑเปเบ daemon GPSโ.
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เบเปเบญเบเบเปเบฒเบฅเบฑเบเบเบดเบเบเบฑเปเบ UART เบเบตเป GPS เบเบฐเบงเบฒเบเบชเบฒเบ.
DEVICES="/dev/ttyS4"เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบเบตเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบฅเบฐเปเบฅเบตเปเบกเบเบปเปเบ.
/* GPS daemon enable/start */
sudo systemctl enable gpsd.socket
sudo systemctl start gpsd.socketเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบญเบเปเบเบทเปเบญเบกเบเปเป GPS.

เบชเบฒเบ GPS เบขเบนเปเปเบเบกเบทเบเบญเบเบเปเบญเบ, เบชเบฒเบเปเบ UART debugger เปเบกเปเบเปเบซเบฑเบเปเบเปเบเบฒเบเปเบเปเบเบดเปเบงเบกเบทเบเบญเบเบเปเบญเบ.
เบเปเบญเบ reboot เปเบฅเบฐเบเบงเบเปเบเบดเปเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ GPS เปเบเบเปเบเปเปเบเปเบเบผเบก gpsmon.

เบเปเบฒเบโเบเปเปโเบชเบฒโเบกเบฒเบโเปเบเบดเปเบโเบเบฒเบงโเบเบฝเบกโเปเบ screenshot เบเบตเปโ, เปเบเปโเบงเปเบฒโเบเปเบฒเบโเบชเบฒโเบกเบฒเบโเปเบเบดเปเบโเบเบฒเบโเบชเบทเปโเบชเบฒเบโเบเบฑเบโเปเบเบทเปเบญเบโเบฎเบฑเบ 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 เบชเบฒโเบกเบฒเบโเบกเบตโเบเบฒเบโเบฎเบฑเบโเบเบตเปโเบเปเปโเบเบตโเปเบฅเบฐโเบเปเปโเปเบเปโเบฎเบฑเบโเบเปเปโเบกเบนเบโเบชเบฐโเปเบซเบกเบตโเปเบโ. เบเปเบฒเบเปเบฒเบเบฅเปเบเปเบฒเบฎเบฑเบเบเปเปเบกเบนเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเปเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบซเปเบญเบเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบ, เปเบเบเบเบฒเบเบเบฐเบเปเบฒเบเบขเบนเปเปเบเบชเบฐเบเบฒเบเบเบตเปเบเบตเป. เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเปเปเบชเบฐเบซเบเปเบฒเบเบฒเบกเบเบตเป.
เปเบเบซเบผเบฑเบเบเบฒเบ, เบเปเบฒเบกเบตเปเบงเบฅเบฒเบซเบผเบฒเบ, เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบเบฒเบ GPS เปเบเบเบเบปเบเบเปเบฒเบ UART, เปเบเบเบกเบฑเบเบขเบนเปเปเบเบเบฐเบเบนเปเปเบเบเบเปเบฒเบเบซเบฒเบเปเบฅเบฐเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบกเบฑเบ. เปเบเปเบเปเปเบกเบตเปเบงเบฅเบฒเบซเบเบฑเบเปเบฅเบตเบ, เบเบฑเปเบเบเบฑเปเบเบฅเบฐเบซเบฑเบเบเบตเปเบเบตเปเบฎเปเบฒเบเบขเปเบฒเบเปเบซเบเบฎเปเบฒเบ. เปเบฅเบฐเปเบกเปเบเปเบฅเปเบง, เบเปเบญเบเบเปเปเบญเบฒเบ.
เปเบชเบเบชเบฐเบซเบงเปเบฒเบเบเบตเปเปเบฎเบฑเบเบเปเบงเบเปเบชเบ
เบเบฒเบเปเบเบทเปเบญเบกเบเปเป LED เปเบกเปเบเบเปเบฒเบเบเบฒเบเปเบฅเบฐเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ. เบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบเบปเปเบเบเปเปเบกเปเบเบงเปเบฒเบเปเบฒเบเบงเบ PIN เปเบเบฅเบฐเบเบปเบเบเปเปเบเบปเบเบเบฑเบเบเบฑเบเปเบฅเบ PIN เปเบเบเบฐเบเบฒเบเปเบฅเบฐเบเปเบญเบเบงเปเบฒเปเบญเบเบฐเบชเบฒเบเบเบทเบเบเบฝเบเบเปเบงเบเบกเบทเบเปเบฒเบ. เปเบเบทเปเบญเบเบฝเบเบเบฝเบเปเบฅเบ PIN เบเบญเบเบฎเบฒเบเปเบงเปเบฅเบฐเปเบฅเบ PIN เปเบ OS, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบ:
gpio readallเบเบฒโเบเบฐโเบฅเบฒเบโเบเบญเบโเบเบฒเบโเบเบญเบโเบชเบฐโเบซเบเบญเบ pin เปเบโเบฅเบฐโเบเบปเบโเปเบฅเบฐโเปเบโเบเบฐโเบเบฐโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบชเบฐโเปเบเบโ. เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบชเบฒโเบกเบฒเบโเบเบฐโเบเบดโเบเบฑเบโเบเบฒเบ pin เปเบ OS เบเบปเบงโเบเบญเบโเบกเบฑเบโเปเบญเบโ. เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเปเบญเบ LED เปเบกเปเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ GPIOH_5.

เบเปเบญเบเบเปเบฝเบ pin GPIO เปเบเบฑเบเบฎเบนเบเปเบเบเบเบปเบเบเบฐเบฅเบดเบ.
gpio -g mode 421 outเบเปเบญเบเบเบฝเบเบฅเบปเบเบชเบนเบ.
gpio -g write 421 0เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฝเบเบฅเบปเบเบญเบฑเบเบซเบเบถเปเบ.
gpio -g write 421 1 
เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเปเบชเบฐเบซเบงเปเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฝเบ "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 เบเบญเบเบเบปเบเปเบญเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเปเบเป .
เบชเบดเปเบเบเบตเปเบเบตเปเบกเปเบเบงเปเบฒเบกเบตเบฅเบฐเบซเบฑเบเปเบซเบผเปเบเบเบตเปเบเบฑเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเปเบเป. เบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ API เบเบตเป (เบเบปเบงเบขเปเบฒเบเบเปเบฒเบเป) เบชเบฒเบกเบฒเบเบเบปเบเปเบเปเปเบ .
เบเปเบญเบเบเบดเบเบเบฑเปเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ python เบเปเบงเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป.
sudo -H pip3 install speedtest-cliเบเบปเบงเบขเปเบฒเบ, เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบเบเบฑเปเบเปเบเบทเปเบญเบเบเบปเบเบชเบญเบเบเบงเบฒเบกเปเบงเปเบเป Ubuntu เปเบเบเบเบปเบเบเบฒเบ repo. เบเบตเปเปเบกเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ 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"
#ััั ะธะดะตั ะทะฐะฟะธัั ะฒ ัะฐะนะป ะปะพะณะพะฒ
เบเบตเปเบเบตเป, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเปเบซเบฑเบเบญเบญเบเบเปเปเบเปเบฒเบเบเบฒเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบกเบฑเบเบเบฐเปเบเบดเปเบเบเบทเบงเปเบฒเบเปเบฒเบเบเบฒเบเบซเบผเบฒเบ. เปเบเปเบเบทเปเบญเบเบเบปเปเบ, เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบกเปเบเปเบเบปเปเบฒเบเบฑเบ [], เบเบงเบเปเบเบปเบฒเปเบงเบปเปเบฒเบงเปเบฒ, เปเบฅเบทเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบเบตเบเบตเปเบชเบธเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบญเบเบกเบตเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบเบเบชเบธเปเบก, เปเบฅเบฐ, เบเบฒเบกเบเบตเปเปเบเบปเปเบฒเบญเบฒเบเบเบฐเบเบฒเบเปเบเบปเบฒ, เบเบงเบฒเบกเปเบงเบเบปเบงเปเบ. เบเบตเปเปเบกเปเบเบเปเบญเบเบเปเบฒเบเปเบเบฑเบเบซเบปเบงเบเปเปเบเบตเปเบชเบฑเบเบชเบปเบ, เบเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบปเบเบเบตเป, เบเปเบฒเปเบเบฑเบเบเบฑเปเบเบเบฑเปเบ, static เบซเบผเบทเปเบเบเปเบเบทเปเบญเบเปเบซเบง, เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบเบปเปเบเบเบงเปเบฒ. เปเบเปเบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบเบฒเบเบงเบฑเบเปเบเบเบเบงเบฒเบกเปเบงเบชเปเบฒเบฅเบฑเบเบเบนเปเบเบฐเบเบดเบเบฑเบเบเบฒเบ Beeline เปเบกเบทเปเบญเปเบฅเบทเบญเบเปเบเบตเบเปเบงเบตเบเบฒเบเบเบปเบเบชเบญเบเปเบเบเปเบเบทเปเบญเบเปเบซเบงเปเบฅเบฐเบเบปเบเบเบตเปเบเบปเบเบเบตเป.

เบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเบฒเบเบงเบฑเบเปเบเบเบเบงเบฒเบกเปเบงเปเบเปเบงเบฅเบฒเบเบตเปเปเบฅเบทเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบเบเปเบเบทเปเบญเบเปเบซเบง.

เบเบปเบเบเบญเบเบเบฒเบเบเบปเบเบชเบญเบเบเบงเบฒเบกเปเบง, เบเบตเปเบกเบตเบซเบเบถเปเบเปเบฅเบทเบญเบเบขเปเบฒเบเปเบเบฑเปเบกเบเบงเบเบซเบเบถเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ.
เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบ, เบกเบต "เบเบปเบ" เบขเบนเปเปเบเบเบฑเบเบชเบญเบเบเปเบญเบ, เปเบฅเบฐเบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบเบเบเปเบฒเบเบญเบญเบเปเบเบเปเบเปเบงเบดเบเบตเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบชเบฒเบ. เปเบเปเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบปเบเบเบตเปเบกเบฑเบเบซเบเปเบญเบเบฅเบปเบเปเบฅเบฑเบเบเปเบญเบเปเบฅเบฐเบเบงเบฒเบกเบเบงเปเบฒเบเบเบญเบเบเบงเบฒเบกเบเบงเปเบฒเบเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบเบซเบผเบฒเบ.
เปเบเบเบเบปเปเบงเปเบ, เบเบตเปเปเบกเปเบเบชเบฐเบเบฒเบเบเบตเปเบเบญเบเบเบฒเบเบเบปเปเบเบเบงเปเบฒเบเบตเปเบเบดเปเบเปเบซเบเป. เปเบฅเบฐเบเปเบญเบเบเบฐเบงเบฑเบเปเบเบเบเบงเบฒเบกเปเบงเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเปเบญเบเปเบเบเปเบเป iperf utility. เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบถเบเบซเบกเบฑเปเบเบเบฑเบเบเปเปเบเปเบฒเบเบปเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ.
เบเบฒเบโเบชเบปเปเบโเบญเบตโเปเบกเบงโเปเบฅเบฐโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโ
เปเบเบทเปเบญเบชเบปเปเบเบญเบตเปเบกเบง, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฐเบเบฒเบเบฒเบกเบซเบผเบฒเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เปเบเปเปเบเบเบตเปเบชเบธเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบปเบเบฅเบปเบเบเบฑเบเบชเบดเปเบเบเปเปเปเบเบเบตเป. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบฅเบปเบเบเบฐเบเบฝเบเบเปเบญเบเบเบปเบเบซเบกเบฒเบเปเบ Yandex เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบญเบปเบฒ . เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบงเบเปเบเบดเปเบเบกเบฑเบเปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบกเบฑเบเปเบเบปเปเบฒเปเบเปเบเปเบเบเบเบฒเบ. เบเบปเบงเบขเปเบฒเบเบเบตเปเบเบงเบเปเบเบดเปเบเบเบฒเบเปเบฅเบทเบญเบเบเปเบฒเบเป, เบฅเบงเบกเบเบฑเบเบเบฒเบเบชเบปเปเบเบเบฒเบ gmail, เปเบฅเบฐเบญเบทเปเบเป. เบเปเบญเบเบเปเปเบขเบฒเบเบซเบเบธเปเบเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบกเบฅเบเบญเบเบเปเบญเบเปเบฅเบฐเบเปเปเบกเบตเปเบงเบฅเบฒเบชเปเบฒเบฅเบฑเบเบกเบฑเบ, เปเบเปเบเปเบญเบเบงเปเบฒเบกเบฑเบเบญเบญเบเบกเบฒเบเปเปเบกเบฒ, เบกเบฑเบเบเปเปเปเบฎเปเบเบฐเปเบซเบเบ.
เบเบฑเบเบเบถเบเปเบเปเบเบทเบเบชเบปเปเบเบเบฒเบกเบเบฒเบเบฐเบฅเบฒเบ, เบเปเบฒเบกเบตเบเบฒเบเปเบเบทเปเบญเบกเบเปเป, เบเบธเบเป 6 เบเบปเปเบงเปเบกเบ: เปเบงเบฅเบฒ 00 เปเบกเบ, 06 เปเบกเบเปเบเบปเปเบฒ, 12 เปเบกเบเบเปเบฝเบเปเบฅเบฐ 18 เปเบกเบเปเบฅเบ. เปเบเปโเบชเบปเปเบโเปเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ.
from send_email import *
...
message_log = "ะะพะณะธ ัะตััะธัะพะฒะฐะฝะธั ะฟะปะฐัั โ1"
EmailForSend = ["dlinyj@trololo.ru", "pupkin@trololo.ru"]
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 เบเปเบญเบเปเบฅเบทเบญเบ . เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบญเบปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเบตเปเบชเบธเบ. เปเบฅเบฐเปเบเบเบเบปเปเบงเปเบ, เบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเบญเบเบเปเบญเบ, เบเบตเปเบเบฐเบเบฝเบเบเป. เปเบเปเบเปเบญเบเบงเปเบฒเบเปเบญเบเบเปเปเปเบเปเบเปเบฒเบเปเบเบดเบเปเบซเปเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบญเบญเบเบเบฒเบเบเบปเบเบเบญเบเบเปเบญเบเปเบญเบ, เบเปเบญเบเปเบเปเบเบฑเบเบชเบดเบเปเบเปเบญเบปเบฒเบกเบฑเบเบเปเบงเบเบชเบฐเบซเบเบงเบเบเบฐเบซเบเบฒเบเบเปเบญเบเปเบเบทเปเบญเบงเปเบฒเบกเบฑเบเบเบฐเบเบฝเบเบเปเบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฒเบเปเบเปเบเบญเบเปเบงเบฑเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ SMTP เบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบญเบ, VPN, เปเบฅเบฐเบญเบทเปเบเป. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบชเบฒเบกเบฒเบเบเบฑเปเบ Telegram bot เปเบฅเบฐเบเปเปเบกเบตเบเบฑเบเบซเบฒเบเบฑเบเบกเบฑเบเบเบทเบเบเบฅเบฑเบญเบ. เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบฅเบทเบญเบ Amsterdam เปเบฅเบฐเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบฑเปเบเบเปเปเปเบเบเบตเป.

เปเบเบเบฒเบเบฐเปเบเบฑเบเบงเบดเบเบตเบเบฒเบเบชเบทเปเบชเบฒเบเบเบฑเบเบฎเบฒเบเปเบง, vim2 เปเบฅเบทเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป ssh เบเบตเปเบเบเบฑเบเบเบฑเบเปเบฅเบฐ, เบเบฒเบกเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบ, เบกเบฑเบเบเปเปเปเบกเปเบเบเบตเปเบเบตเบเบตเปเบชเบธเบ. เบเปเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบทเบเบชเบนเบเปเบชเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบทเบเบญเบเปเบฅเบฐเบกเบฑเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเปเบเบทเปเบญเบกเบเปเปเบเปเบฒเบเบกเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบงเบฅเบฒ. เบเบฑเปเบเบเบฑเปเบ, เบกเบฑเบเบเบฑเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเปเบเปเบงเบดเบเบตเบเบฒเบเบชเบทเปเบชเบฒเบเบญเบทเปเบเป, เบเบปเบงเบขเปเบฒเบ VPN. เปเบเบญเบฐเบเบฒเบเบปเบเบเปเบญเบเบขเบฒเบเบเปเบฝเบเปเบเบฑเบ VPN, เปเบเปเบเปเปเบกเบตเปเบงเบฅเบฒ.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเปเปเปเบเบปเปเบฒเปเบเปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒ firewall, เบเบฒเบเบเปเบฒเบเบฑเบเบชเบดเบเบเบด, เบเบฒเบเบเบดเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป root ssh เปเบฅเบฐเบเบงเบฒเบกเบเบดเบเบญเบทเปเบเปเบเบญเบเบเบฒเบเบเบฑเปเบเบเปเบฒ VPS. เบเปเบญเบเบขเบฒเบเปเบเบทเปเบญเบงเปเบฒเปเบเบปเปเบฒเบฎเบนเปเบเบธเบเบขเปเบฒเบเปเบฅเปเบง. เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบ, เบเปเบญเบเบชเปเบฒเบเบเบนเปเปเบเปเปเบซเบกเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ.
adduser vimsshเบเปเบญเบเบชเปเบฒเบเบเบฐเปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป ssh เปเบเบฎเบฒเบเปเบงเบเบญเบเบเบงเบเปเบฎเบปเบฒ.
ssh-keygenเปเบฅเบฐเบเปเบญเบเบเบฑเบเบฅเบญเบเบเบงเบเบกเบฑเบเปเบชเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ.
ssh-copy-id vimssh@host.comเปเบเบฎเบฒเบเปเบงเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเปเบญเบเบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป ssh reverse เบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบเบธเบ boot.
[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 vimssh@host.com
RestartSec=5
Restart=always
[Install]
WantedBy=multi-user.target
เปเบญเบปเบฒเปเบเปเบชเปเบเบฑเบเบเบญเบ 8083: เบกเบฑเบเบเปเบฒเบเบปเบเบงเปเบฒเบเบญเบเบเบตเปเบเปเบญเบเบเบฐเปเบเปเปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเปเบฒเบ reverse ssh. เปเบเบตเปเบกเบกเบฑเบเปเบชเปเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเปเบฅเบตเปเบกเบเบปเปเบ.
sudo systemctl enable autossh.service
sudo systemctl start autossh.serviceเบเปเบฒเบโเบชเบฒโเบกเบฒเบโเปเบเบดเปเบโเบชเบฐโเบเบฒโเบเบฐโเบเบฒเบโ:
sudo systemctl status autossh.serviceเปเบเบเบฑเบเบเบธเบเบฑเบ, เปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ VPS เบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบ:
ssh -p 8083 khadas@localhostเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบญเบเปเบเบซเบฒเบฎเบฒเบเปเบงเบเบฒเบเบเบปเบเบชเบญเบเบเบญเบเบเปเบญเบ. เปเบฅเบฐเบเบฒเบเบฎเบฒเบเปเบงเบเปเบญเบเบเบฑเบเบชเบฒเบกเบฒเบเบชเบปเปเบเบเบฑเบเบเบถเบเปเบฅเบฐเบเปเปเบกเบนเบเปเบเปเบเปเบฒเบ ssh เบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเปเบญเบ, เปเบเบดเปเบเบชเบฐเบเบงเบเบซเบผเบฒเบ.
เปเบญเบปเบฒเบกเบฑเบเบเบฑเบเบซเบกเบปเบเบฎเปเบงเบกเบเบฑเบ

เบเบฒเบเปเบเบตเบ, เบกเบฒเปเบฅเบตเปเบกเบเบฒเบเบเบฑเบเบเบฐเบเบฒ เปเบฅเบฐเบเบตเบเบฑเบ
Phew, เบเบต, เบเบฑเปเบเปเบกเปเบเบกเบฑเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบญเบฐเบเบดเบเบฒเบเบเบธเบเบเปเป. เปเบเบเบฑเบเบเบธเบเบฑเบเบกเบฑเบเปเบเบดเบเปเบงเบฅเบฒเบเบตเปเบเบฐเปเบญเบปเบฒเบกเบฑเบเบเบฑเบเบซเบกเบปเบเบฎเปเบงเบกเบเบฑเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบฅเบฐเบซเบฑเบ .
เบเบธเบเบชเปเบฒเบเบฑเบเบเบตเปเบกเบตเบฅเบฐเบซเบฑเบ: เปเบเบเบเบฒเบเบเบตเปเบญเบฒเบเบเบฐเบเปเปเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเบเบตเป, เปเบเบฒเบฐเบงเปเบฒเบกเบฑเบเบเบทเบเบเบฑเบเปเบเปเบเบชเปเบฒเบฅเบฑเบเบงเบฝเบเบเบฒเบเบชเบฐเปเบเบฒเบฐ, เบเบญเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบชเบฐเปเบเบฒเบฐ. เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบญเบเบเบฐเปเบซเปเบฅเบฐเบซเบฑเบเปเบซเบผเปเบ, เบเปเบญเบเบเบฑเบเบเบฐเบญเบฐเบเบดเบเบฒเบเบชเบดเปเบเบเบตเปเบกเบตเบเปเบฒเบเบตเปเบชเบธเบเบขเบนเปเบเบตเปเบเบตเป, เบขเบนเปเปเบเบเปเปเบเบงเบฒเบก, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบเปเปเบเปเปเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเปเบเป.
เปเบเบเบญเบเปเบฅเบตเปเบกเบเบปเปเบ, เบเปเบญเบเปเบฅเบตเปเบกเบเบปเปเบ 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)เบเบฒเบเบชเปเบงเบเบเบตเปเบเบฒเบเบเบตเปเบชเบธเบเบเบญเบเปเบเบเบเบฒเบเบเบตเปเปเบกเปเบเบเบฒเบเบฎเบฑเบเบชเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเป ssh reverse เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบฒเบเบเบปเบเบชเบญเบ. เปเบเปเบฅเบฐเบเบฒเบเบเบปเบเบชเบญเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบเบฑเบเบเปเบฒ gateway เปเบฅเบตเปเบกเบเบปเปเบเปเบซเบกเปเปเบฅเบฐเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ DNS. เปเบเบทเปเบญเบเบเบฒเบเบเปเปเบกเบตเปเบเบญเปเบฒเบเบขเปเบฒเบเปเบเบเปเปเบเบฒเบก, เบฎเบนเปเบงเปเบฒเบฅเบปเบเปเบเบเปเปเปเบเปเบเบตเปเบขเบนเปเปเบเบดเบเบฅเบฒเบเบฅเบปเบเปเบ. เปเบเบเบปเบเปเบซเบฑเบเปเบเป Easter เปเบเปเบฎเบฑเบเปเบเบปเปเบฒเบซเบเบปเบกเบญเบปเบกเบเบฒเบ.
เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบญเบเบชเปเบฒเบเบเบฒเบเบฐเบฅเบฒเบเปเบชเบฑเปเบเบเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบ -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")เบเปเบฒเบเบชเบฒเบกเบฒเบเบฎเบฝเบเบฎเบนเปเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ .
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบปเปเบฒเปเบเปเบ loop เบเบตเปเบเปเปเบกเบตเบเบตเปเบชเบดเปเบเบชเบธเบ, เบเปเบญเบเบเบตเปเปเบเปเบฅเบฐเบเบฑเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเปเบกเปเบเบฑเบกเบเบตเปเปเบเบทเปเบญเบกเบเปเป (เปเบเบทเปเบญเบเบญเบเบซเบฒเบงเปเบฒเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบทเบญเบเปเบฒเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบขเปเบฒเบเบเบฐเบเบฑเบเบซเบฑเบ).
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")เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฝเบเปเบเปเปเบเปเบเบเบเปเบฒเบเปเบเปเบฅเบฐเบเบฒเบเปเบเปเบเบญเบเปเบ loop เปเบเบฑเบ. เปเบฅเบฐเบเปเบญเบ 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 routing เบเบฑเบเบเบฒเบเปเบเปเบเบญเบเบเบตเป (เบเปเบฒเบกเบฑเบเบเปเปเปเบเปเปเบฎเบฑเบ), เบชเบปเปเบเบเปเปเบเบดเบเบเบฒเบเปเบเบซเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเปเบฒเปเบงเบฅเบฒเบกเบฒเบฎเบญเบ, เบชเบปเปเบเบเบฑเบเบเบถเบเปเบฅเบฐเบชเบธเบเบเปเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ 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เบเบญเบเบเบตเปเบเปเบญเบเบชเบฒเบกเบฒเบเปเบซเบฑเบเบเบฑเบเบเบถเบเบเบญเบเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบทเปเบเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ:
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"
เบเบฐเบชเบปเบเบเบฒเบเบเปเบฒเบญเบดเบเปเบกเปเบเบเบฑเบเบเบนเปเบเบฐเบเบดเบเบฑเบเบเบฒเบ Tele2, เปเบเบดเปเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบฑเบเปเบงเบฅเบฒเบซเบผเบฒเบเบกเบทเป.

เบเบตเปเบเบตเปเบเปเบญเบเปเบเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฒเบเบงเบฑเบเปเบเบเปเบเบเปเบเบทเปเบญเบเปเบซเบง. เบเบฒเบเบงเบฑเบเปเบเบเบเบงเบฒเบกเปเบงเปเบฎเบฑเบเบงเบฝเบ, เปเบเปเบกเบตเบเบงเบฒเบกเบเบฑเบเบเบงเบเบซเบผเบฒเบ, เปเบเปเบเบฒเบเบเปเบฒเบชเบฐเปเบฅเปเบเบเบฑเบเปเบซเบฑเบเปเบเป, เปเบฅเบฐเบเบตเปเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเปเบเบเบเบฒเบเบเบฑเปเบเบเบญเบเบเปเปเบกเบนเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เปเบเบเบชเบฐเปเบฅเปเบเบเปเบฒเบ.
เบเปเปโเบกเบฒโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเบชเปเบฒเบโเบเบฒโเบโเบเปเบฒโเบเบงเบโเบซเบเบถเปเบโเบชเปเบฒโเบฅเบฑเบโเบเบนเปโเบเบฐโเบเบญเบโเบเบฒเบโเปเบเบฅเบฐโเบเบปเบกโเบญเบทเปเบเปโ. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบกเบตเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเบซเบเบถเปเบเปเบฅเปเบง, เปเบฅเบฐเบเบปเบเปเบเปเบฎเบฑเบเบเปเปเบซเบเปเบฒเบชเบปเบเปเบเบซเบผเบฒเบ.




เบเบฑเปเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเป, เบซเบปเบงเบเปเปเปเบกเปเบเบเบงเปเบฒเบเบเบงเบฒเบเบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเปเบเบเบงเปเบฒเปเบฅเบฐเบเบฒเบเบเบธเบเปเบเปเบเบเปเปเบกเบนเบเบเบตเป, เปเบฅเบฐเบขเปเบฒเบเบเบฑเบเปเบเบเบเปเปเปเบเปเปเบเปเปเบงเบฅเบฒเบชเบญเบเบชเบฒเบกเบญเบฒเบเบดเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ. เปเบเปโฆ
เบเบปเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ
เบงเบฝเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเปเบเปเบชเปเบฒเปเบฅเบฑเบเบขเปเบฒเบเบเบฐเบเบฑเบเบซเบฑเบเปเบเบทเปเบญเบเบเบฒเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบเบตเบเบเบฒเบเบเบงเบเบเบธเบกเบเบญเบเบเปเบญเบ. เบซเบเบถเปเบเปเบเบเบธเบเบญเปเบญเบเบเบญเบเปเบเบเบเบฒเบเบเบตเป, เปเบเบเบงเบฒเบกเบเบดเบเปเบซเบฑเบเบเบญเบเบเปเบฒเบเบฐเปเบเบปเปเบฒ, เปเบกเปเบเปเบกเปเบเบฑเบก, เปเบเบดเปเบเบเปเปเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเปเบญเบกเปเบเบฑเบเบเบฑเบเปเบกเปเบเบฑเบกเบญเบทเปเบเป, เปเบฅเบฐเปเบฎเบฑเบ tricks เบเบฑเปเบเบเปเบฒเบงเบเบธเบเบเบฑเปเบเบเบตเปเบกเบตเบเบฒเบเปเบซเบผเบ. เบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเปเบซเบผเบปเปเบฒเบเบตเป, เบกเบตเบฎเบนเบเปเบเบเปเบกเปเบเบฑเบกเบญเบทเปเบเปเบเปเบฒเบเบงเบเบซเบฅเบฒเบ; เปเบเปเบเบฑเปเบเปเบกเปเบเปเบฅเบทเปเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบซเบกเบปเบ. เปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเปเบกเปเบเบซเบเปเบฒเบชเบปเบเปเบเปเบฅเบฐเบเปเบญเบเบเบตเปเบเบซเบผเบฒเบเบเบตเปเบเปเบญเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเบฎเปเบงเบกเปเบเบกเบฑเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com

