Есть две Искры ЖС. Нужно, чтобы они передавали друг другу данные с помощью одного из этих модулей: http://amperka.ru/product/nRF24L01-wireless-module http://amperka.ru/product/rf-433-transmitter Не принципиально, какие будут модули использоваться. Вопрос в следующем - я так понимаю, что не существует библиотек для этих модулей, кроме как на Arduino? Т.е., JavaScript здесь в пролете? Что делать?
Привет! Ни капли не в пролете) модуль 433 МГц - это просто беспроводная кнопка. Какой лог. уровень на передатчике, такой и на приемнике. Для модуля NRF есть библиотека, ее описание находится на сайте espruino.com/NRF24L01P вкратце, так. Если возникнут трудности, пишите!
Большое спасибо. Пока два вопроса: 1. Есть ли библиотеки для модуля 433МГц, чтобы передавать сообщения до килобайта с коррекцией ошибок? 2. То есть, если правиольно подключить пины, библиотека для NRF совместима с Искрой?
Не заработает она на "настоящих" модулях. Смотрел - там одна или две настройки, а остальное надо записью в ячейки памяти делать. Новичкам это не под силу. Да и мне влом, (как оказалось). Эх, где же nRF от тех, кто их изобрел - они на такой библиотеке, наверно, будут связываться. Остальные - вряд ли. Что касается 433МГц, то и библиотека на Espruino есть: http://www.espruino.com/433Mhz И пример работы: http://www.espruino.com/Remote+Control+Sockets Жорик2003! Это классно, что Вы говорите "спасибо", но, может, начнете сами действовать?
Это не надо, Попробуйте: https://www.google.ru/#newwindow=1&q=espruino+433+ Или рискните так: https://www.google.ru/#newwindow=1&q=espruino++nrf24 Смелости хватит?
Здравствуйте, у меня есть две платы IskraJS(http://wiki.amperka.ru/js:iskra_js– IskraJSна сайте амперки) и IskraJSmini(http://wiki.amperka.ru/продукты:iskra-js-mini– IskraJSminiна сайте амперки) и два модуля беспроводной связи NRF24l01+. Я подключил модули к платам напрямую, используя вспомогательную схему распиновки с сайтов выше и на сам модуль к доступным интерфейсам SPI(без контакта IRQ): MISO – MISO; MOSI – MOSI; SCK – SCK; CSN – CSN; CE- CE; Vcc – 3.3V; GND – GND. Пользовался инструкцией с сайта(http://www.espruino.com/NRF24L01P - описание по подключению NRF24l01+ для работы через EspruinoIDE), как я понял там не требовалось подключение IRQ, ну я его и не подключал… В коде для платы Iskra JS, которая стала emitter(Master) прописал опять-же как из примера(только для нужных контактов): Код (Javascript): SPI2.setup({sck:B13, miso:B14, mosi:B15}); var nrf = require("NRF24L01P").connect( SPI2, B0, B1 ); //B0(P6),B1(P5) на схеме function onInit() { nrf.init([0,0,0,0,2], [0,0,0,0,1]);} onInit(); setInterval(function() { nrf.masterHandler();}, 50); И все больше ничего не мудрил – но заливается в память через раз (консоль выпадает при заливке прошивки). В коде для платы Iskra JS mini которая у меня стала receiver(Slave) прописал и залил(консоль работала нормально в Espruino ide): Код (Javascript): SPI1.setup({sck:A5, miso:A6, mosi:A7}); var nrf = require("NRF24L01P").connect( SPI1, B0, B1 ); function onInit() { nrf.init([0,0,0,0,1], [0,0,0,0,2]);} onInit(); setInterval(function() { nrf.slaveHandler();}, 50); Тут все подрубал к SPI1 и как из примера наименования пинов совпали. Но дальше я не понимаю что делать, я пробовал команду вывести на консоль с искры жс мини, а на искре жс подключенную к блоку питания от розетки, через кнопку планировал отсылать сообщение из примера: Код (Javascript): nrf.sendCommand("1+2", function(r) { print("=="+r); }); результатом должно быть Код (Javascript): =3 Но этого не происходило… пробовал варианты из примера и тоже в пустую. Код на Mastereбыл такой: Код (Javascript): var knopa = require('@amperka/button').connect(P3); SPI2.setup({sck:B13, miso:B14, mosi:B15}); var nrf = require("NRF24L01P").connect( SPI2, B0, B1 ); //B0(P6),B1(P5) на схеме искры function onInit() { nrf.init([0,0,0,0,2], [0,0,0,0,1]);} onInit(); setInterval(function() { nrf.masterHandler(); }, 50); knopa.on('press', function() { nrf.sendCommand("1+2", function(r) { print("=="+r); }); }); Прошу подсказать что и где я делал не так? А то запутался и понять где ошибка не могу сам. Если можно с подробным описанием, я еще не силен в JS, пока осваиваю.
Прошло уже много времени, и я все еще жду кто может подсказать что я подключаю неправильно или прописываю неправильно в коде? (С использованием библиотеки Espruino - http://www.espruino.com/modules/NRF24L01P.js и инструкции с их-же сайта - http://www.espruino.com/NRF24L01P) Заранее благодарю.
Коллега! Речь об этом модуле настолько длинна, что можно писать трактаты. Как итог, касающийся Еспруино - там Гордон похалявил с библиотекой и оная не позволяет выставить все настройки, чтобы завести "этот" модуль. "Этот" модуль бывает двух типов: поддельный (90% рынка) и настоящий (который мало кто знает где купить). У вас - поддельный. Иначе бы он завелся с библиотеки. (Правда есть еще особенности Искры). Что делать с поддельным - инициировать все регистры при старте (читайте ссылку). Спросите - как сделать в Еспруино? Ответа, скорее всего, не будет по причине того, что редко здесь встретишь поклонников данного девайса. Вот такая обстановка. Если нужна связь - я бы выбросил этот модуль и взял бы что-то другое. Если вы просто играете - изучайте тему по ссылке, разбирайтесь с регистрами модуля, с тем, как работает SPI на Еспруино, что следует писать непосредственно в модуль при его инициализации, смотрите что пишет туда Гордон и что не пишет в своей библиотеке - ваяйте свое решение. "Я правильно подключил библиотеку и жду что это заработает" в случае с этим NRF не прокатит. Здесь нужен уровень "я досконально понимаю как идет взаимодействие с модулем по SPI". Удачи.
Благодарю за ответ, это многое объясняет. Жаль что библиотека сразу не работает. Буду разбираться с модулем - да, брал чтоб две искры жс погонять по разной беспроводной связи и изучить интерфейсы) п.с. мне кажется потерялись ссылки в тексте
Два варианта: 1. Перейти на язык С 2. Перейти на другой модуль Код на С можно поискать в моих опусах. Он 100% заводит модуль. При условии, что модуль заводится физически.
Ссылка одна, та что в посте. На JS можно общаться с модулем по SPI не хуже чем C. На языке высокого уровня (поди допрыгни) еще проще.
Да, вот об этом уже и думаю)). Только вы имеете в виду Си или С++, на Ардуино библиотеках или на чистом языке? Си я учил и по мне он отличается от С++... Си скорее больше по синтаксису на JS похож. Скорее всего я ошибаюсь, просто брался за плюсы очень давно и тогда небыло понимания и желания(ибо Ардуино еще не существовало в природе), скоро сам углублюсь в это - прикупил набор Матрешка и книгу по С++. Поискал по вашим сообщениям и не понял где именно можно посмотреть? Что вы имеете в виду под "моих опусах"?
Да нет ничего от @parovoZZ заведомо рабочего, и компилируемого без ошибок. Я ни одного кода, что скомпилировался бы не видел. Могут быть только отдельные обрывки кода.
инициализация здесь http://forum.amperka.ru/threads/Суперэкономичный-беспроводной-монитор-Т-и-rh.17221/#post-206147 Или здесь http://forum.amperka.ru/threads/Сен...ashkova-und-parovozz.18103/page-2#post-243808