arduino и rfid rdm-6300

Тема в разделе "Проводная и беспроводная связь", создана пользователем hackerion, 27 дек 2014.

  1. hackerion

    hackerion Нуб

    имеется
    arduino uno
    rfid модуль rmd 6300
    пример кода (снизу)
    руки примерно прямые....

    Задача - считать код карты , отправить его по usb в сериал монитор , а вот теперь загвоздка, этот код должен вноситься в бд (база учеников техникума). Как связать сериал монитор и бд??
     
  2. hackerion

    hackerion Нуб

    #include <SoftwareSerial.h>

    SoftwareSerial SoftSerial(9, 8);// Подключение RDM6300 к 8 и 9 пинамArduino Uno

    unsigned char buffer[64]; //Описание 64-битного массива буфера

    int count=0;//Описание переменной для работы с массивом

    void setup(){

    SoftSerial.begin(9600);// Запуск RDM6300

    Serial.begin(9600);}//ЗапускСОМ-порта

    void loop(){

    if (SoftSerial.available()){//Если в RDM6300 есть данные - переписываем из в массив

    while(SoftSerial.available()){//Чтение данных из RDM6300

    buffer[count++]=SoftSerial.read();//Запись данных в переменную массива

    if(count == 64)break; }//Если считали первые 64 бита - обрываем чтение

    Serial.write(buffer,count);//Если данных больше нет - записываем значение в порт

    count = 0;//Обнуление переменной массива

    Serial.println();}}//Перевод строки перед записью нового значения

    void clearBufferArray(){//Подпрограмма очистки буфера

    for (int i=0; i<count;i++)

    { buffer=NULL;}}//Обнуление ячейки массива
     
  3. Можно с помощью прикладного программного обеспечения Visual Studio, Delphi, Visual Basic. Можно с помощью утилит. Можно поставить Denwer (APACHE,PHP, MYSQL) и воспользовать ссылочкой

    https://github.com/Xowap/PHP-Serial
     
  4. hackerion

    hackerion Нуб

    Cпасибо ,за идею, однако я пока только первокурсник и ещё только учусь, может вы можете хотябы примерно обьяснить как все это установить и связать?
     
  5. Для начала вам нужно знать в какую базу данных нужно писать. Существуют много разных баз данных, от типизированного текстового файла, до баз данных Oracle. Я думаю самое простое будет писать в базу данных mysql. Для этого необходимо установить Вэб-сервер на компьютере. Рекомендую для новичков Denwer. Он содержит сам сервер Apache, втроенный модуль PHP и базу данных Mysql. На PHP и будет писать свой проект.

    Заходим http://www.denwer.ru/ и внимательно читаем. Я знаю, что будет лень читать, но это нужно.

    1. Качаем http://www.denwer.ru/. Ссылка на скачивание придет на почту, заполните необходимые поля.
    2. Устанавливаем Denwer (Подробно читаем про установку).
    3. После установки денвера, необходимо создать папку с вашим проектом (сайтом).

    В каком техникуме учишься и какие языки программирования сейчас преподают у вас? Может тебе будет проще через прикладное по сделать.
     
  6. hackerion

    hackerion Нуб

    Учусь в Машиностроительном техникуме, однако на 1 курсе у нас только предметы базовой программы никакого програмирования, что такое денвер я знаю,базу данных зделаем такую как легче, языков не знаю никаких ,ну кроме pascal.....
    Хорошо я создам этот "сайт " но а как его зацепить с ардуиной?
    P/S.простите за то что я нуб, но всеже лучше изучать такое чем шляться по плохим компаниям.
     
  7. hackerion

    hackerion Нуб

    Денвер установлен ,папка готова.
     
  8. Ардуино, подключена по USB к компьютеру, когда студент прислоняет карточку, на Com порту отображается его код Serial.write(buffer,count);. Так как вы Pascal знаете, то вам лучше будет писать на объектном паскале (Delphi) существует много компонентов, для работы с Com портом, самый лучший из них это http://delphi-z.ru/delphi/delphi-co...-source-for-d7-xe2-xe5-x86-x64-with-demo.html
    качайте его и ставьте на delphi. Там есть примеры. Загрузите скетч в ардуино, закройте монитор порта. Откройте пример в Delphi выберите порт, скорость (9600). и запустите программу... После считывания карты в окне появится код Serial.write(buffer,count), обрабатывайте его......
     
  9. Создайте папку с сайтом например arduino.rus/www/ скачайте туда https://github.com/Xowap/PHP-Serial

    создайте файл index.php, подключите библиотеку
    <? include 'PhpSerial.php'; ?> создайте класс и вперед
     
  10. hackerion

    hackerion Нуб

    С этого место поп подробней пожалуйста.
    Какой файсл создать и что в нём должно быть?Что значит создать класс?
     
  11. hackerion

    hackerion Нуб

    Cамое сложное для нас это и есть обработать эту инфу из Serial
     
  12. Ок. Delphi есть ?
     
  13. hackerion

    hackerion Нуб

    Пока нет, но это не проблема, уже устанавливаю.
     
  14. Качай компонент, там есть пример Simple Packet. Вот оно счастье....
     
  15. hackerion

    hackerion Нуб

    если я правилно понял то это просто программа которая слущает com порт, но как его значение передать дальше?
     
  16. Можно разными способами, либо вы напрямую из delphi делаете запрос в mysql денвера, либо через PHP скрипт денвера, делаете GET запрос на страницу http://www.arduino.rus/?code=EADERFDFERFER и там скриптом уже вставляете в базу данных. В дельфях есть компонент TidHTTP которым можно делать GET и POST запросы
     
  17. Код (Text):
    procedure TForm1.nrComm1AfterReceive(Com: TObject; Buffer: Pointer;
      Received: Cardinal);
    var i:integer;
        ch:AnsiChar;
    begin
      for i := 0 to Received - 1 do begin
        ch := PAnsiChar(Buffer)[I];
        if ch = EndOfPacket[idxEOP] then begin
          if idxEOP >= Length(EndOfPacket) then begin
       
            //Отправка GET запроса на сервер
            idHTTP1.Get('http://www.arduino.rus/?code='+DataPacket);

            DataPacket := '';
            idxEOP := 1;
          end;
          Inc(idxEOP);
        end else begin
          idxEOP := 1;
          DataPacket := DataPacket + ch;
        end;
      end;
    end;
    PHP CODE

    Код (Text):

    <?
    $code=htmlspecialchars($_GET["code"]);
    $sql="insert into my_base_rus (RECORD_DATA) VALUES ('$code')";
    $result=mysql_query($sql);
     
    ?>