У меня есть Arduino Nano, подключенный к Raspberry Pi через USB-порт, и я пытаюсь прочитать входящие последовательные данные, которые являются идентификатором карты RFID. Вот мой код php_serial
<?php
include 'PhpSerial.php';
$serial = new PhpSerial;
// Сначала мы должны указать устройство. Это работает как на Linux, так и на Windows (если
// ваше последовательное Linux-устройство — / dev / ttyS0 для COM1 и т. д.)
$serial->deviceSet("/dev/ttyUSB0");
// Мы можем изменить скорость передачи, четность, длину, стоп-биты, управление потоком
$serial->confBaudRate(9600);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
// Тогда нам нужно открыть его
$serial->deviceOpen();
// читать вещи
$message = $serial->readPort();
echo ( "<br>Received: $message<br>" );
$serial->deviceClose();
?>
Я открываю страницу в браузере и не вижу никаких данных. Это просто пусто.
Кстати — код Arduino:
void setup() {
Serial.begin(9600); // for testing and debugging
SPI.begin(); // run SPI library first; if not, RFID will not work
mfrc522.PCD_Init(); // initializing RFID, start RFID library
pinMode(led_pos, OUTPUT);
pinMode(led_neg, OUTPUT);
}
// ОСНОВНАЯ ПРОГРАММА
void loop() {
int succesRead = getID(); // read RFID tag
}
// ФУНКЦИИ
void redLED(){ // red LED on, green LED off
digitalWrite(led_pos, LOW);
digitalWrite(led_neg, HIGH);
}void greenLED(){ // red LED off, green LED on
digitalWrite(led_pos, HIGH);
digitalWrite(led_neg, LOW);
}
int getID() { // Read RFID
// Getting ready for Reading PICCs
if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue
return 0;
}
if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue
return 0;
}
readTag = "";
for (int i = 0; i < 4; i++) { //
readCard[i] = mfrc522.uid.uidByte[i];
Serial.print(readCard[i], DEC);
readTag=readTag+String(readCard[i], DEC);
}
Serial.println("");
mfrc522.PICC_HaltA(); // Stop reading
return 1;
}
РЕДАКТИРОВАТЬ: данные из Arduino по-прежнему не отображается на веб-странице.
Задача ещё не решена.
Других решений пока нет …