Форум ModelldepO  

Вернуться   Форум ModelldepO > Моделизм > Электрика и DCC > Arduino
Ответ
 
Опции темы Опции просмотра
Старый 25.12.2020, 12:35   #476
Rebel
Местный
 
Аватар для Rebel
 
Регистрация: 22.11.2010
Адрес: Москва
Сообщений: 3,075
Сказал(а) 'не согласен(а)'!: 4
Сказали 'не согласен'! 29 раз(а) в 19 сообщениях
Сказал(а) спасибо: 1,733
Поблагодарили 1,669 раз(а) в 842 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
2 Всего
Репутация: обеспечил(а) себе прекрасное будущее (1704)
По умолчанию

Цитата:
Сообщение от Qvan22 Посмотреть сообщение
конфликты из-за того что обе станции сидят на одном 2560 порту в программе
с точки зрения адресации в протоколе важна пара хост/порт
а с точки зрения транспорта ethernet еще и мак-адрес важен, если вы делали полный клон станций, у вас маки случаем не одинаковые?
__________________
🎉 мой канал в телеграм @aleksandr_ru_blog
Rebel вне форума  
Вверх
Старый 25.12.2020, 13:01   #477
Qvan22
Заглянувший
 
Регистрация: 26.01.2013
Адрес: Минск
Сообщений: 204
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 458
Поблагодарили 454 раз(а) в 135 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - луч света в тёмном царстве (454)
По умолчанию

Цитата:
Сообщение от Rebel Посмотреть сообщение
с точки зрения адресации в протоколе важна пара хост/порт
а с точки зрения транспорта ethernet еще и мак-адрес важен, если вы делали полный клон станций, у вас маки случаем не одинаковые?
В Рокрейле у станций разные ip адреса, но порт одинаковый, на стороне станций свои esp8266 с прошивкой прозрачного моста, их уникальный мак перманентно привязан к ip адресу в настройках роутера.
Я про общий порт просто сделал предположение, мало ли там что-то при нескольких клиентах некорректно работает.
Qvan22 вне форума  
Вверх
Старый 25.12.2020, 15:58   #478
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

Цитата:
Сообщение от Rebel Посмотреть сообщение
у вас маки случаем не одинаковые?
Конечно одинаковые. Исходный скетч то один. Нужно будет попробовать сделать разные MACи и порты. Явно что-то по сети. Ведь когда одна КС через TCP, а другая через COM, то все нормально.
__________________
С Уважением Александр.
HO, DCC++, Z21 Arduino
AleksSF вне форума  
Вверх
Старый 25.12.2020, 19:17   #479
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

Изменил в скетче MAC-адрес (MAC_ADDRESS), поменял одну цифру в конце.
Было #define MAC_ADDRESS { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF }
Стало #define MAC_ADDRESS { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xFF }
И на всякий случай изменил настройки в RR для второй КС.
Нажмите на изображение для увеличения
Название: Настройка DCC++FB.jpg
Просмотров: 81
Размер:	60.6 Кб
ID:	187893
Вроде пока лок не зависает. Посмотрим, что будет дальше. Пока времени на опыты нет. Нужно консоль доделать, а то в Новый год внуки должны прийти. Хочу успеть.
__________________
С Уважением Александр.
HO, DCC++, Z21 Arduino
AleksSF вне форума  
Вверх
Старый 25.12.2020, 20:02   #480
Qvan22
Заглянувший
 
Регистрация: 26.01.2013
Адрес: Минск
Сообщений: 204
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 458
Поблагодарили 454 раз(а) в 135 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - луч света в тёмном царстве (454)
По умолчанию

Цитата:
Сообщение от AleksSF Посмотреть сообщение
Вроде пока лок не зависает. Посмотрим, что будет дальше.
Ну и отлично!

Я тоже в своей проблеме разобрался, почему при запуске рокрейла локи иногда не сразу слушаются.
Это какой-то баг самого роклейла, и при самом первом обращении к конкретному локу он может сразу послать команду на движение, например <t 2 2 17 0>,
а может перед этой командой зарезервировать у станции 10 мест под локи с 255м адресом
<t 2 255 0 1><t 3 255 0 1><t 4 255 0 1><t 5 255 0 1><t 6 255 0 1><t 7 255 0 1><t 8 255 0 1><t 9 255 0 1><t 10 255 0 1><t 11 255 0 1><t 12 255 0 1><t 2 2 17 0>.
С одной стороны это безобидные команды, но с другой сумма этих команд в 2 раза больше юарт буфера самой ардуины, отсюда и глюки в начале...
Qvan22 вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 25.12.2020, 21:20   #481
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

