Я смотрел, точно через ttyISB, вот только включаю в один и тот же разъем,а он иногда меняет порт ttyISB 1 то ttyISB 0, наверно нужно проверку в скрипте поставить?
подключение к ардуино к raspberry Pi по RS485
Модератор: immortal
Re: подключение к ардуино к raspberry Pi по RS485
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: подключение к ардуино к raspberry Pi по RS485
Тут я не подскажу... Есть опыт реализации датчики подключенные к пинам малины - питон - МДМ и ардуина - USB - рутер под OpenWRT - баш - wifi - МДМ, а вот чтобы ардуино-USB-малина опыта не было. Может быть где в настройках дебиана можно зафиксировать чтобы одно и тоже устройство всегда подключалась к одному и тому же портуsaf47 писал(а): ↑Чт янв 17, 2019 9:19 pmЯ смотрел, точно через ttyISB, вот только включаю в один и тот же разъем,а он иногда меняет порт ttyISB 1 то ttyISB 0, наверно нужно проверку в скрипте поставить?
- Рейтинг: 1.16%
- ИванДрон
- Сообщения: 2
- Зарегистрирован: Чт янв 17, 2019 10:04 pm
- Откуда: Питер
- Благодарил (а): 0
- Поблагодарили: 0
- Контактная информация:
Re: подключение к ардуино к raspberry Pi по RS485
Здравствуйте!
Можно подключить Ардуино к Малине по шине OneWire, по одному I/O выводу.
Причем этот протокол или технология дуплексная и позволяет общаться устройствам по одному проводу, ну и GND конечно не забываем
Библиотека под Ардуино есть, а вот под Малину не видел, может тоже есть.
У кого нибудь есть подобный опыт?
Можно подключить Ардуино к Малине по шине OneWire, по одному I/O выводу.
Причем этот протокол или технология дуплексная и позволяет общаться устройствам по одному проводу, ну и GND конечно не забываем
Библиотека под Ардуино есть, а вот под Малину не видел, может тоже есть.
У кого нибудь есть подобный опыт?
-
- Сообщения: 13
- Зарегистрирован: Чт мар 08, 2018 9:54 am
- Благодарил (а): 3 раза
- Поблагодарили: 4 раза
Re: подключение к ардуино к raspberry Pi по RS485
Имею опыт подключения электросчетчика с RS485 к МД по MQTT. Реализация следующая. ESP8266 c переходником Serial->RS485. ESP читает топик input и все пришедшие отправляет в RS485 и наоборот все что пришло с порта отправляется в топик output. Если проще MQTT<->RS485 мост.
Re: подключение к ардуино к raspberry Pi по RS485
Здравствуйте! опять я по вашу душу. Запустил скрипт: sample_cycle_arduino_direct.php, просто из командной строки, и он у меня ругается на библиотеки в начале скрипта, то есть он их не может открыть. Что ни будь на это можете мне подсказать?saf47 писал(а): ↑Чт янв 17, 2019 8:28 pmкак вы думаете может какая то программа настраивает порт не правильно, у меня 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);
Re: подключение к ардуино к raspberry Pi по RS485
Ну тут сам понял,скрипт для пробы положил в другую директорию. А когда запускаю из правильной , то есть из папки scrits, то выдает ошибки.[imghttps://cloud.mail.ru/public/6mpm/hTZ3XAzHB][/img]saf47 писал(а): ↑Пт янв 18, 2019 2:14 pmЗдравствуйте! опять я по вашу душу. Запустил скрипт: sample_cycle_arduino_direct.php, просто из командной строки, и он у меня ругается на библиотеки в начале скрипта, то есть он их не может открыть. Что ни будь на это можете мне подсказать?saf47 писал(а): ↑Чт янв 17, 2019 8:28 pmкак вы думаете может какая то программа настраивает порт не правильно, у меня 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);
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: подключение к ардуино к raspberry Pi по RS485
Блин, хватить оверквотить!!! Если себя не жалко, то о других подумайте.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
Re: подключение к ардуино к raspberry Pi по RS485
кто ни будь знает почему скрипт sample_cycle_arduino_direct.php, после запуска дает ошибку на строку: chdir(dirname(__FILE__) . '/../');
пишет синтаксическая ошибка- рядом неожиданный знак ' dirname'
пишет синтаксическая ошибка- рядом неожиданный знак ' dirname'
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: подключение к ардуино к raspberry Pi по RS485
Как запускаешь? Скриншот. А то на том, что выше, запуск скрипта неверный - не указан интерпретатор php в начале.
- Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
Re: подключение к ардуино к raspberry Pi по RS485
спасибо, вы правы, не правильно запускал скрипт.