Wemos и sim800l

Вопросы от новичков
sampl
Сержант
Сообщения: 199
Зарегистрирован: 31 мар 2017, 11:28
Откуда: Днепропетровск

Wemos и sim800l

Сообщение sampl »

Приветик всем, столкнулся с такой бедой.
При подачи питания на wemos и sim800l нет подключения, но если потом нажать на wemos ресет все запускается.
Думал сделать задержку на пин, чтоб после запуска подавал gnd на пин ресет, но получится цикл( не вариант.
Подскажите есть какой то вариант сделать задержку на запуск wemos чтоб была последовательность запуска
Аватара пользователя
Phazz
Полковник
Сообщения: 3110
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 228 раз
Поблагодарили: 107 раз

Wemos и sim800l

Сообщение Phazz »

[ref]sampl[/ref], попробовать вставить delay в начало setup
sampl
Сержант
Сообщения: 199
Зарегистрирован: 31 мар 2017, 11:28
Откуда: Днепропетровск

Wemos и sim800l

Сообщение sampl »

Phazz писал(а): 05 апр 2023, 10:39 [ref]sampl[/ref], попробовать вставить delay в начало setup
А как указать время, если можно кусок кода, я то я не очень понимаю
Аватара пользователя
Phazz
Полковник
Сообщения: 3110
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 228 раз
Поблагодарили: 107 раз

Wemos и sim800l

Сообщение Phazz »

[ref]sampl[/ref],

Код: Выделить всё

delay(5000); 
//5000-время задержки в милисекундах
sampl
Сержант
Сообщения: 199
Зарегистрирован: 31 мар 2017, 11:28
Откуда: Днепропетровск

Wemos и sim800l

Сообщение sampl »

Phazz писал(а): 05 апр 2023, 13:49 [ref]sampl[/ref],

Код: Выделить всё

delay(5000); 
//5000-время задержки в милисекундах
Спасибо, вечером попробую

Отправлено спустя 5 часов 21 минуту 38 секунд:
неа не памогло ( я так понимаю инициализация модема идет раньше чем setup


#define TINY_GSM_MODEM_SIM800
#include <SoftwareSerial.h>
#include <PubSubClient.h>
#include <TinyGsmClient.h>
struct UB_147348714
{
String ubo_57341428 = "";
}
;
UB_147348714 UB_147348714_Instance2;
String UB_147348714_ubi_130751856 = "";
extern "C"
{
#include "user_interface.h"
}

//#define SerialMon Serial
String MQTT_inputTopic;
String MQTT_inputtext;
SoftwareSerial SerialAT(2, 0);
const char apn[] = "internet";
const char user[] = "";
const char pass[] = "";
const char* topicInit= "GsmClient/init";
TinyGsm modem(SerialAT);
TinyGsmClient client(modem);
PubSubClient mqtt(client);
long lastReconnectAttempt= 0;
bool En_75656550_1;
String msg_75656550_1;
String outTopic_75656550_1;
bool _trgrt2 = 0;
bool _trgrt2I = 0;
long _strFunrand2 = 0L;
bool _gen3I = 0;
bool _gen3O = 0;
unsigned long _gen3P = 0UL;
void setup()
{
delay(1000); //тут поставил deley но не памогает
randomSeed(analogRead(0));
Serial.begin(115200);
delay(10);
SerialAT.begin(9600);
delay(3000);
Serial.println("Initializing modem...");
modem.restart();
// Unlock your SIM card with a PIN
//modem.simUnlock("1234");
Serial.print("Waiting for network...");
if (!modem.waitForNetwork())
{
Serial.println(" fail");
while (true);
}
Serial.println(" OK");
Serial.print("Connecting to ");
Serial.print(apn);
if (!modem.gprsConnect(apn, user, pass))
{
Serial.println(" fail");
while (true);
}
Serial.println(" OK");
// MQTT Broker setup
mqtt.setServer("mqtt.beebotte.com", 1883);
mqtt.setCallback(mqttCallback);
}
void loop()
{
//Плата:1
if (mqtt.connected())
{
mqtt.loop();
}
else
{
// Reconnect every 10 seconds
unsigned long t = millis();
if (t - lastReconnectAttempt > 10000L)
{
lastReconnectAttempt = t;
}
if (mqttConnect())
{
lastReconnectAttempt = 0;
}
else if (!modem.gprsConnect(apn, user, pass))
{
while (true);
}
}
if (!(0))
{
if (! _gen3I)
{
_gen3I = 1;
_gen3O = 1;
_gen3P = millis();
}
}
else
{
_gen3I = 0 ;
_gen3O= 0;
}
if (_gen3I)
{
if (_isTimer (_gen3P , (map((1), (0), (60), (0), (60000)))))
{
_gen3P = millis();
_gen3O = ! _gen3O;
}
}
if (_gen3O)
{
_strFunrand2 = random(10, 100);
}
UB_147348714_ubi_130751856 = (String(_strFunrand2, DEC));
_func_UB_147348714(&UB_147348714_Instance2, UB_147348714_ubi_130751856);
if (_gen3O)
{
if (_trgrt2I)
{
_trgrt2 = 0;
}
else
{
_trgrt2 = 1;
_trgrt2I = 1;
}
}
else
{
_trgrt2 = 0;
_trgrt2I = 0;
}
;
En_75656550_1 = _trgrt2;
msg_75656550_1 = UB_147348714_Instance2.ubo_57341428;
outTopic_75656550_1 = String("test/da3");
if (En_75656550_1 == 1)
{
mqtt.publish((char*) outTopic_75656550_1.c_str(), (char*) msg_75656550_1.c_str());
}
}
bool _isTimer(unsigned long startTime, unsigned long period)
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime)
{
return (currentTime>=(startTime + period));
}
else
{
return (currentTime >=(4294967295-startTime+period));
}
}
boolean mqttConnect()
{
Serial.print("Connecting to ");
Serial.print("mqtt.beebotte.com");
if (!mqtt.connect("test", "cZh2TX6sZ2S5pMIHmERWToxYcvifrHtp", ""))
{
Serial.println(" fail");
return false;
}
Serial.println(" OK");
mqtt.publish(topicInit, "GsmClient started");
mqtt.subscribe("#");
return mqtt.connected();
}
void mqttCallback(char* topic, byte* payload, unsigned int len)
{
MQTT_inputtext = "";
MQTT_inputTopic = "";
MQTT_inputTopic = topic;
for (int i=0; i<len; i++)
{
MQTT_inputtext += (char)payload;
}
}
void _func_UB_147348714(struct UB_147348714 *_ubInstans, String ubi_130751856)
{
String ubo_57341428 = _ubInstans->ubo_57341428;
ubo_57341428 = ((String("{\"data\":")) + (ubi_130751856) + (String(",\"write\":true}")));
_ubInstans->ubo_57341428 = ubo_57341428;
}
waswas
Рядовой
Сообщения: 44
Зарегистрирован: 04 апр 2023, 18:39
Имя: Вася

