精典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%的人还看了以下文章

  • 手机上可以python编程吗,手机如何开发python

    想在手机上编写python代码? python语言应用很广泛,很多小伙伴想利用空闲时间学习Python,但是有时候身边没有电脑,今天就给大家分享两种手机编写运行python的方法,让你可以直接在自己的手机上做python开发学习。 一、直接在线编写运行(免安装) 手机通过浏览器打开 https://c.runoob.com/compile/9/ 推荐:★★★…

    2022年3月16日 编程开发
    3.2K0
  • 5分钟快速入门AJAX

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

    2020年4月4日
    8110
  • ASP.NET(C#)学习笔记一:注释、常量与变量

    ASP.NET(C#)的注释 多行注释: /* */ 单行注释: //计算圆的面积:Pi*r*r 实例1:注释的使用 /*以下程序由www.125jz.com站长于2018.1.30日开发,测试通过。     完成功能:计算圆的面积*/     public partial class W…

    2018年1月30日
    1.6K0
  • Java GUI编程高级实例二:弹出式菜单及添加工具栏

    三、 为组件定制弹出式菜单 问题的提出  为“Java Editor”程序的文本编辑区域定制如图所示的的弹出式菜单。 菜单中有五个菜单项组成,分别指示了不同的字体风格,可通过菜单项的选择实现文本区域中文本字体和字号的改变。 用JPopupMenu类建立弹出式菜单 建立弹出式菜单 预先定义一个继承JPopupMenu类的子类,弹出式菜单施加给的对象应由构造方法…

    2020年1月22日
    1.9K0
  • JSP实现用户登录总次数及用户最后一次登录时间功能(附代码)

    实现原理: 数据库表中,设置两个字段total_login_count(登录总次数,int型)和 last_login_time(最后登录时间,datetime型) 1. 记录用户的登录总次数 用户每登录一次,将数据库中的相应字段值加 1,代码如下: String sql =”update testuser set total_login_count = t…

    编程开发 2018年7月3日
    2.4K0
  • java两个窗体Form1和Form2之间怎么传递参数?

    开发java图形界面程序时,会遇到一个窗体向另外一个窗体传递参数的问题,好多初学者很是迷茫。中国网页设计特别编写了一个简单程序用于演示两个窗体之间如何传递参数,代码如下:Form1.java代码: import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.Acti…

    2021年11月25日
    1.2K0

发表回复

登录后才能评论