Считывание данных с usb Порта

мать его и его жабу в во все употребительные,сложные места и помощь по ним,как писать код итд...
Аватар пользователя
admin
Администратор
Сообщений: 195
Зарегистрирован: 10 июн 2017, 16:49
Откуда: Rakun City
Контактная информация:

Считывание данных с usb Порта

Сообщение admin » 30 мар 2018, 13:55

исходник Android
Screenshot_2018-04-04-20-08-49.png


433scan-Writefile-040418.zip



IMG_20180331_101908.jpg


Андройд принимает с ардуино и других контроллеров через юсб,и пишет в файл данные,этот сканер 433 стар-лайн,то есть это можно наделать массу крутых штук на телефоне совместно с микро контроллером!
на походе сканер для андройд телефона с выбросом и прочим,пока не определился на какой лучше плате делать...



код ардуино,подключается шнуром к телефону через usb

Код: Выбрать все



 
const uint8_t PinX = A1;
float X;

 const uint8_t PinY = A2;
float Y;

#define A1_A 8 // выходы на драйвер
#define A1_B 9


#define AY_A 10 // выходы на драйвер
#define AY_B 11

///#define rxPin 3 // выходы на драйвер
#define mass 2
#define vcc 4



//////////////////////////////////////////////////motot


 
#include "math.h"




//wifii&server

#include <OneWire.h>
//////////////////////////////////////////////////////////////shlaki////////////////////////////////////////////////////



int fug;

int fug1;
int fug2;


int fug22;

/////////////////////////////////////////////////////parol
int kiop3 = 0;
int pam = 50;
int passwordkg[6] ={8,3,2,1,9,0};

int parolking = 0;
int parolvvod[6] = {0,0,0,0,0,0};
int i1p = 0;
int yach = 0;

int send_codekg = 0;
int send_codezoy = 0;

int send_code = 1;

int yacheyka = 0;
///////////////////////////////////////////////////////////////////////



 int starres = 0;

int pakiweb = 0;
int bitnumber = 0;
int shirt = 0;

//wifii&server end/////////////////////////////////////

//menu

boolean backlight = true;
int contrast=50;
int kiop=0;
int menuitem = 1;
int page = 1;

int pagero = 0;

int smena = 1;//smena sig

volatile boolean up = false;
volatile boolean down = false;
volatile boolean middle = false;

int downButtonState = 0;
int upButtonState = 0; 
int selectButtonState = 0;         
int lastDownButtonState = 0;
int lastSelectButtonState = 0;
int lastUpButtonState = 0;





//menu end



#define rxPin 7  //d7
///#define TX 6 //d6

#define mass 2
#define vcc 4


#define fugabum 3 //d6
///#define diod 2 //d6



#define tonePin 14 //d5
int ing = 0;
int starlineCounter = 0;
int starlinePreambula = 0;
static long StarLineCode1 = 0; // first part
static long StarLineCode2 = 0; // last part
static long invertStarLineCode1 = 0; // first part
static long invertStarLineCode2 = 0; // last part
String code = "";
boolean bValidPacket=false;
int decodeMethod = 1;
int lastRxValue = 0;
int tempRxValue = 0;
unsigned long lastRxTime = 0;
unsigned long tempTime = 0;
 
//keeloq
int keeloqHeader=0;

int keeloqCounter = 0;

int starlineZCounter = 0;

int starlineZpreambulaCounter = 0;
int keeloqPreambula = 0;

int stralineHeader=0;


static long keeloqCode1 = 0; // first part
static long keeloqCode2 = 0; // last part
static long invertkeeloqCode1 = 0; // first part
static long invertkeeloqCode2 = 0; // last part
String keecode = "";


boolean keebValidPacket=false;

int keelastRxValue = 0;
int keetempRxValue = 0;
unsigned long keelastRxTime = 0;
unsigned long keetempTime = 0;

//пробуем выброс
//keelog start
unsigned long difTime = 0;
unsigned long difTime2 = 0;
int keelog_state = 0;
int keelogCounter = 0;
byte keelog_code[9];
byte keelog_codePAK2[9];
byte keelog_codePAK1[9];
byte hugaz[9];
byte hugazk[9];
byte hugazi[9];
byte starline_code[9];
byte starline_codePAK2[9];
byte starline_codePAK1[9];



byte webpak2[9];
byte webpak1[9];



int starline_state = 0;
byte kefang[9];


byte starline_codePAK2zapis[9];
byte starline_codePAK1zapis[9];

byte starline_codePAK2zapisSBTR[9];
byte starline_codePAK1zapisSBTR[9];


byte keelog_codePAK2zapis[9];
byte keelog_codePAK1zapis[9];


byte keelog_codePAK2zapisSBTR[9];
byte keelog_codePAK1zapisSBTR[9];

byte hugazS[9];
byte hugaziS[9];

byte hugazK[9];
byte hugaziK[9];



/////////////////////////////////////////////////VVODNIE


String readString;
// --------------------
byte CODE[8];
int x=0;

int k=0;//schet keeloq 
int kk  =0; //shet star line

int starkk = 0;

//lcd

//#include <SPI.h>
#include <Wire.h>











byte fugas[9];


void setup() 

  Serial.begin(9600);
  pinMode(5, INPUT_PULLUP); 
    pinMode(6, INPUT_PULLUP); 

/////////////433

pinMode(rxPin, INPUT);
//pinMode(buttonvibros,INPUT_PULLUP);


///  pinMode(TX, OUTPUT);
///  pinMode(diod, OUTPUT);

  lastRxValue = digitalRead(rxPin);
lastRxTime = micros();

//kee
  keelastRxValue = digitalRead(rxPin);
keelastRxTime = micros();
 
 Serial.println("start gansta 433 sig reciver ");
 
 


   


void loop() 

  char c;
 if(Serial.available()) 
 { 
    c = Serial.read(); 
    Serial.print(c ); 
   
 }

if(digitalRead(5)==LOW)
{
  /// Serial.println(""); ////если так то не срабатывает
   delay(100);
   Serial.print("vasilsk");
      delay(100);
}

if(digitalRead(6)==LOW)
{
  /// Serial.println(""); ////если так то не срабатывает
   delay(100);
   Serial.print("vzzz");
      delay(100);
}

//////////433

startgrabber();









////////////////433 func





void startgrabber(){






tempRxValue = digitalRead(rxPin);

if(tempRxValue != lastRxValue){
tempTime = micros();
difTime = tempTime - lastRxTime;
difTime2 = tempTime - lastRxTime;

starline_get();
//grab(tempTime - lastRxTime, lastRxValue);

lastRxTime = tempTime;
lastRxValue = tempRxValue;


 
}
}
 



void starline_get(){
    bValidPacket = false;
    if(starline_state==0){//ждем преамбулу и хедер
      if(difTime2 > 900 && difTime2 < 1100 && lastRxValue ==1 ){
        starlineZpreambulaCounter ++;
       
      }
   

      if(starlineZpreambulaCounter==6){
         
            starline_state=1;         
        }

       //  else{       
     //  starlineZCounter = 0;
     // }
 
    }

    /////////////////////////////////////////////////////PREAMBULA STARA///////////////////////////////////////////////////////////////////////////
    else if(starline_state==1){// получаем биты
      if(difTime2 > 350 && difTime2 < 650 && lastRxValue == 1){// получили 1
        if(decodeMethod==0){
          starline_code[round(starlineZCounter/8)] = (starline_code[round(starlineZCounter/8)]>>1)|B10000000;
        }
        else{
          starline_code[round(starlineZCounter/8)] = (starline_code[round(starlineZCounter/8)]<<1)|B00000000;
        }
        bValidPacket = true;
      }
      else if(difTime2 > 150 && difTime2 < 350 && lastRxValue == 1){
        if(decodeMethod==0){
          starline_code[round(starlineZCounter/8)] = (starline_code[round(starlineZCounter/8)]>>1)|B00000000;
        }
        else{
          starline_code[round(starlineZCounter/8)] = (starline_code[round(starlineZCounter/8)]<<1)|B00000001;
        }
        bValidPacket = true;
      }
      else if(lastRxValue == 0){
      }
      else{
        starline_state=1;
        starlineZCounter = 0;
      }
     
      if(bValidPacket){
        starlineZCounter++;
        if(starlineZCounter==64){           //64ili66
          starline_vardump();
          starlineZCounter = 0;
          starline_state = 0;
          starlineZpreambulaCounter = 0; /////////novshetch
          starkk++;                   /////////shetchik
 




       
        }
      }
    }
}