Wemos и sim800l

Сообщение waswas »

sampl писал(а): 05 апр 2023, 21:59 delay(1000); //тут поставил deley но не памогает
SerialAT.begin(9600)
поменяй местами и увеличь до 5000

Отправлено спустя 1 минуту 3 секунды:
sampl писал(а): 05 апр 2023, 21:59 Serial.begin(115200);
SerialAT.begin(9600)
ну и в целом это плохая идея

Отправлено спустя 1 минуту 48 секунд:
waswas писал(а): 05 апр 2023, 22:14 ну и в целом это плохая идея
если в проекте сериал на 9600 - то всегда будут проблемы.

к тому же у тебя еще и mqtt)))
Аватара пользователя
Phazz
Полковник
Сообщения: 3110
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 228 раз
Поблагодарили: 107 раз

Wemos и sim800l

Сообщение Phazz »

Нужно определить через сколько модем готов к работе

Отправлено спустя 6 минут 40 секунд:
1 секунды мне кажется маловато
sampl
Сержант
Сообщения: 199
Зарегистрирован: 31 мар 2017, 11:28
Откуда: Днепропетровск

Wemos и sim800l

Сообщение sampl »

Phazz писал(а): 05 апр 2023, 22:51 Нужно определить через сколько модем готов к работе

Отправлено спустя 6 минут 40 секунд:
1 секунды мне кажется маловато
Ну после подачи питания, сразу нажимаю ресет и запускается сразу же

Отправлено спустя 1 минуту 19 секунд:
waswas писал(а): 05 апр 2023, 22:16
sampl писал(а): 05 апр 2023, 21:59 delay(1000); //тут поставил deley но не памогает
SerialAT.begin(9600)
поменяй местами и увеличь до 5000

Отправлено спустя 1 минуту 3 секунды:
sampl писал(а): 05 апр 2023, 21:59 Serial.begin(115200);
SerialAT.begin(9600)
ну и в целом это плохая идея

Отправлено спустя 1 минуту 48 секунд:
waswas писал(а): 05 апр 2023, 22:14 ну и в целом это плохая идея
если в проекте сериал на 9600 - то всегда будут проблемы.

к тому же у тебя еще и mqtt)))
Ну это по дэфолту у сим 800, а какая скорость будет лучше, в принципе могу поменять…
И не мовсем понял что поменять местами

Отправлено спустя 1 минуту 19 секунд:
Phazz писал(а): 05 апр 2023, 22:51 Нужно определить через сколько модем готов к работе

Отправлено спустя 6 минут 40 секунд:
1 секунды мне кажется маловато
Ставил и 5000 не памогает (
Аватара пользователя
Phazz
Полковник
Сообщения: 3110
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 228 раз
Поблагодарили: 107 раз

Wemos и sim800l

Сообщение Phazz »

В библиотеке вообще 6000) А вы больше 5000 пробовали?
sampl
Сержант
Сообщения: 199
Зарегистрирован: 31 мар 2017, 11:28
Откуда: Днепропетровск

