WIFI-Kommunikation der Android-Hardwarekommunikation

1. Einleitung

1.1 Mit der Popularisierung des Netzwerks und der Entwicklung der Kommunikationstechnologie wird die Übertragungsgeschwindigkeit des Netzwerks immer schneller und die WLAN-Technologie ist auch zur grundlegendsten Konfiguration mobiler Geräte geworden. Wir können die Informationsübertragung zwischen Mobiltelefon und Mobiltelefon über WLAN realisieren, und natürlich kann sie auch mit jedem anderen Gerät mit WLAN-Modul übertragen werden.

1.2 WLAN und Bluetooth sind die gebräuchlichsten und am häufigsten genutzten drahtlosen Kommunikationstechnologien in unserem Leben, und moderne Smart Homes basieren im Wesentlichen auf diesen beiden Protokollen. Wir können die folgenden beiden Technologien vergleichen, um die geeignete Kommunikationsmethode auszuwählen:

Verglichen Bluetooth W-lan
Übertragungsentfernung Kurz, im Allgemeinen etwa 10 m Länge: ca. 100–400 m
Sendeleistungsverbrauch Geringer Stromverbrauch, 5 mA Hoher Stromverbrauch, 10–50 mA
Übertragungsgeschwindigkeit Langsam, 1 Mbit/s Hohe Geschwindigkeit, 300 Mbit/s
Sicherheitsleistung Hohe, stabile Übertragung Niedrig, das Passwort ist geknackt
Anwendungsfeld Geräte mit geringem Stromverbrauch wie tragbare Geräte und Smart Homes Big-Data-Übertragungsszenarien wie Fabrikausrüstung und Drucker

1.3 Mit der Entwicklung des Internets der Dinge ist die drahtlose Kommunikationstechnologie in jeden Bereich unseres Lebens Einzug gehalten, wie z

Industrie

 intelligentes Zuhause

Die WLAN-Kommunikation ist zu einer wichtigen Technologie für die Kommunikation im Internet der Dinge geworden. Werfen wir einen Blick auf die detaillierten Schritte der WLAN-Kommunikation

Zwei Schritte zur WLAN-Kommunikation

2.1 Vor der WLAN-Kommunikation müssen sich beide Kommunikationsparteien im selben lokalen Netzwerk befinden. Wenn es sich bei der Verbindung um eine Fabrikmaschine handelt, ist die Maschine im Allgemeinen mit einem WLAN-Modul ausgestattet

Es gibt zwei Möglichkeiten, eine Verbindung herzustellen

Methode 1: Stellen Sie sicher, dass sowohl das Mobiltelefon als auch das Maschinen-WLAN eine Verbindung zum externen Netzwerk (d. h. dem WLAN Ihres Indoor-Routers) herstellen, sodass sich die beiden Geräte im selben lokalen Netzwerk befinden und verbunden und kommuniziert werden können

Methode 2: Das Mobiltelefon ist direkt mit dem WLAN-Modulnetzwerk der Maschine verbunden. Dies hat den Nachteil, dass es nicht auf das Internet zugreifen und Daten nur mit dem WLAN der Maschine übertragen kann.

Daher bestehen die allgemeinen Schritte darin, zuerst das WLAN-Modulnetzwerk des Geräts zu verbinden und dann die Netzwerkkonfigurations-Webseite zu öffnen. Die Öffnungsmethode besteht darin, die IP-Adresse des WLAN-Moduls einzugeben (z. B. http://192.168.0.1). im Browser und stellen Sie über die Netzwerkkonfigurationsseite eine Verbindung zum externen Netzwerk her, damit das Mobiltelefon im Internet surfen, Serverdaten anfordern und mit Maschinen kommunizieren kann

2.2 Erstellen Sie eine IP-Adresse und eine serielle Kommunikationsadresse und stellen Sie eine WLAN-Verbindung über Socket her

Runnable wifiConnectRunnable = new Runnable() {
	@Override
	public void run() {
		try {
			IP = PreferencesUtils.getString(App.getInstance(), PreferencesUtils.MODEL_IP, "192.168.2.1");
			PORT = PreferencesUtils.getString(App.getInstance(), PreferencesUtils.MODEL_PORT, "9100");
			socketAddress = new InetSocketAddress(IP, Integer.parseInt(PORT)); //获取sockaddress对象
			socket = new Socket(); //实例化socket
			socket.connect(socketAddress, 2000); //设置超时参数
			Log.e(TAG, "wifi: " + "wifi连接成功");
			handler.sendEmptyMessage(1);
		} catch (Exception e) {
			Log.e(TAG, "wifi: " + e.getMessage());
			e.printStackTrace();
		}
	}
};

2.3 Holen Sie sich den E/A-Stream von Socket

mOutputStream = socket.getOutputStream();
mInputStream = socket.getInputStream();

2.4 WLAN-Nachricht lesen

private class ReadThread extends Thread {
	@Override
	public void run() {
		super.run();
		while (!isInterrupted()) {
			int size;
			try {
				byte[] buffer = new byte[512];
				if (mInputStream == null) return;
				size = mInputStream.read(buffer);
				if (size > 0) {
					String mReception=new String(buffer, 0, size);
					String msg = mReception.toString().trim();
					Log.e(TAG, "接收短消息:" + msg);
				}
			} catch (IOException e) {
				e.printStackTrace();
				return;
			}
		}
	}
}

 2.5 WLAN-Nachricht senden

private class WriteRunnable implements Runnable {
	@Override
	public void run() {
		try {
			String cmd="KZMT;";
			Log.e(TAG, "发送短消息:" + cmd);
			mOutputStream.write(cmd.getBytes());
			mOutputStream.flush();
		} catch (IOException e) {

		}
	}
}

2.6 Trennen Sie die Verbindung zur WLAN-Buchse

/**
 * 关闭Wifi的Socket连接
 */
public void closeWifiStream() {
	try {
		if (mOutputStream != null) {
			mOutputStream.close();
			mOutputStream = null;
		}
		if (mInputStream != null) {
			mInputStream.close();
			mInputStream = null;
		}
		if (socket != null) {
			socket.close();
			socket = null;
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
}

 2.7 Zusammenfassung

Wi-Fi ist eine drahtlose LAN-Kommunikationstechnologie. Daher muss sich das Kommunikationsgerät im selben LAN-Segment befinden und dann eine Socket-lange Verbindung aufrechterhalten, einen E/A-Stream erhalten und Daten über den E/A-Stream-Kanal übertragen.

Supongo que te gusta

Origin blog.csdn.net/qq_29848853/article/details/130258276
Recomendado
Clasificación