NEWS
Драйвер ioBroker MySensors
-
Попробовал подключить NRF24L01 + напрямую к Малине, запускаю шлюз, ./bin/mysgw -d, данные с сенсоров идут прекрасно, а как их в IOBrokere принять???
Попробовал запустить шлюз с виртуальным портом, ./configure –my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB020, выбор порта в брокере не появляется. Мож кто уже проходил это дело? `
Ты можешь попробовать напрямую прописать порт в объекте system.adapter.mysensors.0 => native.comNameЕсли заработает, то я посмотрю, почему в настройках не появляется `
Да прописал system.adapter.mysensors.0 => /dev/ttyUSB020, заработало, IObroker принимает данные прекрасно. Вот теперь и Arduina не нужна в качестве шлюза.
-
Попробовал подключить NRF24L01 + напрямую к Малине, запускаю шлюз, ./bin/mysgw -d, данные с сенсоров идут прекрасно, а как их в IOBrokere принять???
Попробовал запустить шлюз с виртуальным портом, ./configure –my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB020, выбор порта в брокере не появляется. Мож кто уже проходил это дело? `
Ты можешь попробовать напрямую прописать порт в объекте system.adapter.mysensors.0 => native.comNameЕсли заработает, то я посмотрю, почему в настройках не появляется `
Да прописал system.adapter.mysensors.0 => /dev/ttyUSB020, заработало, IObroker принимает данные прекрасно. Вот теперь и Arduina не нужна в качестве шлюза. `
Отлично. А можно ссылку или описание что и как сделано? А я пока посмотрю, почему имя порта не появляется.Edit: попробуй установи с гита. я там расширил список портов
-
На https://www.mysensors.org/build/raspberry всё расписано
-
Может кому пригодится кто захочет использовать аппаратный serial port ttyAMA0 на Малине.
Прикупил вот такую платку http://devicter.ru/goods/Raspberry-PI-n … ?from=YjY1 шлюз Mysensors + часы RTC. Удобно, ни каких проводов не болтается. Прошил её скетчем отсюда http://www.elecrow.com/wiki/index.php?t ... dd-on_V1.0. Подключаю её к Малине и не фига толком не работает. Давай копать инет, и нарыл вот тут http://spellfoundry.com/2016/05/29/conf ... ding-pi-3/ , что порт ttyAMA0 по умолчанию привязан к терминалу.
Отключаем сервис терминала
$ sudo systemctl stop serial-getty@ttyAMA0.service
$ sudo systemctl disable serial-getty@ttyAMA0.service
И правим файл cmdline.txt
$ sudo nano /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes root wait
Удаляем из него console=serial0,115200
Перегружаем Малину и теперь порт ttyAMA0 прекрасно принимает и передаёт наши данные, платка заработала.
-
> Прикупил вот такую платку [http://devicter.ru/goods/Raspberry-PI-n](http://devicter.ru/goods/Raspberry-PI-n) … ?from=YjY1 шлюз Mysensors + часы RTC
2600 руб, охренеть… :shock:За такие деньги можно еще одну малинку взять
-
Попробовал подключить NRF24L01 + напрямую к Малине, запускаю шлюз, ./bin/mysgw -d, данные с сенсоров идут прекрасно, а как их в IOBrokere принять???
Попробовал запустить шлюз с виртуальным портом, ./configure –my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB020, выбор порта в брокере не появляется. Мож кто уже проходил это дело? `
Ты можешь попробовать напрямую прописать порт в объекте system.adapter.mysensors.0 => native.comNameЕсли заработает, то я посмотрю, почему в настройках не появляется `
Да прописал system.adapter.mysensors.0 => /dev/ttyUSB020, заработало, IObroker принимает данные прекрасно. Вот теперь и Arduina не нужна в качестве шлюза. `
Обновил драйвер. Порт должен показываться. Можешь проверить? -
Ты можешь попробовать напрямую прописать порт в объекте system.adapter.mysensors.0 => native.comName
Если заработает, то я посмотрю, почему в настройках не появляется `
Да прописал system.adapter.mysensors.0 => /dev/ttyUSB020, заработало, IObroker принимает данные прекрасно. Вот теперь и Arduina не нужна в качестве шлюза.
Обновил драйвер. Порт должен показываться. Можешь проверить?
Обновил, теперь показывает выбор порта нормально. Спасибо за труды.
-
Решил тут попробовать с IObroker шлюз EthernetGatewayW5100 и столкнулся с такой проблемой. Заливаю скетч в шлюз по умолчанию, подключаюсь к нему MYSController, данные принимаются прекрасно, а вот IObroker не хочет подключаться. Давай разбираться и выясняется, что по умолчанию шлюз EthernetGatewayW5100 работает в режим сервера, и драйвер IObroker тоже в режиме сервера. Ну ладно, правлю скетч, прописываю IP адрес IObroker, это переводит шлюз EthernetGatewayW5100 в режим клиента, заливаю, и MYSController не может подключиться к шлюзу, он тоже клиент. IObroker чёта пытается принимать от шлюза в итоге виснет. Копаю дальше, правлю скетч и перевожу шлюз на протокол UDP, в этом режиме IObroker принимает данные от шлюза нормально. Копаю дальше, снова правлю скетч шлюза на протокол TCP-server и правлю в свойствах обьекта
system.adapter.mysensors.0 => mode client не помогло, данные не принимаются.
А вся эта возня затевалась ради прошивки нодов по воздуху ОТА через MYSController, чтобы не дергать всякие шнурки, а стоит себе шлюз EthernetGatewayW5100 и всё работает, надо прошить нод запустил MYSController, прошил и дальше IObroker работает. Но вот не вышло.
????
Попробовал ещё шлюз ESP8266_Gatewey, такая же фигня абсолютно как и с EthernetGatewayW5100 ….
-
Железо: шлюз с локальными датчиками (электросчетчик и датчики дверей) на mega256+w5100, нод нет
Софт(скетч):
сервер - коннекта с драйвером нет
клиент TPC - коннект есть, датчиков нет
клиент UDP - коннект есть, датчики есть, данные в сервер не идут!
куда копать?
-
В режиме клиента шлюз не передает данные с локальных датчиков (ноды пока не подключал)
Можно ли настроить драйвер так, чтобы он был клиентом?
-
Интересная история… ради эксперимента сделал serial-гейт на другой ардуинке. перешил свой изернетгейт с датчиками на ноду. данных в iobroker нет! мало того не видно пользовательских переменных (V-VAR1..5)
ЗЫ данные появились после открывания/закрывания дверей. но пользовательских переменный нету!
или их нужно принудительно создать? по-идее они должны были добавится в момент презентации
-
В режиме клиента шлюз не передает данные с локальных датчиков (ноды пока не подключал)
Можно ли настроить драйвер так, чтобы он был клиентом? `
ioBroker не работает в режиме клиента. -
ioBroker не работает в режиме клиента. `
я про конкретный драйвер MySensors говорю, а не про брокер в целом, который для меня по что является сплошной загадкой(вот драйвер MegaD328 удался на славу, не нарадуюсь!)
-
К сожалению я не использую драйвер mysensors и не могу сказать, что тут не работает. Но maxtox я думаю сможет во вторник прояснить ситуацию.
ioBroker не может работать с mysensors как клиент. Только как сервер.
Не плохо было бы включить debug и показать какие данные приходят от gateway
-
Кажется разобрался. Нужно пользовательские переменные (V_VAR1..5) презентовать отдельно в S_CUSTOM… Ну где это описано?
-
to sanich2908
Чем компилировал для ESP8266?
У меня если ставлю в режим клиента те #define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 68
вылазиет ошибка :twisted:
! Arduino: 1.8.2 (Windows 7), Плата:"Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"
! In file included from C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:39:0,
! from C:\Users\DedHP\AppData\Local\Temp\arduino_modified_sketch_313960\GatewayESP8266.ino:132:
! C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h: In instantiation of 'size_t WiFiClient::write(T&, size_t) [with T = char*; size_t = unsigned int]':
! C:\Documents\Arduino\ams\Arduino\libraries\MySensors/core/MyGatewayTransportEthernet.cpp:207:58: required from here
! C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:123:36: error: request for member 'available' in 'source', which is of non-class type 'char*'
! size_t left = source.available();
! ^
! C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:127:5: error: request for member 'read' in 'source', which is of non-class type 'char*'
! source.read(buffer.get(), will_send);
! ^
! Используем библиотеку ESP8266WiFi версии 1.0 из папки: C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi
! Используем библиотеку MySensors версии 2.1.1 из папки: C:\Documents\Arduino\ams\Arduino\libraries\MySensors
! Используем библиотеку EEPROM версии 1.0 из папки: C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\EEPROM
! Используем библиотеку SPI версии 1.0 из папки: C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SPI
! exit status 1
! Ошибка компиляции для платы Generic ESP8266 Module. -
1. Не отключается режим присваивания адресов
2. Как определить, что нода умерла?
-
Народ, кто-то использует вариант шлюза с подключением NRF модуля напрямую без ардуины?
вот тут библиотека есть https://www.mysensors.org/build/raspberry
В общем у меня проблема появился с псевдопортом, который создается в этой библиотеке.
И как эту проблему победить, пока даже не представляю
IoB не хочет с ним дружить, получаю следующую картинку:
1160_______.png -
to sanich2908
Чем компилировал для ESP8266?
У меня если ставлю в режим клиента те #define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 68
вылазиет ошибка :twisted:
! Arduino: 1.8.2 (Windows 7), Плата:"Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"
! In file included from C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:39:0,
! from C:\Users\DedHP\AppData\Local\Temp\arduino_modified_sketch_313960\GatewayESP8266.ino:132:
! C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h: In instantiation of 'size_t WiFiClient::write(T&, size_t) [with T = char*; size_t = unsigned int]':
! C:\Documents\Arduino\ams\Arduino\libraries\MySensors/core/MyGatewayTransportEthernet.cpp:207:58: required from here
! C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:123:36: error: request for member 'available' in 'source', which is of non-class type 'char*'
! size_t left = source.available();
! ^
! C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:127:5: error: request for member 'read' in 'source', which is of non-class type 'char*'
! source.read(buffer.get(), will_send);
! ^
! Используем библиотеку ESP8266WiFi версии 1.0 из папки: C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi
! Используем библиотеку MySensors версии 2.1.1 из папки: C:\Documents\Arduino\ams\Arduino\libraries\MySensors
! Используем библиотеку EEPROM версии 1.0 из папки: C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\EEPROM
! Используем библиотеку SPI версии 1.0 из папки: C:\Users\DedHP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SPI
! exit status 1
! Ошибка компиляции для платы Generic ESP8266 Module. `
тоже самое было, пока в MyGatewayTransportEthernet.cpp не заменил:nbytes = client.write(_ethernetMsg, strlen(_ethernetMsg));
на:
nbytes = client.write_P(_ethernetMsg, strlen(_ethernetMsg));
в режиме UDP все равно не компилится…
а что лучше? TCP или UDP?
-
Народ, кто-то использует вариант шлюза с подключением NRF модуля напрямую без ардуины?
..В общем у меня проблема появился с псевдопортом.. `
Я использую. Не нужно создавать виртуальный компорт, юзайте в режиме Ethernet-шлюз-КЛИЕНТАНапример, мой конфиг:
./configure --spi-spidev-device=/dev/spidev0.0 --my-transport=nrf24 --my-rf24-ce-pin=2 --my-rf24-cs-pin=21 --my-rf24-irq-pin=19 --my-gateway=ethernet --my-controller-ip-address=IP_АДРЕС_САМОЙ_МАЛИНКИ