В коде досконально не разбирался, но странно. Ведь MAC-адрес это по сути уникальный номер сетевого устройства. И он должен быть назначен сетевому устройству, в данном случае шилду или модулю W5100 Ардуино, еще на заводе. Китайцы конечно могут всем модулям давать одинаковые адреса. Но у меня модули разные, на основной КС W5500, на второй W5100. Ну да ладно будем потом смотреть. Идея от сокращения кода для второй КС осталась. Закончу консоль-стенд и начну отлаживать электронику, тогда и займемся всем.
__________________
С Уважением Александр.
HO, DCC++, Z21 Arduino
AleksSF вне форума  
Вверх
Старый 25.12.2020, 22:44   #482
Rebel
Местный
 
Аватар для Rebel
 
Регистрация: 22.11.2010
Адрес: Москва
Сообщений: 3,075
Сказал(а) 'не согласен(а)'!: 4
Сказали 'не согласен'! 29 раз(а) в 19 сообщениях
Сказал(а) спасибо: 1,733
Поблагодарили 1,669 раз(а) в 842 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
2 Всего
Репутация: обеспечил(а) себе прекрасное будущее (1704)
По умолчанию

Цитата:
Сообщение от AleksSF Посмотреть сообщение
Ведь MAC-адрес это по сути уникальный номер сетевого устройства.
уникальный идентификатор, присваиваемый каждой единице активного оборудования или некоторым их интерфейсам в компьютерных сетях Ethernet. (с)википедия


Цитата:
Сообщение от AleksSF Посмотреть сообщение
И он должен быть назначен сетевому устройству, в данном случае шилду или модулю
поскольку ни шилд ни модуль не являются активным сетевым устройством сами по себе, а всего лишь компоненты, то обеспечение уникальности мака в данном случае ваша забота)

особенно учитывая, что в софте явно задан мак:
Цитата:
Сообщение от AleksSF Посмотреть сообщение
#define MAC_ADDRESS { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF }
__________________
🎉 мой канал в телеграм @aleksandr_ru_blog
Rebel вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 25.12.2020, 23:32   #483
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

Rebel, Еще раз спасибо за наводку в поиске глюка. А в отношении Мака, я так и выразился, только простым языком. Хоть он в устройствах и заложен изготовителем, но в роутерах его можно менять. Чтобы у провайдера не прописывать новый.
__________________
С Уважением Александр.
HO, DCC++, Z21 Arduino
AleksSF вне форума  
Вверх
Старый 26.12.2020, 00:33   #484
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,842
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,656 раз(а) в 1,572 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
3 Всего
Репутация: репутация неоспорима (2702)
По умолчанию

Цитата:
Сообщение от AleksSF Посмотреть сообщение
Идея от сокращения кода для второй КС осталась.
Если что, переходите на Z21. Я сокращённый вариант сделал 5 лет назад. #152
Alexmit вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 26.12.2020, 10:34   #485
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
Если что, переходите на Z21.
Я пока склонен к DCC++, потому что на ней датчики ОС подключаются без всяких шин.
__________________
С Уважением Александр.
HO, DCC++, Z21 Arduino
AleksSF вне форума  
Вверх
Старый 26.12.2020, 10:42   #486
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,842
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,656 раз(а) в 1,572 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
3 Всего
Репутация: репутация неоспорима (2702)
По умолчанию

Цитата:
Сообщение от AleksSF Посмотреть сообщение
Я пока склонен к DCC++, потому что на ней датчики ОС подключаются без всяких шин.
Если у Вас МЕГА, то просто переписать небольшой кусок кода.
Причём там удобно - читаешь сразу порт и складываешь для отправки.
A, C, L и аналоговые K и F.
Alexmit вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 26.12.2020, 11:22   #487
Qvan22
Заглянувший
 
Регистрация: 26.01.2013
Адрес: Минск
Сообщений: 204
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 458
Поблагодарили 454 раз(а) в 135 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - луч света в тёмном царстве (454)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
Причём там удобно - читаешь сразу порт и складываешь для отправки.
Оно и тут просто, получил информацию от датчика и сразу передал ее на компьютер. Без всяких промежуточных библиотек (ну кроме W5500 если использовать шилд), и настройка датчика в рокрейле требует только указать id станции и id сенсора.

