精典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)
江山如画的头像江山如画管理团队
上一篇 2023年2月3日 上午8:22
下一篇 2023年2月3日 上午9:06

99%的人还看了以下文章

  • 卷积神经网络 数据维度计算公式:输入输出关系、输出维度

    假设你有 5 个大小为 7×7、边界值为 0 的卷积核,同时卷积神经网络第一层的深度为 1。 此时如果你向这一层传入一个维度为 224x224x3 的数据,那么神经网络下一层所接收到的数据维度是( )。 A.218*218*5 B.217*217*8 C.217*217*3 D.220*220*5 在进行深度学习训练时,优化器会对模型的参数进行优化…

    2022年9月22日 编程开发
    14.5K3
  • python 函数,字典,列表使用综合实例(经典)

    现有一字典: dict1 = {’01’: [67, 88, 45], ’02’: [97, 68, 85], ’03’: [97, 98, 95], ’04’: [67, 68, 45], } 存放着学生的学号和成绩。成绩列表中的3个数据分别是学生的语文、数学、英语成绩。 要求: 1.编写函数,返回每门成绩均大于等于85的学生的学号。 dict1 = {‘…

    2020年1月31日
    12.4K0
  • 5分钟快速入门AJAX

    什么是AJAX? 第一步:如何发出一个HTTP请求第二步:处理服务器的响应第三步:一个简单的例子第四步:与XML响应协同工作 什么是AJAX AJAX是一个新的合成术语,隐含了两个已经存在多年的JavaScript特性,但是直到最近,随着一些诸如Gmail、Google Suggest以及Google Maps的轰动,才被许多网络开发者所注意到。 我们所讨论…

    2020年4月4日
    6.3K0
  • 跟永哥学MVC:jsp+javabean+servlet实现求圆的面积

    上一节课我们通过一个案例三种实现,教你理解Jsp、javabean、Servlet(精),今天我们仍然通过同一个案例求圆的面积,使用MVC:jsp+javabean+servlet来实现,深入理解MVC及Jsp、javabean、Servlet的分工和使用。 r5.jsp <form action=”servletCircle” Method=”pos…

    2018年2月22日
    7.9K0
  • Python编程入门:英文词频统计

    text = “Got tho on super sale. Love it! Cuts my drying time in half Reckon I have had this about a year now,\ at least 7 months. Works great, I use it 5 days a week, blows hot air,…

    2023年10月3日
    9.6K0
  • 什么是 Python ?Python 有哪些优势?为什么学 Python ?

    Python 是一种通用的脚本开发语言,比其他编程语言更加简单、易学,其面向对象特性甚至比 Java、C#、.NET 更加彻底,因此非常适合快速开发。Python 在软件质量控制、开发效率、可移植性、组件集成、库支持等方面均处于先进地位。

    2018年10月18日 编程开发
    7.5K1

发表回复

登录后才能评论