这个最终的效果呢,就是可以通过手机连接上esp8266创建的wifi,然后连接其创建的服务器,发送特定指令就可实现遥控开门

(做工比较粗糙还请不要见笑...)

一、原理

其实这个一看就会明白,非常简单的,由Arduino连接一个舵机和一个esp8266模块,esp8266工作为AP模式,发出热点信息,并且创建服务端,手机连接wifi,然后作为客户端连接服务端,向其发送数据,esp8266收到数据后会通过串口通信传递给Arduino,Arduino如果接受到 open 这条信息便控制舵机开始旋转

分步实现的细节在下面两篇文章

Arduino leonardo+esp8266-01作服务端与APP进行数据通信

Arduino控制舵机

二、程序

(esp8266-01需要提前设置为AP或者AP+Station模式,具体见上面文章)

 #include <Servo.h>
String string = "";
Servo myservo; void setup() {
myservo.attach();
Serial.begin();
Serial1.begin();
delay();
Serial1.print("AT+CIPMUX=1\r\n");
delay();
Serial1.print("AT+CIPSERVER=1,8080\r\n");
delay();
myservo.write();
delay();
myservo.detach();
} void loop() { while (Serial1.available() > )
{
char c = Serial1.read();
string += c;
if (Serial1.available() == )
{
if (string.indexOf("open") >=)
{
myservo.attach();
delay();
myservo.write();
delay();
myservo.write();
delay();
myservo.write();
delay();
myservo.detach();
}
Serial.print(string);
string = "";
}
delay();
} while (Serial.available() > )
{
char c = Serial.read();
string += c;
if (Serial.available() == )
{
Serial1.print(string);//发送AT命令
string = "";
}
delay();
} }

三、测试

和之前文章相同,手机下载网络调试助手,选择TCP Client,并连接esp8266创建的wifi。然后新增一个链接,这里需要设置的ip在一开始是查看了的,一般都不会变,端口为自己设定的8080

然后发送 open ,就会看到舵机会旋转

四、安装

这是我很久前做的了,这次只是整理一下步骤,写个学习笔记,没再往门上装,就拿上次视频截的图凑合凑合

Arduino leonardo的电源接口和安卓手机的相同,所以可以直接拿手机充电器供电,舵机和门把间的连接我是实在找不到其他东西了,才拿的纤维胶带,有条件的话,可以用硬质杠杆

动手能力再强点直接改造门锁也不错

Arduino+esp8266-01+舵机 制作基于局域网的遥控门禁的更多相关文章

  1. 制作基于U盘启动和网络常识

    一.制作基于U盘启动的操作系统盘1.准备相关的软件和硬件 下载软件并安装到[电脑]中 ——大白菜.老毛桃 硬件——U盘(空的) 2.插入U盘,点击桌面上的[大白菜装机版]打开大白菜, 点击[一键制作U ...

  2. 【Arduino】、Arduino+ESP8266上传至oneNet云

    一.硬件简介 1. Arudino 是一种开源的电子平台,该平台最初主要基于AVR单片机的微控制器和相应的开发软件,包含硬件(各种型号的Arduino板)和软件(Arduino IDE). 2. ES ...

  3. (14)如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第二部分

    引言 程序截图: 这篇教程是<如何使用Cocos2d-x 3.0制作基于tilemap的游戏>的第二部分.在上一个教程中,我们创建了一个简单的基于tiled地图的游戏,里面有一个忍者在沙漠 ...

  4. 制作基于软盘的Linux系统

    制作基于软盘的Linux系统(张宏伟.欧阳平平 2001年07月26日 11:22) 嵌入式Linux由一个几百KB的kernel(内核)和一些根据需要进行定制的系统模块组成.由于Linux是开放源代 ...

  5. Mac Arduino ESP8266 ESP32 搭建开发环境

    目录 1.安装Arduino 2.搭建开发板管理器 3.可能出现的错误 1.安装Arduino Arduino下载. 官方下载地址:Arduino官方网站 Arduino中文社区:下载地址 安装方式: ...

  6. 基于Air800+Arduino+ESP8266的混合物联网开发

    流程图如下:

  7. ESP8266使用详解--基于Lua脚本语言

    这些天,,,,今天终于看到了希望,,,天道酬勤 先说实现的功能...让ESP8266连接无线网,然后让它建立服务器,,我的客户端连接上以后,发给客户端发数据模块打印到串口,,往ESP8266串口里发数 ...

  8. 低成本制作基于OpenWRT的渗透工具

    不知道你听说过Hak5的产品没有,它们可是黑客以及渗透测试人员的最爱.其中,有很多的PoC黑客工具都曾在热门美剧<黑客军团>中出现过.Hak5的 PACKETSQUIRREL 上架已经有好 ...

  9. blinker语音控制Arduino/esp8266开关灯-滑动条使用-文本框交互

    总链接:  https://www.arduino.cn/thread-78393-1-1.html 语音控制:https://doc.blinker.app/?file=005-App%E4%BD% ...

随机推荐

  1. linux rz sz文件传输 ZModem协议

    比ftp和scp方便点.需要用支持ZModem协议的工具,SecureCRT是可以的 rz: 接收文件 sz: 发送文件 安装 # sudo apt-get install lrzsz 使用 协议介绍 ...

  2. iOS 唤起APP之URL Scheme

    什么是URL Scheme 简单的说,由于苹果选择使用沙盒机制来保障用户的隐私和安全,APP只能访问自己沙盒数据,但同时也阻碍了应用间合理的信息共享.因此苹果提供了一个可以在APP之间跳转的方法:UR ...

  3. 六、CSS 选择器:BeautifulSoup4

    和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. lxml 只会局部遍历,而Beautiful Soup 是基 ...

  4. 后台传给前端字符串为null或解析JSON字符错误——SyntaxError: JSON.parse: unterminated string literal at line 1 column 9018638 of the JSON data

    第一种情况: 第二种情况: 首先看看你的JSONObject或JSONArray的引用有没有Getter()和Setter()方法,这个必须要加上 问题:两张表双向多对一.一对多时.响应给后台使,出现 ...

  5. 剑指Offer-11.二进制中1的个数(C++/Java)

    题目: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 分析: 将数字和1先做与运算,然后将1右移一位,现在是判断数字的第二位是不是1,这样循环的做下去即可.也可以转换成字符串再统计 ...

  6. Eclipse GitHub SSH2 key配置

    1. 用Eclipse自带git插件进行配置我们的用户名和密码,即是自己github注册用户. 2.windows -- perferences--General--Network Commectio ...

  7. git使用遇到问题1

    1.上传代码过程中遇到 git help gc错误解决方法,有两种方式,推荐第一种方式. $ git fsck $ git gc --prune=now 如果执行完上面的命令还是不行的话,可以尝试删掉 ...

  8. 安装oracle 11g及初次链接使用, 解锁及常用命令

    1. 安装方法参考原创: https://blog.csdn.net/projectNo/article/details/76533921 2.初次链接数据库时,注意以下: 1. window + r ...

  9. [分布式学习]消息队列之rocketmq笔记

    文档地址 RocketMQ架构 哔哩哔哩上的视频 mq有很多,近期买了<分布式消息中间件实践>这本书,学习关于mq的相关知识.mq大致有有4个功能: 异步处理.比如业务端需要给用户发送邮件 ...

  10. C#教程之C#属性(Attribute)用法实例解析

    引用:https://www.xin3721.com/ArticlecSharp/c11686.html 属性(Attribute)是C#程序设计中非常重要的一个技术,应用范围广泛,用法灵活多变.本文 ...