Android与EPS8266模块通信(一)编写Android客户端

这篇具有很好参考价值的文章主要介绍了Android与EPS8266模块通信(一)编写Android客户端。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Android与EPS8266模块通信(一)编写Android客户端

  1. 开发环境
  • Windows 10
  • Android Studio 2021.2.1
  1. 编写布局文件,这里需要两个按钮,一个按钮用来连接esp8266开启的热点,一个按钮用来控制LED的开启和关闭。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:scaleX="0.5"
        android:scaleY="0.5"
        android:src="@drawable/gray" />

    <Button
        android:id="@+id/button_connect"
        android:layout_width="280dp"
        android:layout_height="60dp"
        android:layout_below="@+id/image"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:onClick="connect"
        android:text="连接" />


    <Button
        android:id="@+id/openOrCloseLED"
        android:layout_width="280dp"
        android:layout_height="60dp"
        android:layout_below="@+id/button_connect"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:onClick="openOrCloseLED"
        android:text="打开LED" />

</RelativeLayout>
  1. 布局效果图
    esp8266手机编程,android,ui> 4. 编码MainActivity代码,ESP8266的IP地址为192.168.4.1,端口号为80
package com.lili.esp8266;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

// 主页面
public class MainActivity extends Activity {

    public ImageView ledImageView;
    public Button connectButton; // 连接esp8266
    public Button openOrCloseLEDButton; // 打开或者关闭LED按钮

    private ConnectThread connectThread;
    public boolean isConnected;

    public boolean isOpenLED;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initView();

        connectThread = new ConnectThread(this, "192.168.4.1", 80);
        // 开启连接线程
        connectThread.start();
    }

    private void initView() {
        // LED灯图标
        ledImageView = (ImageView) findViewById(R.id.image);
        connectButton = findViewById(R.id.button_connect);
        openOrCloseLEDButton = findViewById(R.id.openOrCloseLED);
    }

    // 连接到esp8266
    public void connect(View view)
    {
        // 如果没有连接
        if (!isConnected)
        {
            connectThread.startConnect = true;
        } else {
            try {
                connectThread.closeConnect();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    // 打开或者关闭LED
    public void openOrCloseLED(View view)
    {
        // 如果已经连接到esp8266
        if (isConnected)
        {
            // 如果已经打开LED
            if (isOpenLED)
            {
                // 关闭LED
                connectThread.closeLED();
            } else {
                // 开启LED
                connectThread.openLED();
            }

        } else {
            Toast.makeText(this, "未连接到服务器!", Toast.LENGTH_SHORT).show();
        }
    }

}
  1. 运行在真机上的效果图
    esp8266手机编程,android,ui> 最后,完整源码下载地址 https://www.lilihewo.com/article/239.html

文章来源地址https://www.toymoban.com/news/detail-516309.html

到了这里,关于Android与EPS8266模块通信(一)编写Android客户端的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TCP通信—客户端与客户端的双向通信

    1.实现客户端与客户端之间的TCP双向通信; 2.服务器记录客户端实名连接,并显示客户端数据记录; 3.客户端退出,服务器和另一客户端显示相应提示; 1.定义数组保存客户端文件描述符; 2.主程序负责接收客户端1的数据发送给客户端2; 3.开展一个线程负责接收到客户端2的

    2024年02月15日
    浏览(44)
  • STM32+ESP8266+QT客户端上位机显示DHT11温湿度与点灯

    目录 1、简介 2、硬件连接 3、上位机源码 3.1 widget.h 3.2 widget.c  3.3 显示图  4、下位机源码 4.1 cubemax配置  4.2 keil源码 本文使用STM32F103C8T6单片机使用单片机通过ESP8266WIFI模块与QT设计的上位机进行通讯,ESP8266设置AP模式。实现DHT11传感器温湿度的显示与远程控制LED小灯的亮灭

    2024年02月06日
    浏览(55)
  • 网络编程:编写一个TCP客户端与服务端

    用的系统是Ubuntu。 socket用来创建套接字。这个函数服务端与客户端都要使用。 第一个参数用来制定地址族规范,比如 AF_INET(PF_INET) 表示IPv4地址, AF_INET6(PF_INET6) 表示IPv6地址。 第二个参数用来制定套接字的类型规范,如 SOCK_STREAM 表示面向连接的套接字, SOCK_DGRAM 表示面

    2024年02月01日
    浏览(47)
  • tcp通信,客户端服务端

    //TCP通信的流程 //服务器端(被动接受连接的角色) 1.创建一个用于监听的套接字         -监听:监听有客户端的连接         -套接字:这个套接字其实就是一个文件描述符 2.将这个监听文件描述符和本地的IP和端口绑定(IP和端口就是服务器的地址信息)         -客户端

    2024年02月09日
    浏览(36)
  • Qt 8. UDP客户端通信

    1. 代码 2. 效果 以上代码可以实现UDP收发功能。

    2024年02月13日
    浏览(40)
  • 南京邮电大学Web技术双语实验一(客户端HTML脚本编写)

    实验目的: (1) 通过上机实践,熟悉 HTML 和 JavaScript 脚本实现技术。 (2) 加深对 Web 编程的认识 实验要求: 1 编写个人主页,要求包含如下信息。 (1) 标题“欢迎访问×××的主页” (2) 个人简介,包含照片。 (3) 个人经历简介,以有序列表形式显示。 (4) 个人最

    2024年02月05日
    浏览(65)
  • C++实现客户端/服务端通信(一)

    存放协议族、端口和地址信息 sockaddr结构体为了统一地址结构的表示方法,统一接口函数,但是操作不方便,所以定义了等价的sockaddr_in结构体,其大小与sockaddr相同,可以强制转换为sockaddr 之所以搞两个结构体,可能是因为sockaddr可以用于IPV4,后续也可以用于IPV6,sockaddr_i

    2024年02月11日
    浏览(38)
  • TCP实现服务器和客户端通信

    目录 TCP介绍 代码实现 server(服务器端) 代码分析 client(客户端) 代码分析 结果展示 TCP (Transmission Control Protocol) 是一种面向连接的协议,用于在计算机网络中传输数据。TCP 可以确保数据的可靠传输,即使在网络环境不稳定的情况下也能够保证数据的完整性和顺序。以下是

    2024年02月15日
    浏览(62)
  • gh0st远程控制——客户端界面编写(二)

    ● 补充小知识:枚举类型的使用 每个控件(比如列表)都对应一个自己的唯一的变量 使用枚举类型可以将变量名与编号进行绑定,以后程序需要扩展的时候,只需要在定义枚举变量的位置重新修改编号就可以了,这样全局的所有变量的编号就都跟着修改了 由于列表这个数据

    2024年01月20日
    浏览(55)
  • 简易TCP客户端和服务器端通信

    #includeiostream #include winsock2.h   #include ws2tcpip.h   #includestdlib.h using namespace std; #define  BUF_SIZE  1024 int main() {     cout \\\"客户端\\\" endl;     //设置Winsock版本,     WSADATA   wsaData;     if (WSAStartup(MAKEWORD(2, 2), wsaData) != 0)     {         cout \\\"error\\\" endl;         exit(1);     }     //创建通

    2024年04月29日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包