На самом деле лучше использовать тот подход, в котором больше разбираешься.
Qvan22 вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 26.12.2020, 13:04   #488
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,842
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,656 раз(а) в 1,572 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
3 Всего
Репутация: репутация неоспорима (2702)
По умолчанию

Цитата:
Сообщение от Qvan22 Посмотреть сообщение
Оно и тут просто, получил информацию от датчика и сразу передал ее на компьютер. Без всяких промежуточных библиотек
Ага конечно.
Только есть разница между: digitalRead в цикле и чтением всего порта, т.е. 8 пин сразу.
Alexmit вне форума  
Вверх
Старый 26.12.2020, 14:42   #489
AleksSF
Пользователь
 
Аватар для AleksSF
 
Регистрация: 23.06.2016
Адрес: Санкт-Петербург
Сообщений: 925
Сказал(а) 'не согласен(а)'!: 25
Сказали 'не согласен'! 11 раз(а) в 11 сообщениях
Сказал(а) спасибо: 1,321
Поблагодарили 606 раз(а) в 318 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - это имя известно всем (618)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
Только есть разница между: digitalRead в цикле и чтением всего порта, т.е. 8 пин сразу.
Никто не спорит, что КС от производителя лучше. И железо продумано и код оптимизирован. Но я например не имею финансов купить всю электронику от производителя. Поэтом леплю то, на что хватает финансов и знаний. Меня DCC++ устраивает. И у себя я не заметил зависаний из-за неоптимального кода.
__________________
С Уважением Александр.
HO, DCC++, Z21 Arduino
AleksSF вне форума  
Вверх
Старый 26.12.2020, 15:16   #490
Qvan22
Заглянувший
 
Регистрация: 26.01.2013
Адрес: Минск
Сообщений: 204
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 458
Поблагодарили 454 раз(а) в 135 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - луч света в тёмном царстве (454)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
Только есть разница между: digitalRead в цикле и чтением всего порта, т.е. 8 пин сразу.
А зачем такие заморочки?

Скрытый текст

Простой пример для меги с чтением ног портов A (d22-d29),C (d37-d30),L (d48-d42), и отправкой информации в сериал при изменении состояния пина. Можно открыть монитор ком порта и по соединять указанные пины с землей.
Или подключить к рокрейлу как DCC++ с отправлением состояние этих 24х пинов.
Arduino код:
uint8_t pin_A;//пины порта A (22-29)
uint8_t pin_C;//пины порта C (37-30)
uint8_t pin_L;//пины порта L (48-42)

unsigned long previousMillis 0;
const 
long interval 100//интервал опроса          

void setup() {
  
Serial.begin (115200);
  
  
DDRA  0x00;//все пины порта А на чтение
  
PORTA 0xFF;//все пины подтягиваем к 5в через внутренние резисторы
  
pin_A PINA;// записываем состояние порта в переменную

  
DDRC  0x00;
  
PORTC 0xFF;
  
pin_C PINC;

  
DDRL  0x00;
  
PORTL 0xFF;
  
pin_L PINL;
}

