Phazz писал(а): ↑05.04.2023{, 13:49}
sampl,
Код: Выделить всё
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;
}