首页 > 解决方案 > RaspberryPi 4 Python 使用 SIM900 发送彩信

问题描述

我正在尝试使用此代码发送彩信,但它不起作用。我已经使用了一些代码来发送 SMS 并且有效,它只是 MMS。

APN设置很好,我已经检查过了。也许添加一些输出可以帮助我找出问题,但我不知道如何以及在哪里添加它。

我已经搜索了互联网,但我什么也没找到。

这是我的代码:

import binascii

import serial
import RPi.GPIO as GPIO      
import time
    

def img_to_hex():
    with open("/home/pi/Desktop/imagee.jpg", 'rb') as f:
        content = f.read()
        
    img_hex = binascii.hexlify(content)
    
    return img_hex
        

def send_mms():
    phone = serial.Serial("/dev/ttyS0", baudrate=9600, timeout=1)
    dataphoto = img_to_hex()

    phone.write('AT\r\n')
    time.sleep(1)

    phone.write('AT+CMMSINIT\r\n')
    time.sleep(2)

    phone.write('AT+CMMSCURL=\"mmsdebitel\"\r')
    time.sleep(1)

    phone.write('AT+CMMSCID=1\r')
    time.sleep(1)

    phone.write('AT+CMMSPROTO=\"10.143.156.003\",8080\r')
    time.sleep(1)

    phone.write('AT+CMMSSENDCFG=6,3,0,0,2,4,1,0\r')
    time.sleep(1)

    phone.write('AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"\r')
    time.sleep(1)

    phone.write('AT+SAPBR=3,1,\"APN\",\"mmsdebitel\"\r')
    time.sleep(1)

    phone.write('AT+SAPBR=1,1\r')
    time.sleep(4)

    phone.write('AT+SAPBR=2,1\r')
    time.sleep(1)

    phone.write('AT+CMMSEDIT=1\r')
    time.sleep(1)

    phone.write('AT+CMMSDOWN=\"PIC\",6307,20000,\"imagee.jpg\"\r')
    time.sleep(1)

    phone.write(dataphoto)
    time.sleep(1)

    phone.write('AT+CMMSRECP=\"+mynumber\"\r')
    time.sleep(1)

    phone.write('AT+CMMSVIEW\r')
    time.sleep(1)

    phone.write('AT+CMMSSEND\r')
    time.sleep(1)

    phone.write('AT+CMMSEDIT=0\r')
    time.sleep(1)

    phone.write('AT+CMMSTERM\r')
    time.sleep(1)


send_mms()

标签: pythonmmsraspberry-pi4sim900

解决方案


推荐阅读