FPC1020 + WeMos D1 Мини

У меня есть FPC1020am, который отлично работает с Arduino, и ESP8266 D1 Mini V2 NodeMcu 4MB Lua, который может подключаться к серверу.

Как подключить FPC1020 напрямую к ESP8266 D1 Mini для сканирования пальца и отправки совпадающего идентификатора на сервер?

вот мой код и ошибка:

#include <NewSoftSerial.h>
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <FPC1020.h>


extern unsigned char l_ucFPID;
extern unsigned char rBuf[192];  //Получить возвращаемые данные
#define sw_serial_rx_pin 2 // Подключите этот вывод к TX на FPC1020
#define sw_serial_tx_pin 3 // Подключите этот вывод к RX на FPC1020

const char* ssid = "-------";
const char* password = "-------";

const char* host = "-------";
String url = "-------?id=";

NewSoftSerial swSerial(sw_serial_rx_pin, sw_serial_tx_pin); // Последовательный отпечаток пальца (RX, TX)
FPC1020 Finger(&swSerial);

void setup() {
  Serial.begin(115200);
  Serial.print("connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  pinMode(4, INPUT);
}

void loop() {
  Serial.println("Please put your finger on the Sensor.");
  while(Serial.available()<=0);

  if( Finger.Search()){
    Serial.print("Success, your User ID is: "); 
    url = "-------?id=" + l_ucFPID;
    Serial.println( l_ucFPID, DEC);

    WiFiClient client;
    if (!client.connect(host, 80)) {
      Serial.println("connection failed");
      return;
    }

    client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                 "Host: " + host + "\r\n" +
                 "User-Agent: BuildFailureDetectorESP8266\r\n" +
                 "Connection: close\r\n\r\n");

    String line = "";
    while (client.connected()) {
      line = client.readString();
    }

    Serial.println(line);    

  }
  else {
    Serial.println("Failed, please try again.");
  }
}

И ошибка:

C:\Program Files (x86)\Arduino\libraries\NewSoftSerial\NewSoftSerial.cpp:41:27: fatal error: avr/interrupt.h: No such file or directory

 #include <avr/interrupt.h>
                           ^
compilation terminated.

exit status 1
Error compiling for board WeMos D1 R2 & mini.

, 👍-2

Обсуждение

Мы не являемся бесплатной службой написания кода., @gre_gor

это последовательное устройство, подключите его к линии UART MCU или используйте SoftwareSerail..., @dandavis

@dandavis программный последовательный порт не работает на WeMos D1 Mini .. есть ли какой-либо другой компонент, который делает это на WeMos D1 Mini?, @mimskydo

я не знаю, откуда вы взяли эту идею, но я все время использую SS на d1minis..., @dandavis

@dandavis, когда я хочу скомпилировать свой код, я получаю эту ошибку: фатальная ошибка: SoftwareSerial.h: нет такого файла или каталога, @mimskydo

Полная ошибка @dandavis: фатальная ошибка: SoftwareSerial.h: нет такого файла или каталога #include <SoftwareSerial.h> ^ компиляция прекращена. статус выхода 1 Ошибка компиляции для платы WeMos D1 R2 и mini., @mimskydo

@mimskydo - это ошибка пользователя, вы не загрузили серийную библиотеку программного обеспечения или не разместили ее в правильном месте. Попробуйте прочитать файл readme или справку по IDE о том, как загружать сторонние библиотеки. Вот почему я сказал, что вы должны были включить сообщение об ошибке, когда задавали этот вопрос в своем другом сообщении, проблема была бы решена к настоящему времени., @Code Gorilla

@CodeGorilla Я обновляю вопрос, добавляя код и ошибку. Не могли бы вы взглянуть на это? Я полностью запутался в этом ... также я использую «NewSoftSerial» вместо «SoftwareSerial» из-за рекомендации веб-сайта arduino. спасибо, @mimskydo

[NewSoftSerial](http://arduiniana.org/libraries/newsoftserial/) теперь находится в ядре Arduino как SoftwareSerial. Я сомневаюсь, что старый NewSoftSerial поддерживает ESP8266., @gre_gor

@mimskydo- avr = Arduino, поэтому, когда вы видите avr в пути, это означает, что ему нужно что-то только для Arduino, а не для ESP. Теперь вам нужно найти версию software serial, которая работает с ESP. ИЛИ вы можете добавить аппаратный последовательный порт http://www.nxp.com/products/signal-chain/bridges/single-uart-with-i2c-bus-spi-interface-64-bytes-of-transmit-and- получить-fifos-irda-sir-встроенная-поддержка: SC16IS740_750_760 ??, @Code Gorilla


1 ответ


Лучший ответ:

1

Я никогда не пробовал это, но D1 Mini имеет 2,5 последовательных порта.

  • Выводы Tx и Rx — Serial0.
  • Цифровой контакт 4 — это TX1. Похоже, что контакта RX нет.
  • D7 и D8 — Rx2 и Tx2.

Поэтому вместо использования SoftwareSerial или NewSoftwareSerial попробуйте использовать Serial2. Это может сработать.

,