안드로이드 블루투스 2.0SSP 4.0BLE 샘플 apk 소스 코드 다운로드 및 비디오는 자동 연결 4.0에 가까운 16 진수 또는 문자 2.0을 보내고받을 수 있습니다. 전화 및 직렬 포트 모듈 통신 OTG를 직렬 wifi 직렬 포트에 페어링 할 필요가 없습니다.

Android Bluetooth 2.0SSP 및 4.0 BLE의 모든 샘플 APK 및 소스 코드 다운로드 및 동영상을 분류했습니다. 동영상은 16 진수 또는 문자를주고받을 수 있음을 보장합니다. 페어링 된 기기에 자동으로 연결 하여 직렬 포트 모듈과 통신 할 수 있습니다  . 게시되지 않은 소스 코드 100 개 사본.

참고 : Bluetooth SSP2.0 장치 모듈의 원인 및 해결 방법에 대한 20190507은 Android 6.0 및 후속 시스템에서 찾을 수 없습니다.

6.0 이전 버전에서 Bluetooth 기능을 사용하려면 다음 권한 만 구성하면됩니다.

<uses-permission android : name = "android.permission.BLUETOOTH_ADMIN"/>

6.0 이상 버전에서는 Bluetooth 스캔을 사용하는 경우 다음 권한도 추가해야하며 사용 중에 권한을 동적으로 적용해야합니다.

<!-Android 6.0 Bluetooth 스캔에만 필요->

    <uses-permission android : name = "android.permission.ACCESS_COARSE_LOCATION"> </ uses-permission>

또는

    <uses-permission android : name = "android.permission.ACCESS_FINE_LOCATION"> </ uses-permission>

따라서 Bluetooth SSP2.0 장치 모듈을 사용하려면 총 3 개의 권한이 필요합니다.

    <uses-permission android : name = "android.permission.BLUETOOTH_ADMIN"/>
    <uses-permission android : name = "android.permission.BLUETOOTH"/>
    <uses-permission android : name = "android.permission.ACCESS_COARSE_LOCATION"> </ uses-permission>

(APP에서 블루투스 열기 및 위치 지정 권한을 요청할 때 거부하지 마십시오)

 

1. 블루투스 2.0SSP 예 : (해당 하드웨어 모듈 : Huicheng HC-05 및 기타 칩 CSR BC)

권장 사항 : 1. Android Bluetooth 2.0 직렬 포트 도우미, 16 진수 / 문자 자동 연결 송수신 apk  링크 : https://pan.baidu.com/s/1wD6t2-yOFET5GE9BaWA-2w 코드 추출 : y7gu 

2. BluetoothChat 휴대폰 및 직렬 포트 모듈 통신이 자동 연결 2.0apk에 가깝습니다 . 예 : 링크 :  https://pan.baidu.com/s/1MEdcT-ImcveYytu8Mb79DQ  
추출 코드 : flk4 

3. 음성 제어 차량은 지침과 버튼 이름을 사용자 정의 할 수 있습니다. 링크 : http://pan.baidu.com/s/1nuEeFVV 암호 : 16uq

4. BluetoothChat 휴대폰 및 휴대폰 휴대폰 및 직렬 포트 모듈 통신 예 : http://pan.baidu.com/s/1dDTZdJj

5. 산업 제어 애플리케이션 ISwitch13 jscw customization-lite 버전 -5.0 타이어 압력 감지 OK.apk 링크 : http://pan.baidu.com/s/1c1IRNpQ 비밀번호 : k58x

0-60 사이의 바이트 수신

 6. 지능형 온도계 APK : 링크 : http://pan.baidu.com/s/1hsybiuC 비밀번호 : g85c

通过蓝牙接收,能记录31天的温度,并给出医学健康建议。蓝牙自动连接。
数据格式 比如36.98度对应十六进制03 06 09 08 固定为四个字节

7. 최신 물 시추 장비 프로젝트 블루투스 포괄적 인 응용 프로그램 링크 : https://pan.baidu.com/s/1WJ2G-7rY2Thj6o_0bsymRw 추출 코드 : 55ak 

iOS 예 : 앱 스토어 다운로드

 

2. Bluetooth 4.0 BLE 예 : (해당 하드웨어 모듈 : CC2541 / CC2540 Shenzhen Boluk BLE CC41, Huicheng HC-08 Bluetooth 모듈 등 JDY-30 / 31 / 32)

권장 사항 : 1. 안드로이드 블루투스 4.0BLE 직렬 포트 도우미는 암호없이 16 진수 또는 문자를 보내고받을 수 있으며, apk http://pan.baidu.com/s/1o8i5Iie 와 페어링 할 필요가 없습니다  .

