Очень нужна помощь!
- Войдите на сайт для отправки комментариев
Ср, 04/02/2015 - 11:27
Всем привет. Я новенький. Вот есть такой скетч. Сейчас он для приёма/получения данных по Ethernet. У меня не получается изменить его, заменив Ethernet на блютух модуль? Кто-нибудь сможет мне помочь?
Всё, что должен делать этот скетч, это получать по протоколу UDP строку из десяти нулей и единиц и соответствующим образом зажигать светодиоды. Для этого я подключу плагин к аимп плееру и получу цветомузыку. Надеюсь, что получу
#include <SPI.h> // needed for Arduino versions later than 0018 #include <Ethernet.h> #include <Udp.h> // UDP library from: bjoern@cs.stanford.edu 12/30/2008 byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte ip[] = { 192,168,1,177 }; //IP ардуины unsigned int localPort = 53412; // локальный порт byte remoteIp[4]; unsigned int remotePort; // буфер для приёма/отправки данных char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //буфер для получения данных по сети void setup() { Ethernet.begin(mac,ip); Udp.begin(localPort); for (int i=0; i<10; i++) { pinMode(i,OUTPUT); digitalWrite(i, LOW); } } void loop() { // читаем пакеты данных при наличии int packetSize = Udp.available(); if(packetSize) { memset(packetBuffer, 0, sizeof(packetBuffer)); //обнуляем буфер packetSize = packetSize - 8; // subtract the 8 byte header Udp.readPacket(packetBuffer,UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort); for (int i=0; i<10; i++) { if (packetBuffer[i]=='1') { digitalWrite(i,HIGH); } else { digitalWrite(i,LOW); } } } //if(packetSize) }
Так просто изменить не получиться. Ethernet и Bluetooth работают несколько различно.
см. http://cxem.net/arduino/arduino63.php
Глаза вытекли...
Блютуз на ардуино - это просто удлиннитель для UART.
Работайте с ним, как с обычным последовательным портом. Во всяком случае для режима slave это так.
у вас глаза вытекают, а у меня мозг. казалось бы, что сложного может быть в цветомузыке? Мне ведь всего лишь нужно сделать её беспроводной. а не тут-то было.
Найти скетч в интернете невозможно, авторы готовых проектов не отвечают. а если ты никогда не программировал ничего, то уже и руки опускаются.
Я нашёл этот скетч с ethernet в надежде, что смогу его переделать под бт
anfilive, вы сами-то можете прочитать, что написано у вас в первом сообщении? Я бы с радостью помог, но глаза вытекают...
Вы простите меня за всю неадекватность первого поста. Это можно вовсе и не читать) Всё что я знаю - итоговый результат, а именно цветомузыка, управляемая с плеера (винамп, аимп). Всё что у меня есть для этого-ардуино нано, 5 диодов на плате и блютуз модуль HC-06.
Единственная толковая статья, которая получает в итоге результат, который мне подходит http://student-proger.ru/2012/04/arduino-led-cvetomuzyka/
Но она обходит момент с беспроводной передачей данных, однако она использует плеер, а не как мне советуют - микрофоны и т.д, с которыми качество будет абсолютно неприемлемым.
Цветомузыка это основная часть проекта. Я рассчитываю подвести пучки оптоволокна к диодам и вывести их в картину, которая по моей влажной мечте должна будет вспыхивать под музыку, находясь в соседней комнате
А есть плагин который будет с Аимпа транслировать в блютуз? Тот что в статье по сети транслирует. Если нет такого плагина, то всё остальное бессмысленно. Сначало надо плагин переписать.
Как я и думал - все несложно:
http://www.php.su/mysql/?functions
http://mix-up.ru/malenkij-php-skript-dlya-raboty-s-mysql.html
http://www.codenet.ru/webmast/php/php-mysql-beginners.php
Начать нужно с того в каком формате можно передать данные из плеера в блютуз модуль HC-06 для зажигания светодиодов. Данные будут передавать по COM порту. Выложите сюда результаты: для того чтобы зажечь диод №1 плагин винампа шлет в ком порт "E1\n" - заглавная буква, далее цифра и перевод строки бинарное значение 0x0d. Для того чтобы погасить диод №1 плагин отправляет "D1\n".
Так вот вам нужно найти такой плагин который работает по RS-232 или написать доподнительную программу которая слушает порт UDP(локальная сеть) и транслирует данные а COM порт(RS-232) - которая будет работать на компе как сервис. Главная задача обеспечить передачу данных из плеера по блютус. Только потом можно заниматься аппаратной часть на Ардуино.
Начать нужно с того в каком формате можно передать данные из плеера в блютуз модуль HC-06 для зажигания светодиодов. Данные будут передавать по COM порту. Выложите сюда результаты: для того чтобы зажечь диод №1 плагин винампа шлет в ком порт "E1\n" - заглавная буква, далее цифра и перевод строки бинарное значение 0x0d. Для того чтобы погасить диод №1 плагин отправляет "D1\n".
Так вот вам нужно найти такой плагин который работает по RS-232 или написать доподнительную программу которая слушает порт UDP(локальная сеть) и транслирует данные а COM порт(RS-232) - которая будет работать на компе как сервис. Главная задача обеспечить передачу данных из плеера по блютус. Только потом можно заниматься аппаратной часть на Ардуино.
Плагин к плагину?