Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Нужна помощь ESP8266 + MCP2515

Тема в разделе "Общие вопросы по esp8266", создана пользователем Фрэнк25РУС, 18 фев 2019.

  1. Фрэнк25РУС

    Фрэнк25РУС Новичок

    Сообщения:
    3
    Симпатии:
    0
    Доброго времени суток. Нужна ваша помощь. Имеется связка из ESP8266 (Lolin NodeMcu V3) + модуль CAN шины MCP2515 (SPI).
    Lolin.PNG MCP2515-CAN-Bus-Module-TJA1050-Receiver-Microcontroller-Development-Board.jpg
    Нужно установить связь между двумя ESP по CAN шине. Сначала собрал все на 2-х Arduino UNO, все работает, сообщения отправляются и принимаются. Сейчас пытаюсь принять на ESP сообщения с Arduino. Ничего не работает. Модуль CAN шины подключен к ESP8266 через логический преобразователь 5 - 3.3В. Оба модуля CAN шины запитаны от 5В (гугл говорит, что на 3.3 ничего не заработает, ну в общем то оно никак не работает). Использую на Nodemcu SPI пины D5-D8. Причем, если подключаю пин D8, то плата отказывается прошиваться с ошибкой error: espcomm_open failed. Отсоединяю провод D8 или замыкаю его на землю, все снова прошивается. Скетчи брал из примеров к библиотеке.

    Скетч отправки сообщений на Arduino.

    Код (C):
    1. #include <SPI.h>
    2. #include <mcp2515.h>
    3.  
    4. struct can_frame canMsg1;
    5. struct can_frame canMsg2;
    6. MCP2515 mcp2515(10);
    7.  
    8.  
    9. void setup() {
    10.  
    11.   canMsg1.can_id  = 0x0F6;
    12.   canMsg1.can_dlc = 8;
    13.   canMsg1.data[0] = 0x8E;
    14.   canMsg1.data[1] = 0x87;
    15.   canMsg1.data[2] = 0x32;
    16.   canMsg1.data[3] = 0xFA;
    17.   canMsg1.data[4] = 0x26;
    18.   canMsg1.data[5] = 0x8E;
    19.   canMsg1.data[6] = 0xBE;
    20.   canMsg1.data[7] = 0x86;
    21.  
    22.   canMsg2.can_id  = 0x036;
    23.   canMsg2.can_dlc = 8;
    24.   canMsg2.data[0] = 0x0E;
    25.   canMsg2.data[1] = 0x00;
    26.   canMsg2.data[2] = 0x00;
    27.   canMsg2.data[3] = 0x08;
    28.   canMsg2.data[4] = 0x01;
    29.   canMsg2.data[5] = 0x00;
    30.   canMsg2.data[6] = 0x00;
    31.   canMsg2.data[7] = 0xA0;
    32.  
    33.   while (!Serial);
    34.   Serial.begin(115200);
    35.   SPI.begin();
    36.  
    37.   mcp2515.reset();
    38.   mcp2515.setBitrate(CAN_125KBPS, MCP_8MHZ);
    39.   mcp2515.setNormalMode();
    40.  
    41.   Serial.println("Example: Write to CAN");
    42. }
    43.  
    44. void loop() {
    45.  
    46.   mcp2515.sendMessage(&canMsg1);
    47.   mcp2515.sendMessage(&canMsg2);
    48.  
    49.   Serial.println("Messages sent");
    50.  
    51.   delay(100);
    Скетч приема сообщений на Nodemcu.

    Код (C):
    1. #include <SPI.h>
    2. #include <mcp2515.h>
    3.  
    4. struct can_frame canMsg;
    5. MCP2515 mcp2515(15);
    6.  
    7.  
    8. void setup() {
    9.   Serial.begin(115200);
    10.   SPI.begin();
    11.  
    12.   mcp2515.reset();
    13.   mcp2515.setBitrate(CAN_125KBPS, MCP_8MHZ);
    14.   mcp2515.setNormalMode();
    15.  
    16.   Serial.println("------- CAN Read ----------");
    17.   Serial.println("ID  DLC   DATA");
    18. }
    19.  
    20. void loop() {
    21.  
    22.   if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) {
    23.    
    24.     Serial.print(canMsg.can_id, HEX); // print ID
    25.     Serial.print(" ");
    26.     Serial.print(canMsg.can_dlc, HEX); // print DLC
    27.     Serial.print(" ");
    28.  
    29.     for (int i = 0; i<canMsg.can_dlc; i++)  {  // print the data
    30.      
    31.       Serial.print(canMsg.data[i]);
    32.       Serial.print(" ");
    33.  
    34.     }
    35.  
    36.     Serial.println();    
    37.   }
    38.  
    39. }
     
  2. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.126
    Симпатии:
    226
    это gpio15, для нормальной работы на нём должен быть 0 при старте.
    Как подключены? Схему в студию. Питания +3,3 и +5 не забыли на преобразователь подать? Земли?
     
  3. nikolz

    nikolz Гуру

    Сообщения:
    3.960
    Симпатии:
    426
    уж сколько раз твердили миру...
    выкиньте преобразователи
    MCP2515 работает от 3.3 и ESP тоже ничего не надо согласовывать.
     
  4. Фрэнк25РУС

    Фрэнк25РУС Новичок

    Сообщения:
    3
    Симпатии:
    0
    Нарисую во Fritzing и приложу.
     
  5. Фрэнк25РУС

    Фрэнк25РУС Новичок

    Сообщения:
    3
    Симпатии:
    0
    Сейчас попробую.
     
  6. Fayton

    Fayton Читатель

    Сообщения:
    15
    Симпатии:
    9
  7. Fayton

    Fayton Читатель

    Сообщения:
    15
    Симпатии:
    9
     
  8. Fayton

    Fayton Читатель

    Сообщения:
    15
    Симпатии:
    9
  9. Fayton

    Fayton Читатель

    Сообщения:
    15
    Симпатии:
    9
  10. Fayton

    Fayton Читатель

    Сообщения:
    15
    Симпатии:
    9
    НОВАЯ версия CANSAN-V3
    Реализован полноценный канхакер(LAWICEL) в режиме работы по USB! Тоько скорость сана и битность выставятся через морду..
    Работает одновременно с мордой.
    Добавлен вывод байт бомбера в статус.
    Увеличил скорость работы.

    CANSAN-V3.zip
     
  11. Fayton

    Fayton Читатель

    Сообщения:
    15
    Симпатии:
    9
    Новая версия CANSAN-V4
    Добавил CAN PLAYER (МАГНИТОФОН :)) с кнопками REC stop PLAY
    Вывод сохраненного в PLAYER на странице

    И повторю все функции Wifi CANHACKER - CANSAN
    1 бомбер
    2 один динамический сендер
    3 один статический сендер
    4 IF to SEND чекер для удаления ошибок
    5 полноценный канхакер(CANHACKER) в режиме работы по USB или Bluetooth
    6 Встроенный рекордер для записи и воспроизведения CAN
    7 Смена SSID и PASSWORD
    8 Установка таймера работы для клиента
    9 Удобная мобильная версия встроенного сайта
    Пароль по дефолту 12345678
    SSID по дефолту CANSan
    Адрес встроенного сайта 192.168.4.1

    Последнюю прошивку выложу под видео с обзором на моем канале!
     
  12. Fayton

    Fayton Читатель

    Сообщения:
    15
    Симпатии:
    9
  13. Fayton

    Fayton Читатель

    Сообщения:
    15
    Симпатии:
    9
     
    FlipWho нравится это.
  14. FlipWho

    FlipWho Новичок

    Сообщения:
    3
    Симпатии:
    0
    Однако!
     

Поделиться этой страницей