А в sample_cycle_arduino_direct.php что вписано?saf47 писал(а): ↑Чт янв 17, 2019 6:45 pmПодскажите пожалуйста, у меня ардуина передает в serial с помощью такой строку:skysilver писал(а): ↑Ср янв 16, 2019 12:54 pmЧестно сказать таким колхозом мало кто занимается, поэтому готовых решений не найдешь. Нужно писать самому скетч для ардуины и принимающий скрипт на стороне МДМ.saf47 писал(а): ↑Ср янв 16, 2019 5:13 amПринцип я понял, я не понял реализацию, какой-нибудь примерчик, код для ардуины, как запустить нужный скрипт на raberry, и как данные в majoredomo прочитать,. Если не трудно небольшой примерчик. У меня собрана сеть на ардуинах ,по rs485, свой протокол, я хочу все данные из сети в majordomo запихнуть.
Отталкиваться есть от чего. База знаний:
https://kb.smartliving.ru/arduino-bez-ethernetshield/
https://kb.smartliving.ru/kod-proshivki ... majordomo/
https://kb.smartliving.ru/chema-ispolzo ... a-arduino/
Пример цикла для чтения ком-порта в исходниках МДМ:
https://github.com/sergejey/majordomo/b ... direct.php, я установил script по пути: majordomo / scripts /sample_cycle_arduino_direct.php, как мне теперь в majordomo данные получить? вообще я думал он должны в объект uno прописаться, или что -то не так?Код: Выделить всё
sprintf(buf, "GET /objects/?object=uno&op=m&m=data&status=%1 HTTP/1.0", (int)current_garage);
подключение к ардуино к raspberry Pi по RS485
Модератор: immortal
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: подключение к ардуино к raspberry Pi по RS485
Re: подключение к ардуино к raspberry Pi по RS485
из вашего примера просто взял, и не чего в нем не менял, сейчас посмотрю его внимательно.fandaymon писал(а): ↑Чт янв 17, 2019 7:18 pmА в sample_cycle_arduino_direct.php что вписано?saf47 писал(а): ↑Чт янв 17, 2019 6:45 pmПодскажите пожалуйста, у меня ардуина передает в serial с помощью такой строку:skysilver писал(а): ↑Ср янв 16, 2019 12:54 pmЧестно сказать таким колхозом мало кто занимается, поэтому готовых решений не найдешь. Нужно писать самому скетч для ардуины и принимающий скрипт на стороне МДМ.saf47 писал(а): ↑Ср янв 16, 2019 5:13 amПринцип я понял, я не понял реализацию, какой-нибудь примерчик, код для ардуины, как запустить нужный скрипт на raberry, и как данные в majoredomo прочитать,. Если не трудно небольшой примерчик. У меня собрана сеть на ардуинах ,по rs485, свой протокол, я хочу все данные из сети в majordomo запихнуть.
Отталкиваться есть от чего. База знаний:
https://kb.smartliving.ru/arduino-bez-ethernetshield/
https://kb.smartliving.ru/kod-proshivki ... majordomo/
https://kb.smartliving.ru/chema-ispolzo ... a-arduino/
Пример цикла для чтения ком-порта в исходниках МДМ:
https://github.com/sergejey/majordomo/b ... direct.php, я установил script по пути: majordomo / scripts /sample_cycle_arduino_direct.php, как мне теперь в majordomo данные получить? вообще я думал он должны в объект uno прописаться, или что -то не так?Код: Выделить всё
sprintf(buf, "GET /objects/?object=uno&op=m&m=data&status=%1 HTTP/1.0", (int)current_garage);
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: подключение к ардуино к raspberry Pi по RS485
Ааа... Тогда должно работать, но вот та строчка что зашита в ардуино, она вызывает метод data объекта uno, передавая туда параметр status=1. Если мы хотим просто записать в status 1, то лучше /objects/?op=set&object=uno&p=status&v=1saf47 писал(а): ↑Чт янв 17, 2019 7:24 pmиз вашего примера просто взял, и не чего в нем не менял, сейчас посмотрю его внимательно.fandaymon писал(а): ↑Чт янв 17, 2019 7:18 pmА в sample_cycle_arduino_direct.php что вписано?saf47 писал(а): ↑Чт янв 17, 2019 6:45 pmПодскажите пожалуйста, у меня ардуина передает в serial с помощью такой строку:skysilver писал(а): ↑Ср янв 16, 2019 12:54 pmЧестно сказать таким колхозом мало кто занимается, поэтому готовых решений не найдешь. Нужно писать самому скетч для ардуины и принимающий скрипт на стороне МДМ.saf47 писал(а): ↑Ср янв 16, 2019 5:13 amПринцип я понял, я не понял реализацию, какой-нибудь примерчик, код для ардуины, как запустить нужный скрипт на raberry, и как данные в majoredomo прочитать,. Если не трудно небольшой примерчик. У меня собрана сеть на ардуинах ,по rs485, свой протокол, я хочу все данные из сети в majordomo запихнуть.
Отталкиваться есть от чего. База знаний:
https://kb.smartliving.ru/arduino-bez-ethernetshield/
https://kb.smartliving.ru/kod-proshivki ... majordomo/
https://kb.smartliving.ru/chema-ispolzo ... a-arduino/
Пример цикла для чтения ком-порта в исходниках МДМ:
https://github.com/sergejey/majordomo/b ... direct.php, я установил script по пути: majordomo / scripts /sample_cycle_arduino_direct.php, как мне теперь в majordomo данные получить? вообще я думал он должны в объект uno прописаться, или что -то не так?Код: Выделить всё
sprintf(buf, "GET /objects/?object=uno&op=m&m=data&status=%1 HTTP/1.0", (int)current_garage);
Re: подключение к ардуино к raspberry Pi по RS485
у меня ардуина на порту в raspberry определяется как /dev/ttyUSB0 или ttyUSB1, скрипт сам определит порт подключения? И еще в Status я могу записать как один параметр так и строку параметров, например через запятую?
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: подключение к ардуино к raspberry Pi по RS485
Ммм... Порт должен быть ttyAСM, тогда скрипт сам подхватит. И скорость обмена там стоит 9600
В приведенном примере status это название свойства, в которое записывается значение, передающееся параметром v
Несколько свойств присваивать я не пробовал, не уверен что получится. У меня сделано так, что несколько свойств передаются несколькими строчками. Если это зачем-то нужно, тогда надо вызывать метод с несколькими параметрами, чтобы потом этот метод разнёс параметры по свойствам объекта
Re: подключение к ардуино к raspberry Pi по RS485
с портом сейчас разберусь, а такой еще вопросик, в запросеfandaymon писал(а): ↑Чт янв 17, 2019 7:59 pmМмм... Порт должен быть ttyAСM, тогда скрипт сам подхватит. И скорость обмена там стоит 9600
В приведенном примере status это название свойства, в которое записывается значение, передающееся параметром v
Несколько свойств присваивать я не пробовал, не уверен что получится. У меня сделано так, что несколько свойств передаются несколькими строчками. Если это зачем-то нужно, тогда надо вызывать метод с несколькими параметрами, чтобы потом этот метод разнёс параметры по свойствам объекта
Код: Выделить всё
sprintf(buf, "GET /objects/?/objects/?op=set&object=uno&p=status&v=%1 HTTP/1.0", (int)current_garage);
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: подключение к ардуино к raspberry Pi по RS485
так правильнейsaf47 писал(а): ↑Чт янв 17, 2019 8:06 pmс портом сейчас разберусь, а такой еще вопросик, в запросеfandaymon писал(а): ↑Чт янв 17, 2019 7:59 pmМмм... Порт должен быть ttyAСM, тогда скрипт сам подхватит. И скорость обмена там стоит 9600
В приведенном примере status это название свойства, в которое записывается значение, передающееся параметром v
Несколько свойств присваивать я не пробовал, не уверен что получится. У меня сделано так, что несколько свойств передаются несколькими строчками. Если это зачем-то нужно, тогда надо вызывать метод с несколькими параметрами, чтобы потом этот метод разнёс параметры по свойствам объекта, чтобы изменить только свойство, переменная которую необходимо записать помещаем в (int)current_garage, или я не прав?Код: Выделить всё
sprintf(buf, "GET /objects/?/objects/?op=set&object=uno&p=status&v=%1 HTTP/1.0", (int)current_garage);
Код: Выделить всё
sprintf(buf, "GET /objects/?op=set&object=uno&p=status&v=%1 HTTP/1.0", (int)current_garage);
Если где-нибудь в ардуиновском скрипте мы вычислили температуру и занесли её в переменную temp_room, а потом хотим записать её в свойство temp, то строчка будет выглядеть так
Код: Выделить всё
sprintf(buf, "GET /objects/?op=set&object=uno&p=temp&v=%1 HTTP/1.0", (int)temp_room);
Re: подключение к ардуино к raspberry Pi по RS485
спасибо, с этим теперь все ясно. теперь ищу как порт на ttyAMA0 настроитьfandaymon писал(а): ↑Чт янв 17, 2019 8:20 pmтак правильнейsaf47 писал(а): ↑Чт янв 17, 2019 8:06 pmс портом сейчас разберусь, а такой еще вопросик, в запросеfandaymon писал(а): ↑Чт янв 17, 2019 7:59 pmМмм... Порт должен быть ttyAСM, тогда скрипт сам подхватит. И скорость обмена там стоит 9600
В приведенном примере status это название свойства, в которое записывается значение, передающееся параметром v
Несколько свойств присваивать я не пробовал, не уверен что получится. У меня сделано так, что несколько свойств передаются несколькими строчками. Если это зачем-то нужно, тогда надо вызывать метод с несколькими параметрами, чтобы потом этот метод разнёс параметры по свойствам объекта, чтобы изменить только свойство, переменная которую необходимо записать помещаем в (int)current_garage, или я не прав?Код: Выделить всё
sprintf(buf, "GET /objects/?/objects/?op=set&object=uno&p=status&v=%1 HTTP/1.0", (int)current_garage);
этот sprintf подставляет вместо %1, то что находится во втором аргументе, т.е. в данном случае (int)current_garage, целую часть от того что хранится в переменной current_garageКод: Выделить всё
sprintf(buf, "GET /objects/?op=set&object=uno&p=status&v=%1 HTTP/1.0", (int)current_garage);
Если где-нибудь в ардуиновском скрипте мы вычислили температуру и занесли её в переменную temp_room, а потом хотим записать её в свойство temp, то строчка будет выглядеть так
Код: Выделить всё
sprintf(buf, "GET /objects/?op=set&object=uno&p=temp&v=%1 HTTP/1.0", (int)temp_room);
Re: подключение к ардуино к raspberry Pi по RS485
как вы думаете может какая то программа настраивает порт не правильно, у меня Arduino ID , Processing установлены, не могут случайно он порт переназначать?saf47 писал(а): ↑Чт янв 17, 2019 8:24 pmспасибо, с этим теперь все ясно. теперь ищу как порт на ttyAMA0 настроитьfandaymon писал(а): ↑Чт янв 17, 2019 8:20 pmтак правильнейsaf47 писал(а): ↑Чт янв 17, 2019 8:06 pmс портом сейчас разберусь, а такой еще вопросик, в запросеfandaymon писал(а): ↑Чт янв 17, 2019 7:59 pmМмм... Порт должен быть ttyAСM, тогда скрипт сам подхватит. И скорость обмена там стоит 9600
В приведенном примере status это название свойства, в которое записывается значение, передающееся параметром v
Несколько свойств присваивать я не пробовал, не уверен что получится. У меня сделано так, что несколько свойств передаются несколькими строчками. Если это зачем-то нужно, тогда надо вызывать метод с несколькими параметрами, чтобы потом этот метод разнёс параметры по свойствам объекта, чтобы изменить только свойство, переменная которую необходимо записать помещаем в (int)current_garage, или я не прав?Код: Выделить всё
sprintf(buf, "GET /objects/?/objects/?op=set&object=uno&p=status&v=%1 HTTP/1.0", (int)current_garage);
этот sprintf подставляет вместо %1, то что находится во втором аргументе, т.е. в данном случае (int)current_garage, целую часть от того что хранится в переменной current_garageКод: Выделить всё
sprintf(buf, "GET /objects/?op=set&object=uno&p=status&v=%1 HTTP/1.0", (int)current_garage);
Если где-нибудь в ардуиновском скрипте мы вычислили температуру и занесли её в переменную temp_room, а потом хотим записать её в свойство temp, то строчка будет выглядеть так
Код: Выделить всё
sprintf(buf, "GET /objects/?op=set&object=uno&p=temp&v=%1 HTTP/1.0", (int)temp_room);
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: подключение к ардуино к raspberry Pi по RS485
Так надо посмотреть какие устройства в /dev есть. И если всё-таки действительно обмен идёт через ttyUSB0 или ttyUSB1, то просто в код цикла на PHP этот порт захардкодить (убрать с 34 по 48 строчки и вписать в 54 свой порт)