|
|
|
SIM900 Отсылка e-mail, SIM900 Отсылка e-mail |
|
|
|
Mar 15 2015, 20:36
|
Участник
Группа: Участник
Сообщений: 23
Регистрация: 4-03-15
Пользователь №: 85 504
|
Оживим тему, дабы не плодить их. Так как проблема с прошивкой ALL-IN-ONE при помощи сообщества была успешно решена, то следующий вопрос будет касаться отправки письма с прикреплённым к нему файлом. Если с самим телом письма всё вроде понятно, то как крепить к нему файл - не очень. Я взял пример из документа SIM900_EMAIL_AT_COMMAND_MANUAL_V1.04 AT+SMTPFILE=1,"test.txt",0 - я так понимаю эта команда сообщает письму, что у него на борту будет файл с таким именем. AT+SMTPSEND - что делает эта команда? Было бы логичнее, сначала отправлять команды AT+SMTPFT с данными, которые должен содержать прикреплённый файл. Помогите разобраться в процедуре отправки, и каким образом письмо наполняется данными текстового файла?
|
|
|
|
|
Mar 16 2015, 07:21
|
Частый гость
Группа: Участник
Сообщений: 166
Регистрация: 18-03-14
Из: Санкт-Петербург
Пользователь №: 80 977
|
Цитата(semyanov_dmitry @ Mar 16 2015, 00:36) Оживим тему, дабы не плодить их. Так как проблема с прошивкой ALL-IN-ONE при помощи сообщества была успешно решена, то следующий вопрос будет касаться отправки письма с прикреплённым к нему файлом. Если с самим телом письма всё вроде понятно, то как крепить к нему файл - не очень. Я взял пример из документа SIM900_EMAIL_AT_COMMAND_MANUAL_V1.04 AT+SMTPFILE=1,"test.txt",0 - я так понимаю эта команда сообщает письму, что у него на борту будет файл с таким именем. AT+SMTPSEND - что делает эта команда? Было бы логичнее, сначала отправлять команды AT+SMTPFT с данными, которые должен содержать прикреплённый файл. Помогите разобраться в процедуре отправки, и каким образом письмо наполняется данными текстового файла? AT+SMTPFILE=1,"test.txt",0 - команда сообщает модулю, что к письму будет прикреплен файл со встроенной ФС. Подробнее о работе с файлами на встроенной ФС можете посмотреть тут.
--------------------
|
|
|
|
|
Mar 16 2015, 12:03
|
Участник
Группа: Участник
Сообщений: 23
Регистрация: 4-03-15
Пользователь №: 85 504
|
Посмотрел, как я понял, речь идёт о встроенной памяти SIM900, в которую можно заливать данные, например, ARM-файл. Мой текстовый файл будет находиться на SD-карте (шилд для ARDUINO), с которой сам контроллер ARDUINO будет считывать данные по SPI-интерфейсу. Планировалось считывать эти данные и помещать их в письмо в виде прикреплённого файла. Текстовый файл имеет размер около 4кБ и представляет собой HTML-код (таблицы и данные). Как вы понимаете, никакой файловой системы в данном случае нет. Может быть есть возможность как-то встроить HTML-код в письмо, чтобы при просмотре почтовой программой эта информация отображалась как содержимое самого письма?
Сообщение отредактировал semyanov_dmitry - Mar 16 2015, 12:06
|
|
|
|
|
Mar 16 2015, 13:38
|
Участник
Группа: Участник
Сообщений: 23
Регистрация: 4-03-15
Пользователь №: 85 504
|
Цитата(CADiLO @ Mar 16 2015, 13:19) Берем SIM900 с ENHANCED прошивкой.
"Текстовый файл имеет размер около 4кБ и представляет собой HTML-код (таблицы и данные)." - пишем по UART в FS модуля как файл.
Отправляем как вложение.
Ничего сложного. Как же приятно читать эту фразу "ничего сложного" ))) буду пробовать
|
|
|
|
|
Mar 16 2015, 17:47
|
Участник
Группа: Участник
Сообщений: 23
Регистрация: 4-03-15
Пользователь №: 85 504
|
Ещё раз всё перечитал, и понял, что в голове каша... Вот, пример из описания: AT+EMAILSSL=1 OK
AT+EMAILCID=1 OK
AT+EMAILTO=30 OK
AT+SMTPSRV="smtp.google.com",465 OK
AT+SMTPAUTH=1,"mike","123456" OK
AT+SMTPFROM="mike@google.com","mike" OK
AT+SMTPRCPT=0,0,"john@sim.com","john" OK
AT+SMTPRCPT=1,0,"john@sim.com","john" OK
AT+SMTPRCPT=2,0,"john@sim.com","john" OK
AT+SMTPSUB="test" OK
AT+SMTPBODY >This is a new Email OK
AT+SMTPFILE=1,"test.txt",0 - сообщаем модулю, что к письму будет прикреплен файл со встроенной ФС OK
AT+SMTPSEND - здесь я должен начать в последовательный порт подавать 1360 байт моего файла? OK +SMTPFT:1,1360
AT+SMTPFT=100 - здесь я должен посылать в последовательный порт данные из файла начиная с 1361 по 1460? +SMTPFT:2,100 ...... //input data OK +SMTPFT:1,1360
AT+SMTPFT=0 - сообщаем модулю, что передача файла окончена? OK +SMTPSEND:1
Т.е. этого достаточно? В данном случае нет необходимости использовать дополнительные команды для доступа и записи в файловую систему? AT+CFSINIT AT+CFSWFILE AT+CFSTERM
Товарищи, дайте комментарии, а то вопросы от меня так и будут сыпаться )
|
|
|
|
|
Mar 17 2015, 09:41
|
Участник
Группа: Участник
Сообщений: 23
Регистрация: 4-03-15
Пользователь №: 85 504
|
Цитата(CADiLO @ Mar 17 2015, 08:47) Файл должен быть помещен в модуль ЗАРАНЕЕ, а не во время формирования письма.
Представьте что ваша карточка это дискета, а модуль - компьютер. Вы копируете с дискеты на компьютер нужный файл и только потом его прикрепляете к письму которое отправляете с компьютера.
Поэтому сначала AT+CFSINIT AT+CFSWFILE AT+CFSTERM
а уж когда файл будет в модуле тогда только дойдет время до команд емейла Большое спасибо за ответ! А по-поводу команд AT+SMTPSEND и AT+SMTPFT я всё правильно понял, что мы сначала передаём из файловой системы только 1360, а потом пачками по 100 байт? Или у них другой принцип действия?
|
|
|
|
|
Mar 20 2015, 13:20
|
Участник
Группа: Участник
Сообщений: 23
Регистрация: 4-03-15
Пользователь №: 85 504
|
Коллеги, подскажите по команде AT+SMTPBODY, как правильно её использовать? После ввода команды, в терминале получаю ответ ">" Далее должен идти текст письма. Вопрос в том, как мне дать понять модулю где заканчивается текст письма, чтобы можно было использовать команду AT+SMTPSEND?
|
|
|
|
|
Mar 20 2015, 13:47
|
Участник
Группа: Участник
Сообщений: 23
Регистрация: 4-03-15
Пользователь №: 85 504
|
Цитата(CADiLO @ Mar 20 2015, 14:43) Открыть документацию и прочесть - там все понятно написано. SIM900_Email_AT Command Manual_V1.04 Как это по интернетовски
|
|
|
|
|
Mar 20 2015, 15:39
|
Участник
Группа: Участник
Сообщений: 23
Регистрация: 4-03-15
Пользователь №: 85 504
|
К сожалению, информация о файловой системе не подтвердилась. Файл от-туда не крепится в письмо, его содержимое необходимо передавать по UART после команды AT+SMTPFT=<количество байт>, и завершать ввод командой AT+SMTPFT=0. 1360 - это, видимо, максимальное количество данных, которое можно отправить одной командой AT+SMTPFT.
|
|
|
|
|
Feb 27 2016, 14:38
|
Участник
Группа: Участник
Сообщений: 23
Регистрация: 4-03-15
Пользователь №: 85 504
|
Снова приходится оживлять тему, т.к. возникла проблема, которая раньше не проявлялась. Месяца два не включал своё устройство, и вот решил снова им воспользоваться. Вкратце: устройство собирает данные и отправляет их по почте в виде прикреплённого HTML-файла. Сегодня включил, и в терминале вижу это:
AT+SMTPSEND OK +SMTPSEND: 63
Судя по коду ошибки это: SMTP TCP connection error, что делать дальше не знаю, где копать - тоже понятия не имею. Подскажите, откуда могла появиться ошибка, два месяца назад всё работало же ((( Вот весь листинг запроса:
AT+COPS? +COPS: 0,0,"MegaFon" OK AT+SAPBR=3,1,"CONTYPE","GPRS" OK AT+SAPBR=3,1,"APN","internet" OK AT+SAPBR=3,1,"USER","" OK AT+SAPBR=3,1,"PWD","" OK AT+SAPBR=1,1 OK AT+SAPBR=2,1 +SAPBR: 1,1,"ХХХ.ХХХ.ХХХ.ХХХ" OK AT+EMAILSSL=1 OK AT+EMAILCID=1 OK AT+EMAILTO=30 OK AT+SMTPSRV="smtp.yandex.ru",465 OK AT+SMTPAUTH=1,"xxxxxxxx","xxxxxxxx" OK AT+SMTPFROM="xxxxxxxx@yandex.ru","Semyanov Dmitry" OK AT+SMTPRCPT=0,0,"xxxxxxxx@rambler.ru","poluchatel" OK AT+SMTPSUB="Total report" OK AT+SMTPFILE=1,"formfile.htm",0 OK AT+SMTPSEND OK +SMTPSEND: 63
|
|
|
|
|
Feb 27 2016, 19:16
|
Участник
Группа: Участник
Сообщений: 23
Регистрация: 4-03-15
Пользователь №: 85 504
|
Сам отвечу на свой вопрос, может кто-то тоже столкнётся с подобной проблемой. После танцев с бубнами выяснилось, что проблема была с сим-картой, вернее с тарифом, к которому был привязан мой номер. Каким-то чудом, у меня после Нового Года автоматом подписалась бесплатная услуга "Интернет планшет". Услуга выгодная, давала 20Мб интернета бесплатно каждый день, но вся беда в том, что работал этот тариф только на планшете )) Выяснил это, когда вставил симку в телефон, и попытался зайти в интернет. В итоге услугу отписал, и GPRS заработал!
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|