Jelajahi Sumber

ESP8266 Anpsasungen ohne Ausgabeüberwachung ... dies müssen wir auf jeden Fall noch korrigieren, sobald das Hauptprogramm laeuft

Chris Hoelzel 4 tahun lalu
induk
melakukan
0c134f33af
1 mengubah file dengan 23 tambahan dan 21 penghapusan
  1. 23 21
      AlarmSMS.py

+ 23 - 21
AlarmSMS.py

@@ -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")