void loop() {
  
unsigned long currentMillis millis();
   if(
currentMillis previousMillis >= interval
   {    
    
previousMillis currentMillis;  
    
Sensors_Read();
    }  
}

void Sensors_Read()
{  
  if (
pin_A != PINA)//если состояние порта А изменилось - то проверяем пины
  
{
    for (
int i 08i++)
    {
      if (
bitRead(pin_Ai) != bitRead(PINAi))//если состояние пина изменилось пишем в сериал
      
{
        
Sensors_transmit(bitRead(PINAi), 22);
      }
    }
    
pin_A PINA;
  }
  
  if (
pin_C != PINC)
  {
    for (
int i 08i++)
    {
      if (
bitRead(pin_Ci) != bitRead(PINCi))
      {
        
Sensors_transmit(bitRead(PINCi),37 i);
      }
    }
    
pin_C PINC
  }
  
  if (
pin_L != PINL)
  {
    for (
int i 08i++)
    {
      if (
bitRead(pin_Li) != bitRead(PINLi))
      {
        
Sensors_transmit(bitRead(PINLi),49 i);
      }
    }
    
pin_L PINL
  }  
}

void Sensors_transmit(uint8_t stateint num)//конвертирование в формат рокрейла
{
  
char msg_tx[6];
  
msg_tx[0] = '<';
  if (
state) {
    
msg_tx[1] = 'q';
  }
  else {
    
msg_tx[1] = 'Q';
  }
  if (
num 100)
  {
    
msg_tx[2] = (num 100) % 10 48;
  }
  else {
    
msg_tx[2] = ' ';
  }
  if (
num 10)
  {
    
msg_tx[3] = (num 10) % 10 48;
  }
  else {
    
msg_tx[3] = ' ';
  }
  
msg_tx[4] = (num) % 10 48;
  
msg_tx[5] = '>' ;
  
Serial.print(msg_tx);


Последний раз редактировалось Qvan22; 26.12.2020 в 17:00.
Qvan22 вне форума  
Вверх
2 пользователя(ей) сказали cпасибо:
Старый 26.12.2020, 15:42   #491
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,842
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,656 раз(а) в 1,572 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
3 Всего
Репутация: репутация неоспорима (2702)
По умолчанию

Цитата:
Сообщение от Qvan22 Посмотреть сообщение
А зачем такие заморочки?
Спасибо за пример, вот и сравните его с тем что в DCC++
А в Z21 и отправка проще. И состояние сравнивается побайтно.
Скрытый текст

datasend[1] = PINA;
datasend[2] = PINC;
datasend[3] = PINL;
Alexmit вне форума  
Вверх
Старый 26.12.2020, 16:20   #492
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,842
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,656 раз(а) в 1,572 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
3 Всего
Репутация: репутация неоспорима (2702)
По умолчанию

Цитата:
Сообщение от AleksSF Посмотреть сообщение
Но я например не имею финансов купить всю электронику от производителя. Поэтом леплю то, на что хватает финансов и знаний.
Аналогично.
Только некоторые знания и опыт были получены раньше.
Alexmit вне форума  
Вверх
Старый 26.12.2020, 17:34   #493
Qvan22
Заглянувший
 
Регистрация: 26.01.2013
Адрес: Минск
Сообщений: 204
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 458
Поблагодарили 454 раз(а) в 135 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - луч света в тёмном царстве (454)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
вот и сравните его с тем что в DCC++
Просто автор DCC++ художник и так это видит, нам же достаточно его простого протокола общения с рокрейлом, для перевода стрелок и сообщений о занятости. Все эти хитрости с eeprom и жуткой таблицей пинов в рокрейле пусть оставит себе.
Я пишу в юарт <Q 1> и рокреил знает что датчик под номером 1 активен, пишу <q 1> и датчик на плане освободился...
Цитата:
Сообщение от Alexmit Посмотреть сообщение
А в Z21 и отправка проще. И состояние сравнивается побайтно.
Это вам проще, а мне еще разбираться что и как там в этом XpressNet.h устроено и как его адаптировать под другие не ардуиновские платформы. Ваш вариант на самом деле не хуже и не лучше, он просто немного другой.
Qvan22 вне форума  
Вверх
2 пользователя(ей) сказали cпасибо:
Старый 21.01.2021, 22:33   #494
George
увлечённый дедушка
 
Аватар для George
 
Регистрация: 19.10.2020
Адрес: Зеленоград
Сообщений: 91
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 180
Поблагодарили 83 раз(а) в 29 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (83)
По умолчанию

Цитата:
Сообщение от BNSF9399 Посмотреть сообщение
Сообщение от malevich
Использую программу JMRI только для управления локомотивами. Без проводов, с помощью мобильного приложения на смартфоне
а надо ли тогда? соберите WiThrottle shield и JMRI не нужен будет.
http://forum.modelldepo.ru/showpost....&postcount=129
Добрый день.
Подскажите, пожалуйста, чайнику.
Это что же, получается, для простых покатушек JMRI на компе не нужен, можно обойтись UNO и ESP с приложением на телефоне?
George вне форума  
Вверх
Старый 22.01.2021, 10:58   #495
malevich
Пользователь
 
Аватар для malevich
 
Регистрация: 14.10.2014
Адрес: Москва
Сообщений: 744
Сказал(а) 'не согласен(а)'!: 11
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 11,362
Поблагодарили 1,955 раз(а) в 682 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: обеспечил(а) себе прекрасное будущее (1976)
По умолчанию

George, дело было в 2017 году.
У меня БЫЛИ 1 (один) нетбук и 1 (один) смартфон и 1 (одна) станция DCC++.
Больше никаких устройств НЕ БЫЛО.

Часть с проводами:
На нетбуке установлена программа JMRI и WiThrotte-сервер.
К нему по USB подключена плата ARDUINO UNO с мотор-шилдом. На Ардуинке установлена программа DCC++
Из мотор-шилда по проводам сигнал DCC поступает на рельсы.
На рельсах стоят локомотивы.

Часть без проводов:
Нетбук подключается по Wi-Fi к сети, созданной смартфоном, включённом в режим Wi-Fi-модема.
На смартфоне установлено приложение WiThrotte.
С помощью него управляем локомотивами со смартфона без проводов.

Меня всё устроило: маленький нетбук, маленькая Ардуинка ну и пара ноутбучных блоков питания. Один для нетбука, другой - для DCC.
Были разные предложения от форумчан по изменению этой конфигурации. Но я оставил всё как есть.

Тогда я написал на форуме сообщение по этому поводу. Вот его фрагмент:
Цитата:
Сообщение от malevich Посмотреть сообщение
Использую программу JMRI только для управления локомотивами. Без проводов, с помощью мобильного приложения на смартфоне. И даже от Wi-Fi роутера отказался. На выезде удобно, меньше устройств таскать с собой надо. Теперь сеть Wi-Fi у меня создаёт смартфон, который на момент игры я включаю в режим модема. К этой сети по Wi-Fi подключается нетбук с программой JMRI, с помощью WiThrotte-сервера которой и подключается мобильное приложение WiThrotte на на том же самом смартфоне, который и создаёт сеть Wi-Fi.
malevich вне форума  
Вверх
4 пользователя(ей) сказали cпасибо:
Старый 03.05.2021, 01:52   #496
George
увлечённый дедушка
 
Аватар для George
 
Регистрация: 19.10.2020
Адрес: Зеленоград
Сообщений: 91
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 180
Поблагодарили 83 раз(а) в 29 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (83)
По умолчанию

Всем доброго дня. Помогите, пожалуйста, чайнику.
Вот, спустя пяток лет после начала темы решил собрать свою станцию DCC++
От компа с JMRI работает, CV читает и пишет, от ноута с Withrottle-сервером и приложением на моб.телефоне тоже всё хорошо.
Проблема возникает при попытке реализации Withrottle-шилда на esp8266, описанного ранее уважаемым BNSF 9399.
Суть проблемы в том, что телефон на андроиде сеть withrottle видит, но подключиться к ней не может.
При этом с телефонами на айос таких проблем нет.
На сайте разработчика мобильного приложения Engine Driver пишут, что последние версии андроида криво подключаются по вай-фай к устройствам, которые не имеют выхода в интернет: http://https://enginedriver.mstevetodd.com/wifi
После долгих танцев с бубном мне вроде как удалось подключиться к сети withrottle в авиарежиме (телефон пишет, что установлено подключение к сети без доступа в интернет), я могу включить и выключить с телефона питание на рельсах, но после ввода адреса лока кнопки управления в приложении не активируются
Похоже, что по факту связи всё-таки нет...
Кто-нибудь сталкивался с подобной ситуацией?
Может, есть какое-нибудь простое решение этой проблемы, вроде того, что в скетче для esp в нужном месте указать какой-нибудь абстрактный интернет-адрес?
Сам я, к сожалению, в этом не силён...
Очень уж хочется уйти от использования компа или ноута при простом (не автоматизированном) управлении макетом.

Или, как вариант, организовать связь между телефоном и esp через домашний роутер, но это тоже за пределами моих возможностей...
В общем, буду благодарен за любые отклики и наставления по данной теме.

Поначалу была мысль перейти на "облегчённую" версию А21 с внешним вайфаем на esp8266, но подумалось, что там те же грабли?!
George вне форума  
Вверх
Старый 03.05.2021, 14:01   #497
George
увлечённый дедушка
 
Аватар для George
 
Регистрация: 19.10.2020
Адрес: Зеленоград
Сообщений: 91
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 180
Поблагодарили 83 раз(а) в 29 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (83)
По умолчанию

BNSF9399, доброго дня.
Подскажите, пожалуйста, в чём м/б проблема. Пытаюсь запустить withrottle шилд на esp-01 и Uno.
Телефон сеть видит, но ругается на превышение таймаута при соединении с сервером. Иногда, после многочисленных попыток, даже выходит на управление заслонкой, питание на рельсы при помощи кнопки подаёт, но после ввода адреса лока кнопки управления на телефоне не активируются. Похоже, всё-таки проблемы с сетью...

Нашёл обновлённый скетч WiTrottle по Вашей ссылке на GitHub: https://github.com/vhar/withrottle/b...WiThrottle.ino, в котором, по описанию, были решены проблемы с подключением к серверу, но при компиляции скетча (без подключенной платы) уже почти в самом конце выдаёт ошибку:
"maxClient" was not declared in this scope.

Нужно задать кол-во клиентов или в скетче опечатка?
Помогите, пожалуйста.
Миниатюры:
Нажмите на изображение для увеличения
Название: скрин.png
Просмотров: 471
Размер:	12.5 Кб
ID:	192159

Последний раз редактировалось George; 04.05.2021 в 11:03.
George вне форума  
Вверх
Старый 17.05.2021, 13:48   #498
George
увлечённый дедушка
 
Аватар для George
 
Регистрация: 19.10.2020
Адрес: Зеленоград
Сообщений: 91
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 180
Поблагодарили 83 раз(а) в 29 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (83)
По умолчанию

Уважаемые модераторы,
прошу удалить последние три (включая это) моих сообщения 496 - 498 в данной теме.
Никакой полезной информации они не содержат, только мешают восприятию темы.
Да и отклика нет...

С WiThrottle - шилдом до конца так и не разобрался, постоянно пропадает связь при наличии сети.
Пришлось осилить станцию А21 с внешним WiFi на esp-01.
В итоге использую её для управления с моб.телефона вместо WiThrottle - шилда
Внуку больше пока не требуется

Большое спасибо и удачи!
George вне форума  
Вверх
Старый 22.05.2021, 09:22   #499
osmanpasha
Заглянувший
 
Регистрация: 16.07.2019
Адрес: -
Сообщений: 82
Сказал(а) 'не согласен(а)'!: 2
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 51
Поблагодарили 125 раз(а) в 46 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (125)
По умолчанию

Цитата:
Сообщение от George Посмотреть сообщение
Нашёл обновлённый скетч WiTrottle по Вашей ссылке на GitHub: https://github.com/vhar/withrottle/b...WiThrottle.ino, в котором, по описанию, были решены проблемы с подключением к серверу, но при компиляции скетча (без подключенной платы) уже почти в самом конце выдаёт ошибку:
"maxClient" was not declared in this scope.
Добрый день. Последнее обновление проекта по ссылке - моё, так что могу попробовать вам помочь с проектом. Код на гитхабе я проверил, он собирается.
osmanpasha вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 04.06.2021, 14:38   #500
George
увлечённый дедушка
 
Аватар для George
 
Регистрация: 19.10.2020
Адрес: Зеленоград
Сообщений: 91
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 180
Поблагодарили 83 раз(а) в 29 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: скоро придёт к известности (83)
По умолчанию

Доброго дня. Одну ошибку у себя я нашёл - в обновлённый скетч для esp с гитхаба забыл добавить оттуда же файл config. Его не было в первом варианте скетча в сообщении #129 данной темы: http://forum.modelldepo.ru/showpost....&postcount=129, а именно в нём прописано максимальное кол-во клиентов для обновлённого скетча.
Теперь компиляция проходит без ошибок, но при попытке подключения со смартфона к серверу происходит отсоединение по превышении тайм-аута...
Ещё момент: я использую Uno, а на гитхабе приведена схема на Mega, ну и исключён резистор 10к. Если это не принципиально, то мне, похоже, остаётся копать только в сторону исправности плат esp-01 или каких-либо косяков при монтаже...
Косвенно об этом свидетельствует индикация светодиодов на esp: при включении питания яркость красного светодиода может быть разной, иногда надолго загорается голубой. Обратил на это внимание, потому что на станции A21 с такой же платой esp индикация всегда стабильна.
Если можно, подскажите, пожалуйста, какие строки скетча для ардуино нужно раскомментировать для вывода сообщений в монитор порта.
George вне форума  
Вверх
Пользователь сказал cпасибо:
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Декодер для стрелки LGB на Ардуино BR95009 Arduino 42 25.10.2016 16:13
Самодельная Командная станция Васёк Электрика и DCC 58 16.12.2010 16:11
Командная станция ESU VRD Электрика и DCC 4 13.05.2010 17:17


Текущее время: 18:55. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -