|
1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 35
|
||||||
GPRS GET/POST-запросы через SIM90002.04.2015, 22:33. Показов 21400. Ответов 50
Метки нет (Все метки)
Здравствуйте, госпада.
Столкнулся со странностью: Есть сервер, который прнимает GET-запросы. http://m-ark.kps-dev.com/restw... d0aGZuamg= Ваш браузер должен, пройдя по этой ссылке получить некий код авторизации. Пробую отправить тот же GET-запрос через SIM900. Использую такую "конструкцию" в надежде получить тот же ответ от сервера: numdata=inet.httpGET("www.m-ark.kps-dev.com", 80, "/restws/session/token/Authorization:Basic:cmVzdF91c3I6amd0aGZu amg=", msg, 50); Но сервер отвечает ошибками 400 или 403. Связь с сервером есть, но запрос серверу не нравится. Что же не нравится Ардуине? Спасибо. Код прилагаю.
0
|
||||||
| 02.04.2015, 22:33 | |
|
Ответы с готовыми решениями:
50
Sim900 vs SIM900 GSM/GPRS MINIMUM SYSTEM MODULE Вопросы по GSM/GPRS модулю SIM900 SIM900. Как держать GPRS соединение? |
|
1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 35
|
|||||||||||||||||||||
| 30.05.2015, 17:50 [ТС] | |||||||||||||||||||||
|
Чтобы было понятнее, я переделал библиотеку, чтобы она в консоль печатала сообщение POST- запроса, которое формируется. Принт добавил после каждой исполняемой строчки.
Вот так:
0
|
|||||||||||||||||||||
|
Просто Лис
|
|||||||||||
| 30.05.2015, 18:00 | |||||||||||
|
Это хорошо, но что выведет следующая строчка?
А, вижу, там содержится один пробел. Добавлено через 3 минуты Попробуйте увеличить буфер у строки:
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 35
|
||||||||||||||||
| 31.05.2015, 17:21 [ТС] | ||||||||||||||||
|
Ругается на str.changeBuffer(256); //вот
Ошибку выдаёт: This report would have more information with "Show verbose output during compilation" enabled in File > Preferences. Arduino: 1.0.6 (Windows NT (unknown)), Board: "Arduino Uno" error: 'unsigned char String::changeBuffer(unsigned int)' is protected GPRS_may10_1_loop_GPRS_sent_BUF:123: error: within this context Добавлено через 1 минуту Если так:
"Show verbose output during compilation" enabled in File > Preferences. Arduino: 1.0.6 (Windows NT (unknown)), Board: "Arduino Uno" GPRS_may10_1_loop_GPRS_sent_BUF.ino: In function 'void serialswread()': GPRS_may10_1_loop_GPRS_sent_BUF:121: error: 'str' was not declared in this scope Объявил String stl; Опять ругается, как до этого: This report would have more information with "Show verbose output during compilation" enabled in File > Preferences. error: 'unsigned char String::changeBuffer(unsigned int)' is protected GPRS_may10_1_loop_GPRS_sent_BUF:122: error: within this context Добавлено через 23 часа 13 минут Ещё "приключение". Две платы GSM & GPS. Есть два кода для них, которые по отдельности исправно работают. Но когда объединяешь - не хотят уживаться. Если в код для GPS переносишь код из GPRS, только доходишь до первой команды для GPRS - сразу алгоритм нарушается, и ожидаемых результатов в консоли не дождаться. Вроде бы они через разные ножки общаются: GPS 5-6, GPRS 7-8. Пробую на одном BitRate их запускать, для обоих 9600 ставлю. По отдельности работают. Вместе - никак. GPS код:
GPRS код:
0
|
||||||||||||||||
|
1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 35
|
|||||||||||
| 15.06.2015, 15:31 [ТС] | |||||||||||
|
Самому удалось разобраться. Совместил вот код:
Новая напасть. Вроде бы всё хорошо. Уже всё готово для отправки POST-запросом. И GPS работает, могу сформировать долгожданные параметры. Но как только добавляю в код только одну строку "TinyGPSPlus gps;" - запрос не формируется даже. Взял чистый код для GSM POST-запроса всё рабоатет, только добавляю одну строчку: "TinyGPSPlus gps;" - сразу после этого POST-запрос не формируется. Может TinyGPSPlus перехватывает управление RX TX для SIM900 GSM? Хотя при этом SIM900 работает, а пытаюсь распечатать из буфера строчку с параметрами - ничего не выходит на экран консоли. Ну и в POST-запросе идёт строчка передаваемых параметров длинной "0".
Добавлено через 21 минуту Рыжий Лис, посоветуй, пожалуйтста...
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 35
|
|||||||||||
| 16.06.2015, 17:43 [ТС] | |||||||||||
|
Кажется нащупал. Дело в размере буфера опять же... Передаётся либо вся строка с параметрами, если её записать прямым текстом в "кавычках", либо если мы формируем стоку таким вот образом:
Уточняю подробности. Добавлено через 8 минут Да, если сократить строчку до
Надо с буфером справиться или другой метод выбрать, в переменную другую писать... Вот-вот финал, не терпится... Да и сроки.
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 35
|
||||||
| 17.06.2015, 20:02 [ТС] | ||||||
|
Нужно увеличить буфер. Формируется строчка str, она записывается в буфер,
через который записываются параметры, передаваемые через POST-запрос: (const char*)buf. Но в ходе работы буфера хватает только на половину необходимой строки: {"title":"temp38", "temperature": "35", "latitude":"45.55555","longitude":"33.44 444", "device_id":"28"}. Как можно увеличить этот буфер или почистить?
0
|
||||||
|
1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 35
|
||||||
| 19.06.2015, 13:19 [ТС] | ||||||
|
Мне посоветовали, и почти помогло:
Зачем Вам buf (удалите строки 10-12 и 14), выкиньте его и напишите просто (вместо 13 строки):
Эти проблемы с POST-запросом начались только после того, как GPS-приёмник в код включил. Сразу будто места на стало хватать. Ответ: Если переменная часть ltd, lnd имеет фиксированную длину, проще выкинуть String и использовать глобальный буфер с фиксированным размером, тогда скетч не будет постоянно выделять и удалять память динамически. Если не забуду, попробую пример привести, сейчас на работу пора.
1
|
||||||
|
2 / 7 / 6
Регистрация: 13.10.2013
Сообщений: 249
|
|
| 04.10.2016, 23:13 | |
|
чё,чем закончилась-то санта барбара ?
Меня аохоже тоже ждёт многосерийка не хотелось бы
0
|
|
|
1 / 1 / 0
Регистрация: 02.04.2015
Сообщений: 35
|
|
| 05.10.2016, 02:00 [ТС] | |
|
Успешно, Сиси Кэпфл вышел из комы, когда Джина хотела сделать ему смертельную инъекцию. Хотя это была только середина сериала...
А серьёзно было так. Сервер который поинимает POST-запросы мне написали, в симуляторе показали, что он их принимает. На Ардуино UNO едва хватило ресурса, чтобы брать gps-координаты, температуру с термопары, и пост запрсом передавать {i:1;t:25,5;ld:45,4577;lt:34,5678}, это номер прибора, температура, долгота и широта. Если строчка была на пару символов длинее - Ардуино уже не тянуло. Помню, что где-то в gsm библиотеке нужно было прописать какие-то "позывные" POST-запроса типа кода доступа, пароля к серверу. Сам я не программист, поэтому так описываю неконкретно. Кое-как получилось. Прибор плавал на борту судна, исправно работал, перезимовал. На следующий год подвёл лишь слот для симки, новая микросимка выпадала из рамки, контакт отходил и связь с сетью терялась. Обидно, всё обновил, а этот косяк на борту не устронил, ещё эта качка. Но за зиму сделаю и в новом сезоне будут он-лайн данные. Может не по делу многое понаписал.
0
|
|
|
2 / 7 / 6
Регистрация: 13.10.2013
Сообщений: 249
|
|
| 05.10.2016, 08:47 | |
|
Молодец, дошёл до цели, это важное мужское качество усиливающее мужество.
Ну выкладывай чё, пример-то рабочий. Или ссылку на программиста. Так и не понятно тайна длины буфера. И как 32 кб с трудом хватило чтобы две строки АТ командами выслать. Видимо библиотеки все зделаны нижним мозгом.
0
|
|
| 05.10.2016, 08:47 | |
|
Помогаю со студенческими работами здесь
51
SIM900 GPRS и СМС GSM/GPRS SHIELD (SIM900) какой baudrate ставить Post-запросы через Proxy Как получить POST запросы через JS? Запросы get и post через доступный прокси сервер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|