Как отправить данные mfrc522 в приложение C# с помощью TCP-сервера nodemcu?
Привет ребята;
Я пытаюсь я пытаюсь отправить данные Mfrc522 в приложение c# через Nodemcu esp8266, который действует как точка доступа для приложения c#.
Я изменил код, который получил со следующего сайта:-
http://tdmts.net/2017/02/04/controlling-an-arduino-with-a-wifi-esp8266-adapter-using-a-windows-10-universal-app/
и мой модифицированный код таков :=
#include ESP8266WiFi.h> #include SPI.h> #include MFRC522.h> const char* AP_SSID ="IoT4143" ; const char* AP_PASSWORD ="iot4143"; #define RST_PIN D3 #define SS_PIN D4 MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance WiFiServer server(80); WiFiClient client; void wifiConnect() { WiFi.disconnect(); WiFi.softAP(AP_SSID, AP_PASSWORD); int watchDog = 0; while (WiFi.status() != WL_CONNECTED) { delay(500); watchDog++; if(watchDog == 60) { WiFi.disconnect(); WiFi.printDiag(Serial); watchDog = 0; return; } } server.begin(); } void setup() { Serial.begin(115200); SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); // Init MFRC522 mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks...")); wifiConnect(); } void loop() { //Are we connected to WiFi? if(WiFi.status() != WL_CONNECTED) { wifiConnect(); } //Wait for a connection attempt client = server.available(); if (!client) { return; } // Wait until the client sends some data int watchDog = 0; while(!client.available()) { delay(1); if(watchDog == 10000) { watchDog = 0; return; } watchDog++; } sendData(); } void sendData() { // Read the first line of the request String request = client.readStringUntil('\r'); client.flush(); // Match the request while(request=="READSTOP") { Serial.println("RFID READING STARTED..."); //Forward to C# App if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Select one of the cards if ( ! mfrc522.PICC_ReadCardSerial()) { return; } // Dump debug info about the card; PICC_HaltA() is automatically called client.print(mfrc522.uid); } Serial.println("RFID READING STOPPED"); //Stop server delay(1); client.stop(); }
Я очень новичок в аппаратном/сетевом программировании, я не знаю, какие будут возможные ошибки вышеприведенного кода и будет ли он работать или нет
когда я проверил приведенный выше код в arduino ide, ошибка wasa в этой строке кода:=
client.print(mfrc522.uid); error:= no matching function for call to 'WiFiClient::print(MFRC522::Uid&)'
Я просто хочу отправить rfid-данные в приложение c#, вся проверка будет выполнена на c#.
При нажатии кнопки connect в приложении строка "READSTART" отправляется в nodemcu, а при нажатии кнопки disconnect-строка "READSTOP".
Пожалуйста, нужна помощь!!!!
Что я уже пробовал:
Я не загрузил код на свое оборудование из-за сомнений в моем коде.