void starline_vardump(){

 
  if(decodeMethod == 0){
    Serial.println(" - starline origin - ");
  }
  else{
    Serial.println(" - starline invert - ");
  }

 
  Serial.print(starline_code[0], HEX);
  Serial.print(starline_code[1], HEX);
  Serial.print(starline_code[2], HEX);
  Serial.print(starline_code[3], HEX);
  Serial.println("-hop");
  Serial.print(starline_code[4], HEX);
  Serial.print(starline_code[5], HEX);
  Serial.print(starline_code[6], HEX);
  Serial.println("-fix");
  Serial.print(starline_code[7], HEX);
  Serial.println("-btn");
  Serial.print(starline_code[8], HEX);
  Serial.println("-dop");


///fug =starline_code[0];}



///fug1=starline_code[1];
////'fug2=starline_code[2];



 
     
}



код для esp32(esp8266 тоже подходит) подключается через usb так же все работает
приемник на 5й пин
очень важный момент!!! юсб андройд плохо воспринимает скорость свыше 9600 и 115200 глючит ,а в остальном все работает хорошо!
IMG_20180401_084507.jpg

Код: Выбрать все




///#define rxPin 3 // выходы на драйвер



//////////////////////////////////////////////////motot


 
#include "math.h"




//wifii&server

#include <OneWire.h>
//////////////////////////////////////////////////////////////shlaki////////////////////////////////////////////////////



int fug;

int fug1;
int fug2;


int fug22;

/////////////////////////////////////////////////////parol
int kiop3 = 0;
int pam = 50;
int passwordkg[6] ={8,3,2,1,9,0};

int parolking = 0;
int parolvvod[6] = {0,0,0,0,0,0};
int i1p = 0;
int yach = 0;

int send_codekg = 0;
int send_codezoy = 0;

int send_code = 1;

int yacheyka = 0;
///////////////////////////////////////////////////////////////////////



 int starres = 0;

int pakiweb = 0;
int bitnumber = 0;
int shirt = 0;

//wifii&server end/////////////////////////////////////

//menu

boolean backlight = true;
int contrast=50;
int kiop=0;
int menuitem = 1;
int page = 1;

int pagero = 0;

int smena = 1;//smena sig

volatile boolean up = false;
volatile boolean down = false;
volatile boolean middle = false;

int downButtonState = 0;
int upButtonState = 0; 
int selectButtonState = 0;         
int lastDownButtonState = 0;
int lastSelectButtonState = 0;
int lastUpButtonState = 0;





//menu end



#define rxPin 5  //d7
///#define TX 6 //d6







int ing = 0;
int starlineCounter = 0;
int starlinePreambula = 0;
static long StarLineCode1 = 0; // first part
static long StarLineCode2 = 0; // last part
static long invertStarLineCode1 = 0; // first part
static long invertStarLineCode2 = 0; // last part
String code = "";
boolean bValidPacket=false;
int decodeMethod = 1;
int lastRxValue = 0;
int tempRxValue = 0;
unsigned long lastRxTime = 0;
unsigned long tempTime = 0;
 
//keeloq
int keeloqHeader=0;

int keeloqCounter = 0;

int starlineZCounter = 0;

int starlineZpreambulaCounter = 0;
int keeloqPreambula = 0;

int stralineHeader=0;


static long keeloqCode1 = 0; // first part
static long keeloqCode2 = 0; // last part
static long invertkeeloqCode1 = 0; // first part
static long invertkeeloqCode2 = 0; // last part
String keecode = "";


boolean keebValidPacket=false;

int keelastRxValue = 0;
int keetempRxValue = 0;
unsigned long keelastRxTime = 0;
unsigned long keetempTime = 0;

//пробуем выброс
//keelog start
unsigned long difTime = 0;
unsigned long difTime2 = 0;
int keelog_state = 0;
int keelogCounter = 0;
byte keelog_code[9];
byte keelog_codePAK2[9];
byte keelog_codePAK1[9];
byte hugaz[9];
byte hugazk[9];
byte hugazi[9];
byte starline_code[9];
byte starline_codePAK2[9];
byte starline_codePAK1[9];



byte webpak2[9];
byte webpak1[9];



int starline_state = 0;
byte kefang[9];


byte starline_codePAK2zapis[9];
byte starline_codePAK1zapis[9];

byte starline_codePAK2zapisSBTR[9];
byte starline_codePAK1zapisSBTR[9];


byte keelog_codePAK2zapis[9];
byte keelog_codePAK1zapis[9];


byte keelog_codePAK2zapisSBTR[9];
byte keelog_codePAK1zapisSBTR[9];

