tinc组网后,某一节点如果承担子网,只需在该节点的配置文件下配置即可,无需下发到所有节点

但是每个子网只有一个,不存在多个节点承担一个子网

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import serial
import time
import os
from datetime import datetime

def test():
        ser.write('at\r'.encode())
        ret = ser.readall()
        print(ret)
        return ret.decode()

def getv():
        ser.write('ati\r'.encode())
        ret = ser.readall()
        print(ret)

def startGPS():
        ser.write('AT+QGPS=2\r'.encode())
        ret = ser.readall()
        print(ret)

def endGPS():
        ser.write('AT+QGPSEND\r'.encode())
        ret = ser.readall()
        print(ret)

def getGPS():
        ser.write('AT+QGPSLOC=0\r'.encode())
        ret = ser.readall()
        print(ret)

def sendFile(fn):
        print("send.....")
        ser.write('AT+QFLDS="RAM"\r'.encode())
        ret = ser.readall()
        print(ret)
        ser.write('AT+QFLST="RAM:*"\r'.encode())
        ret = ser.readall()
        print(ret)

        cmd = 'AT+QFDEL="RAM:%s"\r' % fn
        ser.write(cmd.encode())
        ret = ser.readall()
        print(ret)


        print("send go.....")

        st = os.stat(fn)
        cmd = 'AT+QFUPL="RAM:%s",%d\r' % (fn,st.st_size)
        print(cmd)
        ser.write(cmd.encode())
        ret = ser.readall()
        print(ret)

        f = open(fn,"r")
        a = f.read(1024)
        while a:
                ser.write(a)
                ret = ser.readall()
                print(ret)
                a = f.read(1024)


def setXTRA(fn):
        ser.write('AT+QGPSXTRA=1\r'.encode())
        ret = ser.readall()
        print(ret)

        dt = datetime.now()
        cmd=dt.strftime('AT+QGPSXTRATIME=0,"%Y/%m/%d,%H:%M:%S",1,1,3500')
        print(cmd)
        ser.write(cmd.encode())
        ret = ser.readall()
        print(ret)
        print("======")

        cmd = 'AT+QGPSXTRADATA="RAM:xtra2.bin"\r'
        #cmd = 'AT+QGPSXTRADATA="RAM:%s"\r' % fn
        print(cmd)
        ser.write(cmd.encode())
        ret = ser.readall()
        print(ret)



def getjzloc():
        '''
        ser.write('AT+QLBSCFG="token","11o7hd19W2858601"\r'.encode())
        ret = ser.readall()
        print(ret)
        '''
        ser.write('AT+QLBSCFG="withTime",1\r'.encode())
        ret = ser.readall()
        print(ret)
        ser.write('AT+QLBSCFG="timeUpdate",1\r'.encode())
        ret = ser.readall()
        print(ret)
        ser.write('AT+QLBS\r'.encode())
        ret = ser.readall()
        print(ret)

def recvmsg():
        '''
        ser.write('AT+CMGF=1\r'.encode())
        ret = ser.readall()
        print(ret)
        ser.write('AT+CMGL="ALL"\r'.encode())
        ret = ser.readall()
        print(ret)

        ser.write('AT+CMGF=0\r'.encode())
        ret = ser.readall()
        print(ret)
        ser.write('AT+CMGL=4\r'.encode())
        ret = ser.readall()
        print(ret)
        '''


        ser.write('AT+CMGR=6\r'.encode())
        print("=====")
        ret = ser.readline()
        ret = ser.readline()
        ret = ser.readline().strip()
        print(ret)
        print(len(ret))

        ret = ser.readall()


def sendmsg(num,text):
        '''
        目前只会英文
        '''
        ser.write('AT+CMGF=1\r'.encode())
        ret = ser.readall()
        print(ret)
        ser.write('AT+CMGS="'+num+'"\r'.encode())
        ret = ser.readall()
        print(ret)
        ser.write(text.encode())
        #python3
        #bytes.fromhex('1a')
        ser.write("1a".decode('hex'))
        ret = ser.readall()
        print(ret)





ser = serial.Serial("/dev/ttyUSB2", 115200, timeout=0.5)

if "OK" not in test():
        raise(ValueError("serial err....."))
getv()


'''
fn = "xtra2.bin"
endGPS()
sendFile(fn)
setXTRA(fn)

startGPS()
time.sleep(2)
getGPS()
endGPS()
'''


#getjzloc()


#sendmsg("177123456","this is test for me")
recvmsg()
歌曲封面
0:00