# L6 - Program activare LED RGB cu SMS # Dupa alimentare, modemul GSM are nevoie de conectare la retea.Blink 3 secunde. # Un SMS cu 1 aprinde LED rosu # Un SMS cu 2 aprinde LED verde # Un SMS cu 3 aprinde LED albastru # Un SMS cu 0 stinge tot # Nu se verifica numarul de telefon import machine import utime ser = machine.UART(1,9600) # Pico Tx este la pin6, Rx este la pin 7 ledred = machine.Pin(6, machine.Pin.OUT) # pin 9 ,LED semnalizare OK ledgreen = machine.Pin(16, machine.Pin.OUT) # pin 21 , nefolosit inca # LED RGB de putere conectat cu ULN2803 alimentat cu LiION bat 4V-dioda SI blue = machine.Pin(18, machine.Pin.OUT) # pin 24 red = machine.Pin(19, machine.Pin.OUT) # pin 25 green = machine.Pin(20, machine.Pin.OUT) # pin 26 green.off() # stinse la inceput red.off() blue.off() ledred.on() # stins ledgreen.on() # stins #utime.sleep(30) # interval conectare modem GSM pt. main only def send_at(command): # trimite comanda AT ser.write(command + "\r\n") utime.sleep(1) # acoperire timp procesare locala response = ser.read() return response send_at(b'AT') # start modem GSM send_at(b'AT+CMGF=1') # Setare mod text pentru SMS send_at(b'AT+CPMS="SM"') # selectare SIM ca element de stocare # Buclă principală pentru a asculta SMS-uri while True: ledred.off() response = send_at(b'AT+CMGL="ALL"') # Listați toate SMS-urile #print(response) if b'+CMGL:' in response: # index = response.index(b'+CMGL:') sms_info = response[index:] sms_lines = sms_info.split(b'\r\n') # separa in termenii unui sir if len(sms_lines) >= 4: sms_text = sms_lines[3].decode('utf-8') phone_number = sms_lines[2].decode('utf-8') #Listari de test print(response) print(sms_lines[0]) # nr telefon+data si ora print(sms_lines[1]) # mesajul print(sms_lines[2]) # b'' if sms_lines[1] == b'1': blue.off() # aprind red red.on() green.off() if sms_lines[1] == b'2': blue.off() # aprind red.off() green.on() if sms_lines[1] == b'3': blue.on() # aprind blue red.off() green.off() if sms_lines[1] == b'0': blue.off() # sting tot red.off() green.off() # Sterg sms citit sms_index = sms_lines[0].decode('utf-8').split(',')[0].split(':')[-1].strip() send_at(f'AT+CMGD={sms_index}') ledred.on() # led semnalizare stare activa utime.sleep(1) #