/**********************************/
/* CANBUS DATA RECEIVER */
/* Microcontroller: WEMOS D1 */
/* Created date: 2022.11.25 */
/* Created by: Nász Zsolt */
/* Szolnoki Szakképzési Centrum */
/* Pálfy-Vízügyi Technikum */
/**********************************/
#include <ESP8266WiFi.h>
#include <SPI.h>
#include <mcp2515.h> // Library for using CAN Communication (https://github.com/autowp/arduino-mcp2515/)
int keyIndex = 0;
float rssi = 0.0;
WiFiClient client;
struct can_frame canMsg;
MCP2515 mcp2515(D10);
int data1, data2, data3, data4, data5, data6, data7, data8 = 0;
int can_id;
int count = 30;
String myStatus = "";
/******************* SETUP ********************/
void setup() {
SPI.begin(); // Begins SPI communication
Serial.begin(115200);
Serial.println();
Serial.println("Configure CANBUS...");
mcp2515.reset();
mcp2515.setBitrate(CAN_500KBPS, MCP_8MHZ); //Sets CAN at speed 500KBPS and Clock 8MHz
mcp2515.setNormalMode();
Serial.println("CANBUS configured.");
}
/******************* LOOP ********************/
void loop() {
if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) // To receive data (Poll Read)
{
can_id = canMsg.can_id;
data1 = canMsg.data[0]; // Read CANBUS data 0
data2 = canMsg.data[1]; // Read CANBUS data 1
data3 = canMsg.data[2]; // Read CANBUS data 1
Serial.print("CANBUS ID: ");
Serial.println(can_id, HEX);
Serial.print("Humidity: ");
Serial.print(data1);
Serial.println(" %, ");
Serial.print("Temp. : ");
Serial.print(data2);
Serial.println(" C, Light: ");
Serial.print(data2);
Serial.println("");
if can_id = 0x036 {
...else...
}
delay(500);
}
}