Научить ардуино работать с SIM800L для GPRS связи

Нет ответов
georg003
Offline
Зарегистрирован: 22.02.2018

Здравствуйте!

 

логика: 

1. ардуино1 которая собирает данные с датчиков и концевиков и управляет исполнительными механизмами(в зависимости от пришедших данных со 2й ардуины)

2. ардуино2 которая работает в связке с ардуино1 и SIM800L через сериал порты

3. сервер(1 страница для приема данных(a=5&b=33&c=44&d=66&e=77&f=88&g=1&h=1&i=1&j=1&k=99&l=8:21&m=9:34&n=1:03&o=432) 2 страница для отправки(a=5&b=33&c=44&d=66&e=77&f=88&g=1&h=1&i=1&j=1&k=99&l=8:21&m=9:34&n=1:03&o=432))
4. приложение андроид



нужно написать код для ардуино2, а лучше сделать блок пользователя для FLprog



в FLprog(визуальное программирование), сделал всю логику программы. При компиляции код стал громоздким не стабильным... Понял, что нужно оптимизировать код(реализовать его процедурами и их вызовами(при моем понимании, но не знании языка)). 





функции ардуино:

1. Проверка регистрации в сети на протяжении всего времени, если нет сети дергать ресет.

2. Инициализация для работы с GPRS

 

"AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"", //Установка настроек подключения
"AT+SAPBR=3,1,\"APN\",\"internet.tele2.ru\"",
"AT+SAPBR=3,1,\"USER\",\"tele2\"",
"AT+SAPBR=3,1,\"PWD\",\"tele2\"",
"AT+SAPBR=1,1", //Устанавливаем GPRS соединение
"AT+HTTPINIT", //Инициализация http сервиса
"AT+HTTPPARA=\"CID\",1" //Установка CID параметра для http сессии

3. узнать "IMEI" (по пину) и отправить строкой в юарт ардуине1
4. запись в переменную "оператор связи"(запрос у модуля)
5. узнать баланс (по пину) и отправить строкой в юарт ардуине1

6. принять от ардуины1 строку \"URL\",\"http://mysite.ru/a=5&b=33&c=44&d=66&e=77&f=88&g=1&h=1&i=1&j=1&k=99&l=8:21&m=9:34&n=1:03&o=432\"

и отправить ее на сервер процедурой:
AT+HTTPPARA=\"URL\",\"http://mysite.ru/a=5&b=33&c=44&d=66&e=77&f=88&g=1&h=1&i=1&j=1&k=99&l=8:21&m=9:34&n=1:03&o=432\"
AT+HTTPACTION=0
дергает пин при успешной отправке

6.1. принять от сервера строку процедурой

AT+HTTPPARA=\"URL\",\"http://mysite.ru/

AT+HTTPACTION=0

AT+HTTPREAD

и отправить ее ардуине1



7. проверять на наличиие зависания ардуино1 если что дергать ресет

8. задействовать пин мультивибратором интервалом 10 сек для проверки зависания ардуиной1 если что дергать ресет

 

Что не понятно спрашивайте