精典Arduino入门小项目-手机APP控制LED灯

本文主要介绍了一个典型的Arduino入门小项目-手机APP控制LED灯,包括需要的硬件、软件(提供下载地址),源码,只需根据教程操作,就能做出一个完整项目!

一.项目所需硬件

一张ESP8266WIFI模块(某宝买很便宜) 精典Arduino入门小项目-手机APP控制LED灯

ESP8266串口无线WIFI模块NodeMCU Lua V3物联网开发板8266-01/01S
【推荐理由】赠运费险,淘宝月销量第一
【现价】7.8

【立即购买】

一根支持数据传输的安卓数据线

一台PC

二.项目所需软件

1.Arduino IDE 开发软件

下载地址

windows系统选择好对应的操作系统版本,下载Windows Installer即可。

下载好的是.exe格式文件双击运行即可安装。 2.手机APP 手机应用商店下载NeTorch网络调试工具

三·Arduino程序源码

/*这篇把8266作为TCPcleint,加入手机创建的tcpServer中来控制一个继电器*/

#include <ESP8266WiFi.h>

const char *ssid     = "WIFI_NAME";//这里是我的wifi,你使用时修改为你要连接的wifi ssid
const char *password = "WIFI_PASSWORD";//你要连接的wifi密码
const char *host = "192.168.*.*";//修改为手机的的tcpServer服务端的IP地址,即手机在路由器上的ip
WiFiClient client;
const int tcpPort = 8266;//修改为你建立的Server服务端的端口号

void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(115200);
  delay(10);
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");//写几句提示
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED)//WiFi.status() ,这个函数是wifi连接状态,返回wifi链接状态
    //这里就不一一赘述它返回的数据了,有兴趣的到ESP8266WiFi.cpp中查看
  {
    delay(500);
    Serial.print(".");
  }//如果没有连通向串口发送.....

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());//WiFi.localIP()返回8266获得的ip地址
}


void loop()
{
  while (!client.connected())//几个非连接的异常处理
  {
    if (!client.connect(host, tcpPort))
    {
      Serial.println("connection....");
      //client.stop();
      delay(500);
    }
  }
  while (client.available())//available()同ARDUINO,不解释了
  {
    char val = client.read();//read()同arduino
    if (val == 'a') { //pc端发送a和b来控制
      digitalWrite(LED_BUILTIN, HIGH);
      client.write("已关灯");
    }
    if (val == 'b')
    {
      digitalWrite(LED_BUILTIN, LOW);
      client.write("已开灯");
    }
  }
}

四.程序烧录至esp8266

使用usb线连接好esp8266模块,并连接PC。

这里注意确保数据线是支持数据传输的,有的线只是充电。

连接上后可在Arduino IDE的工具——>端口看到已连接的端口号。

点击烧录 点击上图划√按钮即可开始烧录,等待烧录成功。

五.使用APP控制模块led灯

APP安装好后,打开你的手机热点,你的热点名称即上述代码中的WIFI_NAME ,你的热点密码即上述代码中的WIFI_PASSWORD。

精典Arduino入门小项目-手机APP控制LED灯 设置好IP与代码中一致,TCP端口一致。

将最顶部滑块划至打开模式,即可使得esp8266自动连接上你的手机热点,这时你可以通过收发模式发送字符a关闭模块上的灯,或者b打开。也可以设置按钮模式控制。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/11701.html

赞 (0)
江山如画的头像江山如画管理团队
赞!1条语句快速将python程序打包成可执行文件
上一篇 2023年2月3日 上午8:22
精!如何在IDEA中导入myeclipse项目、配置并运行(实例演示)
下一篇 2023年2月3日 上午9:06

99%的人还看了以下文章

  • 1.Spring框架概述

    1.Spring框架概述1.Spring框架概述1.Spring框架概述1.Spring框架概述

    1.1、资源 1.2、Spring历史 1.3、框架特征与功能 1.4、Spring组成 1.5、Spring Boot与Spring Cloud 一、Spring框架概述 Spring是一个开源免费的框架,为了解决企业应用开发的复杂性而创建。Spring框架是一个轻量级的解决方案,可以一站式地构建企业级应用。Spring是模块化的,所以可以只使用其中需要的…

    2023年1月19日 • 编程开发
    10.8K0
  • python 初学者练手上机实操四

    1.用*打印一个如下所示的图形。(10分) * * * * * * * * * * print(‘*’) print(‘* *’) print(‘* * *’) print(‘* * * *’) 要求分别使用for和while语句实现 导入turtle包(impo…

    2023年5月5日
    9.6K0
  • java WEB编程技术上机练习一:

    jsp运行环境的搭建(jdk+TOMCAT)、编写JSP页面,配置虚拟目录并访问、熟悉MYECLIPSE的使用,包括项目的部署及运行。

    2018年8月29日
    15.0K1
  • java中类、接口、方法、变量命名时的大小写问题

    类或者接口 一个单词:首字母大写 举例:Student,Demo 多个单词:每个单词首字母大写 举例:HelloWorld,StudentName 方法或者变量 一个单词:首字母小写 举例:name,main 多个单词:从第二个单词开始,每个单词首字母大写 举例:studentAge,showAllNames() 常量 全部大写 一个单词:大写 举例:PI …

    2020年11月15日
    4.2K0
  • 什么是单元测试,单元测试快速入门教程一

    单元测试概述 单元测试是在软件开发过程中要进行的最低级别的测试活动或者说是针对软件设计的最小单位—程序模块(程序中定义的函数、子程序、类或方法),进行正确性检验的测试工作,目的在于发现每个程序模块内部可能存在的差错或缺陷。 在单元测试活动中,软件的独立单元将在与程序的其它部分相隔离的情况下进行测试,主要工作分人工静态检查(静态测试)和动态执行跟踪(动态测试)…

    2018年4月16日
    10.2K0
  • 赞!python 生成词云详细教程-最简单的中文词云生成代码

    赞!python 生成词云详细教程-最简单的中文词云生成代码赞!python 生成词云详细教程-最简单的中文词云生成代码赞!python 生成词云详细教程-最简单的中文词云生成代码赞!python 生成词云详细教程-最简单的中文词云生成代码

    pip install wordcloud pip install jieba wordcloud生成词云 效果图: 代码: from wordcloud import WordCloud import matplotlib.pyplot as plt #绘制图像的模块 import jieba #jieba分词 path_txt=’d://西游.txt’ …

    2023年6月2日 • 编程开发
    3.3K2

发表回复

登录后才能评论