Wemos и sim800l

Сообщение sampl »

Phazz писал(а): 05 апр 2023, 23:27 В библиотеке вообще 6000) А вы больше 5000 пробовали?
Нет) ну сейчас попробую)

Отправлено спустя 57 минут 11 секунд:
Поставил 6000-10000 все равно не запускается 😡 тыкаю ресет и все стартует(((
А какая должна быть скорость модема у меня 9600 может попробывать поднять до 15200?
Fedot
Рядовой
Сообщения: 30
Зарегистрирован: 22 сен 2018, 11:42
Откуда: Татарстан, Казань
Имя: Александр
Благодарил (а): 1 раз

Wemos и sim800l

Сообщение Fedot »

Посмотрите видео у Грачика (Ардуинопром). Он там решил эту проблему. После старта программы делается принудительный сброс SIM800.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Wemos и sim800l

Сообщение rw6cm »

[ref]sampl[/ref],
Посмотрите Эту тему.
Было давно но логику работы можно понять. Сброс модема с пина контроллера.
Возможно в проекте в новых версиях флп надо будет настроить заново блоки UART.
Win10-64, FLProg (portable)
sampl
Сержант
Сообщения: 199
Зарегистрирован: 31 мар 2017, 11:28
Откуда: Днепропетровск

Wemos и sim800l

Сообщение sampl »

rw6cm писал(а): 06 апр 2023, 09:30 [ref]sampl[/ref],
Посмотрите Эту тему.
Было давно но логику работы можно понять. Сброс модема с пина контроллера.
Возможно в проекте в новых версиях флп надо будет настроить заново блоки UART.
Та принцип понял, но попробовал ресетнуть через пин sim800 и не памогло, такое чувство что при старте наглухо зависает wemos и пока не рестартнуть его не отпускает(
Аватара пользователя
Phazz
Полковник
Сообщения: 3110
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 228 раз
Поблагодарили: 107 раз

Wemos и sim800l

Сообщение Phazz »

[ref]sampl[/ref], таак, а на каких пинах модем?
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Wemos и sim800l

Сообщение rw6cm »

[ref=#808080]Phazz[/ref],
Если вемос мини то пин д4,д3, судя из скетча.
[ref]sampl[/ref],
А вы какой ни будь простой тестовый скетч не пробовали для этой пары модулей залить?
как вариант можно попробовать модем кинуть на хард сереал а инфу на софт сереал через внешний UART
и почему проект флп не выложить?
Win10-64, FLProg (portable)
Аватара пользователя
Phazz
Полковник
Сообщения: 3110
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 228 раз
Поблагодарили: 107 раз

Wemos и sim800l

Сообщение Phazz »

Как удачно, эти оба контакта должны в состоянии HIGH находиться. Если хоть один LOW, то esp8266 не запустится
sampl
Сержант
Сообщения: 199
Зарегистрирован: 31 мар 2017, 11:28
Откуда: Днепропетровск

Wemos и sim800l

Сообщение sampl »

Phazz писал(а): 06 апр 2023, 20:38 Как удачно, эти оба контакта должны в состоянии HIGH находиться. Если хоть один LOW, то esp8266 не запустится
Да wemos d1 mini, и весит на пинах D3 D4
Аватара пользователя
Phazz
Полковник
Сообщения: 3110
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 228 раз
Поблагодарили: 107 раз

Wemos и sim800l

Сообщение Phazz »

[ref]sampl[/ref], меняйте пины
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Wemos и sim800l

Сообщение rw6cm »

Phazz писал(а): 06 апр 2023, 20:38 эти оба контакта должны в состоянии HIGH
Как бы везде rx,tx физически подтянуты к HIGH.
Но что на сим800 в момент включения на них происходит не знаю, как вариант может и в этом быть причина.
Win10-64, FLProg (portable)
sampl
Сержант
Сообщения: 199
Зарегистрирован: 31 мар 2017, 11:28
Откуда: Днепропетровск

Wemos и sim800l

Сообщение sampl »

Phazz писал(а): 06 апр 2023, 20:50 [ref]sampl[/ref], меняйте пины
Так и есть, поменял на D1-D2 и запустилась….
Наступил сам согласен🍻

Отправлено спустя 5 минут 25 секунд:
Подскажите еще, суть басни такова мне нужен датчик влажности почвы, ну вот делаю его.
Вопрос в том что у wemos только один A0 как аналоговый, через него думаю измерять датчиком влажность грунта, но так как датчик будут стоять в полях а это 12-15 км от меня то хотелось бы передавать и заряд батареи, но на сколько я понимаю мне нужно с 3.3в через резистер подтянуть к А0?
И как по боротся если на А0 весит датчик влажности почвы.
За ранее всем благодарен ребята.
Ответить

Вернуться в «Начинающим»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя