mysql — переполнение стека POST в буфере Arduino

Я пытаюсь создать приложение, которое читает BarCode через PS / 2-ридер с Arduino и отправляет его в MySQL DB, это код, который я использую, но кажется, что не работает с PHP часть. Что я делаю не так ?? Спасибо за любую помощь и извините за любую английскую ошибку.

    #include <PS2Keyboard.h>
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // RESERVED MAC ADDRESS
EthernetClient client;int SCAN_ENTER = 0x5a; int SCAN_BREAK = 0xf0;
int breakActive = 0;
int clockPin = 3; // Clock is only output.
int dataPin = 2; // The data pin is bi-directional
// But at the moment we are only interested in receiving
int ledPin = 13;  // When a SCAN_ENTER scancode is received the LED blink
int clockValue = 0; byte dataValue;
byte scanCodes[10] = {0x45,0x16,0x1e,0x26,0x25,0x2e,0x36,0x3d,0x3e,0x46}; char characters[10] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
int quantityCodes = 10;
char buffer[64] = {};   // This saves the characters (for now only numbers)
int bufferPos = 0;
int bufferLength = 64;

void setup() {
pinMode(dataPin, INPUT);
pinMode(clockPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);

if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");

}
}void loop() {

dataValue = dataRead();
// If there is a break code, skip the next byte
if (dataValue == SCAN_BREAK) {
breakActive = 1;
}
// Translate the scan codes to numbers
// If there is a match, store it to the buffer
for (int i = 0; i < quantityCodes; i++) {
byte temp = scanCodes[i];
if(temp == dataValue){
if(!breakActive == 1){
buffer[bufferPos] = characters[i];
bufferPos++;
}
}
}
//Serial.print('*'); // Output an asterix for every byte
// Print the buffer if SCAN_ENTER is pressed.
if(dataValue == SCAN_ENTER){
Serial.print("");  //Texto antes do codigo
// Read the buffer
int i=0;
if (buffer[i] != 0) {
while(buffer[i] != 0) {
Serial.print( buffer[i] );
buffer[i] = 0;
i++;
}

Serial.println("");
bufferPos = 0;
// Blink the LED
digitalWrite(ledPin, HIGH);
delay(300);
digitalWrite(ledPin, LOW);

}
if (client.connect("192, 168, 0, 66",80)) { // REPLACE WITH YOUR SERVER ADDRESS
client.println("POST /add.php HTTP/1.1");
client.println("Host: 192, 168, 0, 66"); // SERVER ADDRESS HERE TOO
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(buffer[i]);
client.println();
client.print( buffer[i] );
}
}
if (client.connected()) {
client.stop();  // DISCONNECT FROM THE SERVER
}
if(dataValue != SCAN_BREAK){
breakActive = 0;
}
dataValue = 0;
}

int dataRead() {
byte val = 0;
// Skip start state and start bit
while (digitalRead(clockPin));  // Wait for LOW.
// clock is high when idle
while (!digitalRead(clockPin)); // Wait for HIGH.
while (digitalRead(clockPin));  // Wait for LOW.
for (int offset = 0; offset < 8; offset++) {
while (digitalRead(clockPin));         // Wait for LOW
val |= digitalRead(dataPin) << offset; // Add to byte
while (!digitalRead(clockPin));        // Wait for HIGH
}
// Skipping parity and stop bits down here.
while (digitalRead(clockPin));           // Wait for LOW.
while (!digitalRead(clockPin));          // Wait for HIGH.
while (digitalRead(clockPin));           // Wait for LOW.
while (!digitalRead(clockPin));          // Wait for HIGH.
return val;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector