|
|
@@ -2,9 +2,11 @@
|
|
|
# Sie stellt ein Interface für SIM800 Befehlssätze dar
|
|
|
|
|
|
# 2022-03-02 - devnull - initial
|
|
|
+# 2022-03-06 - devnull - Schritt 1 : Anpassung für ESP ohne Auslesefunktionalitäten
|
|
|
|
|
|
import sys
|
|
|
import io
|
|
|
+from machine import UART
|
|
|
|
|
|
class SIM:
|
|
|
|
|
|
@@ -34,48 +36,43 @@ class SIM:
|
|
|
self.setBaud(baud)
|
|
|
self.setPIN(pin)
|
|
|
|
|
|
- import serial
|
|
|
+ #PC: import serial
|
|
|
|
|
|
try:
|
|
|
# Verbindung oeffnen
|
|
|
- self.ser = serial.Serial(self.getTTY(), self.getBaud(), timeout=1)
|
|
|
- #self.sio = io.TextIOWrapper(io.BufferedRWPair(self.ser, self.ser),newline="\r\n")
|
|
|
- self.sio = io.TextIOWrapper(io.BufferedRWPair(self.ser, self.ser))
|
|
|
+ #PC: self.ser = serial.Serial(self.getTTY(), self.getBaud(), timeout=1) # PC
|
|
|
+ #PC: self.sio = io.TextIOWrapper(io.BufferedRWPair(self.ser, self.ser)) # PC
|
|
|
+ self.sio = UART(self.getTTY(), baudrate=self.getBaud())
|
|
|
self.devSetup()
|
|
|
|
|
|
#try:
|
|
|
# self.ser.open()
|
|
|
- except serial.SerialException as e:
|
|
|
+ #PC: except serial.SerialException as e:
|
|
|
+ except:
|
|
|
sys.stderr.write('Could not open serial port {}: {}\n'.format(self.getTTY(), e))
|
|
|
sys.exit(1)
|
|
|
|
|
|
|
|
|
|
|
|
# sammle Modem Informationen
|
|
|
- self.devInfo()
|
|
|
- self.devProd()
|
|
|
- self.devRev()
|
|
|
- self.devSN()
|
|
|
- self.devTemp()
|
|
|
+ #self.devInfo()
|
|
|
+ #self.devProd()
|
|
|
+ #self.devRev()
|
|
|
+ #self.devSN()
|
|
|
+ #self.devTemp()
|
|
|
|
|
|
# PIN Übergabe
|
|
|
- self.sendPIN(pin)
|
|
|
+ self.sendESPPIN(pin)
|
|
|
|
|
|
- print("DEBUG:")
|
|
|
- print(" " + self.devInfo)
|
|
|
- print(" " + self.devProd)
|
|
|
- print(" " + self.devRev)
|
|
|
- print(" " + self.devSN)
|
|
|
- print(" " + self.devTemp)
|
|
|
|
|
|
# PIN senden
|
|
|
|
|
|
#übermittelt ein AT Command, aber bitte nur eine Zeile als Rückgabewert
|
|
|
def sendAT(self,AT):
|
|
|
self.sio.write(AT + '\n')
|
|
|
- self.sio.flush() # it is buffering. required to get the data out *now*
|
|
|
+ #PC: self.sio.flush() # it is buffering. required to get the data out *now*
|
|
|
|
|
|
- return self.cleanOutput(self.sio.readlines())
|
|
|
+ #PC: return self.cleanOutput(self.sio.readlines())
|
|
|
|
|
|
# Antwort DICT bereinigen
|
|
|
def cleanOutput(self,output):
|
|
|
@@ -152,9 +149,14 @@ class SIM:
|
|
|
# PIN fehlt, hier noch eintragen
|
|
|
self.sendAT('AT+CPIN=' + str(pin))
|
|
|
|
|
|
+ # temporaer: ESP setzt den PIN auf dem Modem
|
|
|
+ def sendESPPIN(self,pin):
|
|
|
+ self.sendAT('AT+CPIN=' + str(pin))
|
|
|
+
|
|
|
+
|
|
|
def sendSMS(self,number,text):
|
|
|
self.sendAT('AT+CMGS="'+ str(number) + '"\n' + str(text) + '\x1A')
|
|
|
|
|
|
#print (ser.out_waiting)
|
|
|
-mdm = SIM('/dev/ttyUSB1', 115200, 2389)
|
|
|
-mdm.sendSMS("017643609376", "neue Testnachricht")
|
|
|
+#mdm = SIM('/dev/ttyUSB1', 115200, 2389)
|
|
|
+#mdm.sendSMS("017643609376", "neue Testnachricht")
|