Помогите закончить скетч (MODBUS)

IMS_17
IMS_17 аватар
Offline
Зарегистрирован: 11.10.2018

Добрый день! Помогите закончить скетч. У меня на объекте находится "тележка" которая свою очередь двигается строго от точки А к точке В и обратно. На "Тележке" установлена GPS модуль который определяет место положение и отправляет данные через Радио передатчик(NRF24l01+pa+lna) на приемник (NRF24l01+pa+lna). Данные на приемник поступают. Теперь необходимо эти данные опросить через ПК используя программу для опроса (в моем случае MasterOPC Universal Modbus Server). Помогите дополнить скетч чтобы я смог опросить данные (значение flat, flon) через ModBus протокол . UART TTL RS-485 имеется. 

#include <SPI.h>

#include "nRF24L01.h"
#include "RF24.h"
RF24 radio(9,10); // "создать" модуль на пинах 9 и 10 Для Уно
 
byte address[][6] = {"1Node","2Node","3Node","4Node","5Node","6Node"};  //возможные номера труб
 
void setup(){
  Serial.begin(9600); //открываем порт для связи с ПК
  radio.begin(); //активировать модуль
  radio.setAutoAck(1);         //режим подтверждения приёма, 1 вкл 0 выкл
  radio.setRetries(0,15);     //(время между попыткой достучаться, число попыток)
  radio.enableAckPayload();    //разрешить отсылку данных в ответ на входящий сигнал
  radio.setPayloadSize(64);     //размер пакета, в байтах
 
  radio.openReadingPipe(1,address[0]);      //хотим слушать трубу 0
  radio.setChannel(0x60);  //выбираем канал (в котором нет шумов!)
 
  radio.setPALevel (RF24_PA_MAX); //уровень мощности передатчика. На выбор RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX
  radio.setDataRate (RF24_250KBPS); //скорость обмена. На выбор RF24_2MBPS, RF24_1MBPS, RF24_250KBPS
  //должна быть одинакова на приёмнике и передатчике!
  //при самой низкой скорости имеем самую высокую чувствительность и дальность!!
  
  radio.powerUp(); //начать работу
  radio.startListening();  //начинаем слушать эфир, мы приёмный модуль  
}
 
void loop() {
    byte pipeNo, gotByte;  
    float flat; 
    float flon;               
    while( radio.available(&pipeNo)){    // слушаем эфир со всех труб
      radio.read( &gotByte, sizeof(gotByte) );         // чиатем входящий сигнал
      radio.read( &flat, sizeof(flat) );  
      radio.read( &flon, sizeof(flon) );
      Serial.print("Recieved: "); Serial.println(gotByte);
      Serial.print("Данные долгота: "); Serial.println(flat,6 );
      Serial.print("Данные широта: "); Serial.println(flon,6 );
   
   }
}
 

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Вам не нужен 485 контролер ни со стороны компьютера , ни со стороны контролера, если ардуино находится рядом с компом. От 5 тыс. если неспешно, 10 если срочно (2 недели).

IMS_17
IMS_17 аватар
Offline
Зарегистрирован: 11.10.2018

brokly пишет:

Вам не нужен 485 контролер ни со стороны компьютера , ни со стороны контролера, если ардуино находится рядом с компом. От 5 тыс. если неспешно, 10 если срочно (2 недели).

Расстояние от Ардуино до ПК примерно 250 - 300 метров.

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Если от ардуино приемника, тогда адаптеры нужны, усб не прокатит. brokly(at)mail.ru

IMS_17
IMS_17 аватар
Offline
Зарегистрирован: 11.10.2018

brokly пишет:

Если от ардуино приемника, тогда адаптеры нужны, усб не прокатит. brokly(at)mail.ru

какой адаптер?

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

??? Те что у вас на схеме, шилд на MAX485 и USB-485. В вашем случае они нужны только для увеличения длинны линии между ардуино и компом. Если бы ардуино находилась рядом с компом, было бы достаточно использовать USB кабель.

sadman41
Offline
Зарегистрирован: 19.10.2016

Брукли, дело пахнет керосином. Тут не только оба стоковых скетча для NRF переписывать придётся, но и сборку с пуско-наладкой через скайп проводить.

IMS_17
IMS_17 аватар
Offline
Зарегистрирован: 11.10.2018

brokly пишет:

??? Те что у вас на схеме, шилд на MAX485 и USB-485. В вашем случае они нужны только для увеличения длинны линии между ардуино и компом. Если бы ардуино находилась рядом с компом, было бы достаточно использовать USB кабель.

Имеется:
1. NRF 24L01P - 2шт.
2. GY-GPS6MV2 - 1 шт.
3. TTL-RS485 - 1 шт.
4. Arduino UNO 2 щт
5. АС4 Преобразователь автомат. ОВЕН

IMS_17
IMS_17 аватар
Offline
Зарегистрирован: 11.10.2018

sadman41 пишет:

Брукли, дело пахнет керосином. Тут не только оба стоковых скетча для NRF переписывать придётся, но и сборку с пуско-наладкой через скайп проводить.

наладка уже проведена.

fridgetester
fridgetester аватар
Offline
Зарегистрирован: 09.02.2019

поддержу, 5к. fridgetester@mail.ru

IMS_17
IMS_17 аватар
Offline
Зарегистрирован: 11.10.2018

Вот фотки...

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

sadman41 пишет:

Брукли, дело пахнет керосином. Тут не только оба стоковых скетча для NRF переписывать придётся, но и сборку с пуско-наладкой через скайп проводить.

Ненене... Только кусок с модбасом, который будет работать с ЛЮБОЙ СКАДОЙ или ПАНЕЛЬЮ.

IMS_17
IMS_17 аватар
Offline
Зарегистрирован: 11.10.2018

brokly пишет:

sadman41 пишет:

Брукли, дело пахнет керосином. Тут не только оба стоковых скетча для NRF переписывать придётся, но и сборку с пуско-наладкой через скайп проводить.

Ненене... Только кусок с модбасом, который будет работать с ЛЮБОЙ СКАДОЙ или ПАНЕЛЬЮ.

Да да! Надо только кусок с Модбасоом, который будет работать с ЛЮБОЙ СКАДОЙ

karamzin01
Offline
Зарегистрирован: 08.03.2018

Р е а л и з у е м о - maslachenko767@mail.ru , консультации, подбор компонентов бесплатно, гарантии