byte hugazS[9];
byte hugaziS[9];

byte hugazK[9];
byte hugaziK[9];



/////////////////////////////////////////////////VVODNIE


String readString;
// --------------------
byte CODE[8];
int x=0;

int k=0;//schet keeloq 
int kk  =0; //shet star line

int starkk = 0;

//lcd

//#include <SPI.h>
#include <Wire.h>











byte fugas[9];


void setup() 

  Serial.begin(9600);
 
/////////////433

pinMode(rxPin, INPUT);
//pinMode(buttonvibros,INPUT_PULLUP);


///  pinMode(TX, OUTPUT);
///  pinMode(diod, OUTPUT);

  lastRxValue = digitalRead(rxPin);
lastRxTime = micros();

//kee
  keelastRxValue = digitalRead(rxPin);
keelastRxTime = micros();
 
 Serial.println("start gansta 433 sig reciver ");
 
 


   


void loop() 

  char c;
  if(Serial.available()) 
  { 
    c = Serial.read(); 
    Serial.print(c ); 
   
  }



//////////433

startgrabber();









////////////////433 func





void startgrabber(){






tempRxValue = digitalRead(rxPin);

if(tempRxValue != lastRxValue){
tempTime = micros();
difTime = tempTime - lastRxTime;
difTime2 = tempTime - lastRxTime;

starline_get();
//grab(tempTime - lastRxTime, lastRxValue);

lastRxTime = tempTime;
lastRxValue = tempRxValue;


 
}
}
 



void starline_get(){
    bValidPacket = false;
    if(starline_state==0){//ждем преамбулу и хедер
      if(difTime2 > 900 && difTime2 < 1100 && lastRxValue ==1 ){
        starlineZpreambulaCounter ++;
       
      }
   

      if(starlineZpreambulaCounter==6){
         
            starline_state=1;         
        }

       //  else{       
     //  starlineZCounter = 0;
     // }
 
    }

    /////////////////////////////////////////////////////PREAMBULA STARA///////////////////////////////////////////////////////////////////////////
    else if(starline_state==1){// получаем биты
      if(difTime2 > 350 && difTime2 < 650 && lastRxValue == 1){// получили 1
        if(decodeMethod==0){
          starline_code[round(starlineZCounter/8)] = (starline_code[round(starlineZCounter/8)]>>1)|B10000000;
        }
        else{
          starline_code[round(starlineZCounter/8)] = (starline_code[round(starlineZCounter/8)]<<1)|B00000000;
        }
        bValidPacket = true;
      }
      else if(difTime2 > 150 && difTime2 < 350 && lastRxValue == 1){
        if(decodeMethod==0){
          starline_code[round(starlineZCounter/8)] = (starline_code[round(starlineZCounter/8)]>>1)|B00000000;
        }
        else{
          starline_code[round(starlineZCounter/8)] = (starline_code[round(starlineZCounter/8)]<<1)|B00000001;
        }
        bValidPacket = true;
      }
      else if(lastRxValue == 0){
      }
      else{
        starline_state=1;
        starlineZCounter = 0;
      }
     
      if(bValidPacket){
        starlineZCounter++;
        if(starlineZCounter==64){           //64ili66
          starline_vardump();
          starlineZCounter = 0;
          starline_state = 0;
          starlineZpreambulaCounter = 0; /////////novshetch
          starkk++;                   /////////shetchik
 




       
        }
      }
    }
}






void starline_vardump(){
  if(decodeMethod == 0){
    Serial.println(" - starline origin - ");
  }
  else{
    Serial.println(" - starline invert - ");
  }

 
  Serial.print(starline_code[0], HEX);
  Serial.print(starline_code[1], HEX);
  Serial.print(starline_code[2], HEX);
  Serial.print(starline_code[3], HEX);
  Serial.println("-hop");
  Serial.print(starline_code[4], HEX);
  Serial.print(starline_code[5], HEX);
  Serial.print(starline_code[6], HEX);
  Serial.println("-fix");
  Serial.print(starline_code[7], HEX);
  Serial.println("-btn");
  Serial.print(starline_code[8], HEX);
  Serial.println("-dop");


fug =starline_code[0];



fug1=starline_code[1];
fug2=starline_code[2];



 
}
     
     

У вас нет необходимых прав для просмотра вложений в этом сообщении.

Вернуться в «Android»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 1 гость