Android端
前言
由于自己学期的期末项目需要做一个智能语音控制,用到esp8266模块,就在网上找了相关资料和我同学一起做了起来
这个项目分为两个部分:STM32,Android
STM32用到的是stm32F103ZET6
项目我们也用到了LD3320语音识别以及语音转码模块项目不完善可一起改进qq:1727606470
主要功能
****硬件方面:可以通过智能语音识别进行程序的运行,比如:打开红灯,关闭红灯等
附硬件图:
****硬件图连接方式没发
软件方面:通过esp8266连接到硬件,通过无线传输数据控制硬件的状态
附软件图:
二、使用步骤
1. 连接代码(部分)
代码如下:
public void Checked_Link() {
//判断未连接,或则未在线
if (mSocket == null || !mSocket.isConnected()) {
//如果IP地址和端口不为空时
if (!TextUtils.isEmpty(i_ip.getText()) && !TextUtils.isEmpty(i_port.getText())) {
mip = i_ip.getText().toString();
mport = Integer.parseInt(i_port.getText().toString());
System.out.println("端口:" + mport);
mConnectThread = new ConnectThread(mip, mport);
mConnectThread.start();
} else if (TextUtils.isEmpty(i_ip.getText())) {
Toast.makeText(this, "请输入IP地址", Toast.LENGTH_SHORT).show();
} else if (TextUtils.isEmpty(i_port.getText())) {
Toast.makeText(this, "请输入端口号", Toast.LENGTH_SHORT).show();
}
}
//当已有连接并且在线时
if (mSocket != null && mSocket.isConnected()) {
try {
mSocket.close();//关闭连接
mSocket = null;
link_btn.setText("连接");
Toast.makeText(this, "连接已断开", Toast.LENGTH_SHORT).show();
LINK_STATE = false;
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.WiEI添加权限
代码如下:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
3.发送端代码
代码如下:
public static void Send_Data(String str) {
if (str != null && out != null) {
new Thread(new Runnable() {
@Override
public void run() {
out.print(str);
out.flush();
}
}).start();
}
}
该处使用wiei请求的数据。
总结
该项目这里是Android端代码,若需要Keil代码请联系我 项目本身还有很多不足 比如我们想到是通过云端连接使用,可惜现在还没有实现,若有大佬做过云端数据传输与读取,望指教
联系方式 微信号:13648103287
阅读全文