Adds rfid example code.

This commit is contained in:
Simon Weidacher
2021-12-26 14:00:30 +01:00
parent 68f1427155
commit 1788c9e5aa
6 changed files with 78 additions and 2 deletions

17
.vscode/c_cpp_properties.json vendored Normal file
View File

@@ -0,0 +1,17 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/device/components/*"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}

17
README.md Normal file
View File

@@ -0,0 +1,17 @@
# Kidsbox
### RFID
_The MISO/MOSI pins are not inverted on host/chip_
Connection Table:
|RC522 Pin|ESP32 Lyrat v4.3 Pin|GPIO Number|
|-|-|-|
|3.3v|3.3v|-|
|RST|3.3v|-|
|GND|GND|-|
|SDA|SCLK|5|
|SCK|SCK (I2C header)|23|
|MOSI|LRCK|25|
|MISO|DSDIN|26|

View File

@@ -1,2 +1,2 @@
idf_component_register(SRCS "Networking.cpp" "main.cpp" "WebInterface.cpp" idf_component_register(SRCS "Networking.cpp" "main.cpp" "WebInterface.cpp" "RFIDInterface.cpp"
INCLUDE_DIRS ".") INCLUDE_DIRS ".")

View File

@@ -0,0 +1,26 @@
#include "RFIDInterface.hpp"
#include <esp_log.h>
static const char* TAG = "rfid";
void tag_handler(uint8_t* sn) { // serial number is always 5 bytes long
ESP_LOGI(TAG, "Tag: %#x %#x %#x %#x %#x",
sn[0], sn[1], sn[2], sn[3], sn[4]
);
}
RFIDInterface::RFIDInterface() {
startConfig = (rc522_start_args_t){
.miso_io = 26,
.mosi_io = 25,
.sck_io = 23,
.sda_io = 5,
.callback = &tag_handler
};
}
void RFIDInterface::start() {
rc522_start(startConfig);
}

View File

@@ -0,0 +1,14 @@
#ifndef _RFID_INTERFACE_HPP
#define _RFID_INTERFACE_HPP
#include <rc522.h>
class RFIDInterface {
rc522_start_args_t startConfig;
public:
RFIDInterface();
void start();
};
#endif

View File

@@ -4,6 +4,7 @@
#include "Networking.hpp" #include "Networking.hpp"
#include "WebInterface.hpp" #include "WebInterface.hpp"
#include "RFIDInterface.hpp"
extern "C" { extern "C" {
void app_main(); void app_main();
@@ -11,6 +12,7 @@ extern "C" {
Networking networking; Networking networking;
WebInterface webInterface; WebInterface webInterface;
RFIDInterface rfid;
void app_main(void) { void app_main(void) {
initArduino(); initArduino();
@@ -18,6 +20,6 @@ void app_main(void) {
Serial.begin(115200); Serial.begin(115200);
networking.connectWifi(); networking.connectWifi();
webInterface.start(); webInterface.start();
rfid.start();
} }