![]() |
![]() |
#161 | |
Senior Member
|
![]()
Там числа нужно было вводить в десятичном представлении по три разряда на число, т.е. 0x85 = 113.
Вот новый вариант, где можно hex'ами побайтно писать: Код:
string="010500060001" cnt=${#string} let 'cnt -= 2' crc=0xFFFF for i in `seq 0 2 $cnt`; do crc=$(( crc ^ 0x${string:$i:2} )) for j in `seq 0 7`; do c=$(( crc >> 1 )) if [ $(( crc & 1 )) = 1 ]; then let 'c ^= 0xA001' fi crc=$c done done printf "0x%04X" "$crc" echo Цитата:
__________________
Россия навсегда! Последний раз редактировалось uni; 19.06.2014 в 23:24. |
|
![]() |
![]() |
![]() |
#162 |
Senior Member
Регистрация: 14.04.2010
Сообщений: 239
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Спасибо большое!
Действительно я затупил. Теперь все работает ![]() Придется модуль переписывать, что бы от javascript избавиться |
![]() |
![]() |
![]() |
#163 |
Senior Member
|
![]()
Эт точно
__________________
Россия навсегда! |
![]() |
![]() |
![]() |
#164 |
Junior Member
Регистрация: 02.01.2016
Сообщений: 2
Вес репутации: 0 ![]() |
![]() Добрый день. Я только начинаю осваивать такую сложную тему как OpenHab и Умный дом. Пока нахожусь на стадии теории. Нужен Ваш совет. Задумка такова: OpenHab установлен на Raspberry Pi, к ней подключена Arduino UNO, к Arduino UNO подключены реле и несколько Arduino Pro Mini, а к ним датчики и выключатели. (во вложении схема для наглядности; реле, выключателей и датчиков будет гораздо больше чем на схеме). Основная программа будет стоять на Arduino Uno, OpenHab будет использоваться только для связи с ПК и смартфоном. (если вдруг откажет Raspberry Pi, то всё будет продолжать работать и дальше, только пропадёт связь с ПК и смартфоном). Вопрос: какой протокол использовать между Raspberry Pi и Arduino UNO, Arduino UNO и Arduino ProMini. (на схеме нарисовано штриховыми линиями). При чём протокол должен быть "двухсторонним", т. е. если сработал датчик дыма, то Arduino Pro Mini сама посылает сигнал на Arduino UNO, а не ждёт от неё запроса. А Arduino UNO сама отправляет сигнал на Raspberry Pi о случившимся событии, так же не дожидаясь запроса от Raspberry Pi. Прошу Вас не оставляйте просьбу без ответа. За ранее Спасибо. |
![]() |
![]() |
![]() |
#165 |
Senior Member
Регистрация: 20.09.2014
Сообщений: 145
Вес репутации: 0 ![]() |
![]()
протокол rs-232, по приему байта срабатывает прерывание, кэшируете принятые данные, анализируете принятый код.
всю кучу девайсов соединить в единую двух-проводную сеть rs-232. первый байт что нибудь из служебных символов, далее кому посылка из двух байт, байт типа информации, байты инфы, завершающий служебный байт. все девайсы слушают сеть только в перывании которое срабатывает по приему, по приему байта смотрят кому посылка и что делать. пока нет данных занимаються анализом датчиков. |
![]() |
![]() |
![]() |
#166 |
Junior Member
Регистрация: 02.01.2016
Сообщений: 2
Вес репутации: 0 ![]() |
![]()
Alex19279 Большое спасибо за совет.
|
![]() |
![]() |
![]() |
#167 |
Junior Member
Регистрация: 07.07.2017
Сообщений: 1
Вес репутации: 0 ![]() |
![]()
Потребовался в моём проекте шлюз modbusgw.
Спасибо автору за него, вот только быстрее 57600 не ворочается, а мне надо 921600. Пришлось разобраться где, что, как компилировать. Выкладываю собраный пакет. В исходниках поменял тип данных для хранения скорости и добавил в список все возможные для cfsetspeed. Только в своём проекте столкнулся с необходимостью отключить использование CTS и RTS при инициализации порта, пока не нашел как. Может кто подскажет. |
![]() |
![]() |
![]() |
Здесь присутствуют: 4 (пользователей: 0 , гостей: 4) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|