블루투스 자동차 리모컨 은 암호 ble4.0으로 학습 기능과 자동으로 연결 됩니다. 링크 : https://pan.baidu.com/s/1bLv1OM 암호 : f3tr

(초기 비밀번호 123456)

2. Boluke의 공식 소스 링크 : http://pan.baidu.com/s/1c2No4A8 암호 : cbje

3. AMOMCU http://pan.baidu.com/s/1boiqyzP

4. AmoMcu-0.2 Simplified OK  링크 : http://pan.baidu.com/s/1mhUMJw8 비밀번호 : 4pap

5. AmoMcu-Custom 이름 및 명령 버전 범용 버전 링크 : http://pan.baidu.com/s/1dEZeKTj 암호 : 2pnb

6. PO141103045 Shenzhen Boluke BLE CC41 BluetoothLeGatt.apk http://pan.baidu.com/s/1o70QIO6

7. 산업 제어 애플리케이션 (Android Bluetooth 직렬 산업 제어 소프트웨어의 비디오 데모 -Xiaohuangren 소프트웨어 http://v.youku.com/v_show/id_XNzAwMTgxNzY0.html?from=y1.7-1.2) 샘플 apk : http : // pan.baidu.com/s/1beoIia

8. 누군가 USR-BLE100 BLE + SSP 블루투스 저에너지 디버깅 도우미 APK : https://pan.baidu.com/s/17yAcQCOGbjbvqPLXDsOZQQ

 iOS 예 : 앱 스토어 다운로드

JDY-30 / 31 / 32 듀얼 모드 모드, 둘 다 지원됩니다.

 

3. 안드로이드 OTG- 직렬 USB- 직렬 포트 (하드웨어 : USB- 직렬 케이블은 FT232, cp2102 칩에 해당)

링크 : https://pan.baidu.com/s/1jI999Im 암호 : zjks (FT232 cp2102 칩에 해당하는 USB- 직렬 케이블)

OTG는 문자를 보내고받을 수 있으며 포트 전송 속도 설정을 열고 닫을 수 있습니다.

링크 : https://pan.baidu.com/s/1kVkT98j 암호 : uvg7 (CH34x, CH340 칩 USB- 직렬 케이블에 해당)

 

네, 안드로이드 직렬 포트 직렬-직렬 포트 (하드웨어 : 직렬 케이블 및 장치 직접 연결)

링크 :   https://pan.baidu.com/s/1pL1Gult   암호 : 5wev

다섯, 안드로이드 WIFI 시리얼 비서 (하드웨어 : HC-22, Esp8266) LAN

링크 : https://pan.baidu.com/s/1g3-BfBHngVuWeqRUbiMO8w  추출 코드 : 81al 
 

 

package com.example.fileread2;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;


import android.support.v7.app.ActionBarActivity;
import android.text.format.Time;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        save("12\r\n1234");
        Button btnLine=(Button)findViewById(R.id.button1);
        Button btnAll=(Button)findViewById(R.id.button2);
        final TextView dis = (TextView) findViewById(R.id.tv); // 得到数据显示句柄
        btnLine.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				dis.setText(readFirstLine());
			}
		});
        btnAll.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				dis.setText(readAll());
			}
		});

    }
	public void save(String filecontent)  //位于/data/data/<package name>/files 
    {
		//Time t = new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料。
		//t.setToNow(); // 取得系统时间。
		//String filename=String.format("%04d-%02d-%02d.txt", t.year,t.month+1,t.monthDay);
		String filename="视力记录表.txt";
		  try {
	            if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
	            	File f2 = new File(Environment.getExternalStorageDirectory()+"/test/");
            	f2.mkdir();
            	//Toast.makeText(this,"卡"+f2.toString()+"/"+filename,Toast.LENGTH_SHORT).show();
            	//执行存储sdcard方法
            
            	File f = new File(f2,filename);
            	FileOutputStream out = new FileOutputStream(f,true);
            	out.write(filecontent.getBytes("UTF-8"));
            }
            else{
            	//存储到手机中,或提示
            	Toast.makeText(this,"无卡,保存到手机"+getFilesDir().toString()+"/"+filename,Toast.LENGTH_SHORT).show();
            	   FileOutputStream outStream=this.openFileOutput(filename,Context.MODE_APPEND); //模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
                   outStream.write(filecontent.getBytes("UTF-8"));
                   outStream.close();
            }
            
        } catch (FileNotFoundException e) {
            return;
        }
        catch (IOException e){
            return ;
        }   
    }
    public String readAll()
    {
    	StringBuffer sb = new StringBuffer();
    	String filename="test.txt";
		  try {
	            if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
	            	File f2 = new File(Environment.getExternalStorageDirectory()+"/test/");
               
          	File f = new File(f2,filename);
        	BufferedReader br = new BufferedReader(new FileReader(f));
			String readline = "";
			
			while ((readline = br.readLine()) != null) {
			//	System.out.println("readline:" + readline);
				Log.d("chenhao", "chenhao"+"readline:" + readline);	
				sb.append(readline);
			}
			br.close();
          }
          else{
          	//存储到手机中,或提示
          	Toast.makeText(this,"无卡"+getFilesDir().toString()+"/"+filename,Toast.LENGTH_SHORT).show();
          }
          
      } catch (FileNotFoundException e) {
          return "";
      }
      catch (IOException e){
          return "";
      } 
		  
			return "读取成功:" + sb.toString();
	            	
    }
    public String readFirstLine()
    {  	
    	StringBuffer sb = new StringBuffer();
    	String filename="test.txt";
		  try {
	            if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
	            	File f2 = new File(Environment.getExternalStorageDirectory()+"/test/");
               
          	File f = new File(f2,filename);
        	BufferedReader br = new BufferedReader(new FileReader(f));
			String readline = "";
			readline = br.readLine();
		//	while ((readline = br.readLine()) != null) {
			//	System.out.println("readline:" + readline);
				Log.d("chenhao", "chenhao"+"readline:" + readline);	
				sb.append(readline);
		//	}
			br.close();
          }
          else{
          	//存储到手机中,或提示
          	Toast.makeText(this,"无卡"+getFilesDir().toString()+"/"+filename,Toast.LENGTH_SHORT).show();
          }
          
      } catch (FileNotFoundException e) {
          return "没有找到文件";
      }
      catch (IOException e){
          return "IO异常";
      } 
			return "首行读取成功:" + sb.toString();
    	
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
    
 	/**
 	 * 判断SDCard是否存在 [当没有外挂SD卡时,内置ROM也被识别为存在sd卡]
 	 * 
 	 * @return
 	 */
 	public static boolean isSdCardExist() {
 		return Environment.getExternalStorageState().equals(
 				Environment.MEDIA_MOUNTED);
 	}
 	/**
 	 * 获取SD卡根目录路径
 	 * 
 	 * @return
 	 */
 	public static String getSdCardPath() {
 		boolean exist = isSdCardExist();
 		String sdpath = "";
 		if (exist) {
 			sdpath = Environment.getExternalStorageDirectory()
 					.getAbsolutePath();
 		} else {
 			sdpath = "不适用";
 		}
 		return sdpath;

 	}
 	/**
 	 * 获取默认的文件路径
 	 * 
 	 * @return
 	 */
 	public static String getDefaultFilePath() {
 		String filepath = "";
 		File file = new File(Environment.getExternalStorageDirectory(),
 				"test.txt");
 		if (file.exists()) {
 			filepath = file.getAbsolutePath();
 		} else {
 			filepath = "不适用";
 		}
 		return filepath;
 	}
 	/*
 	public void readFileFS()  //使用FileInputStream读取文件
 	{
         try {
     		File file = new File(Environment.getExternalStorageDirectory(),
     				"test.txt");
             FileInputStream is = new FileInputStream(file);
           
 			byte[] b = new byte[is.available()];
             is.read(b);
             String result = new String(b);
             System.out.println("读取成功:"+result);
         } catch (Exception e) {
         	e.printStackTrace();
         }
 	}
 	*/
 	public void readFileBR() //使用BufferReader读取文件
 	{
 		try {
 			File file = new File(Environment.getExternalStorageDirectory(),
 					"test.txt");
 			BufferedReader br = new BufferedReader(new FileReader(file));
 			String readline = "";
 			StringBuffer sb = new StringBuffer();
 			while ((readline = br.readLine()) != null) {
 				System.out.println("readline:" + readline);
 				sb.append(readline);
 			}
 			br.close();
 			System.out.println("读取成功:" + sb.toString());
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
 	}
}

 

 

 

 

 

 

Xiaohuangren 소프트웨어 Taobao 플래그십 스토어

프로그램 소스 코드, 맞춤형 전문가 전화 : 18910620895 원하는 : chenhao0568 QQ : 345139427

 

 

 

추천

출처blog.csdn.net/chenhao0568/article/details/50950227