“我用一个以太网插板负载到Arduino上。如此我便实现了打开我的车库门……就是这样! 我也安装了一个磁传感器,门是开着的或者封闭的都可以让我知道。所有都通过Telnet实现。 我修改了来自聊天服务器代码。现在贴出代码给爱好者使用。“

图一 安装在车库里的Arduino装置

图二 正在打开车库门

图三 用手机远程控制车库门开关

代码:

#include <SPI.h>
#include <Ethernet.h>
String readString;

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1, 177);
IPAddress gateway(192,168,1, 1);
IPAddress subnet(255, 255, 0, 0);
// telnet defaults to port 23
EthernetServer server(23);
boolean alreadyConnected = false; // whether or not the client was connected previously

const int analogInPin = A4;
int relay = 3;
int sensorValue = 0;

void setup() {

pinMode(2, INPUT_PULLUP);
pinMode(relay, OUTPUT);

digitalWrite(relay, HIGH);
// initialize the ethernet device
Ethernet.begin(mac, ip, gateway, subnet);
// start listening for clients
server.begin();
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.print(“Chat server address:”);
Serial.println(Ethernet.localIP());
}

void loop() {

// wait for a new client:
EthernetClient client = server.available();

// when the client sends the first byte, say hello:

if (client) {
if (!alreadyConnected) {
// clead out the input buffer:
client.flush();
Serial.println(“We have a new client”);
client.println(“Hello, client!”);
alreadyConnected = true;

}

while (client.available()) {

if (client.available() > 0) {

// read the bytes incoming from the client:

char thisChar = client.read();
readString += thisChar;
// echo the bytes back to the client:
//server.write(thisChar);
// server.write(thisChar);
// echo the bytes to the server as well:
Serial.write(thisChar);

}
}
//check here for stuff

//Code to open
if (readString.toInt() == 1111) {
server.println(“Running Opener”);
if (checkOpen() == 0) { server.println(“Closing”); }else { server.println (“Opening”);}

digitalWrite(relay, LOW);
delay(1000);
digitalWrite(relay, HIGH);
}

//code to check if open/closed
if (readString.toInt() == 5555) {if (checkOpen() == 0) {
server.println(“Garage is OPEN”);
} else { server.println(“Garage is CLOSED”); }}
readString = “”;
//end check
}
}

//checkopen
int checkOpen() {sensorValue = digitalRead(2);
if (sensorValue == 0) {return 1; }else {return 0;}}
// 0 = OPEN so we close.
//1 = CLOSE so we open.

欢迎与我们交流更多交流!

用Arduino远程控制车库门开关相关推荐

  1. 用ESP8266实现 手机控制车库门开关

    一直想给车库的门加一个手机开关, 最近发发现了ESP8266 arduino 模块在淘宝上只要15人民币. 在ESP8266 2口连接了一个5v继电器控制模块, 实现了手机浏览器控制车库门. #inc ...

  2. 遥控车库门常见故障的处理方法

    2019独角兽企业重金招聘Python工程师标准>>> 1.手动按扭开关或者遥控器开关不了车库门,可能原因:车库门电机没有接通电源.手动开关或遥控接收板短路或断路.运行次数过多导致遥 ...

  3. ESP8266-Arduino远程控制继电器(开关)

    Arduino通过ESP8266将数据上传给贝壳物联服务器,在贝壳物联平台实现远程控制继电器(开关). 文章目录 硬件准备 接线 ESP8266透传设置 AT指令设置 添加网络设备 代码 使用方法 远 ...

  4. 使用MyQ打开车库门时如何接收警报

    Chamberlain's MyQ technology is great for opening and closing your garage door remotely with your sm ...

  5. panel垂直滚动条占用宽度_南开区垂直车库门车库门安装价格

    南开区垂直车库门车库门安装价格可在任意位置停止.停电或故障时,可手动启闭.开关门负载可调,使门体运行轻便,平稳.门关闭后可靠自锁.自动车库门,电动车库门,遥控车库门 电动车库门,自动车库门,遥控车库门 ...

  6. 基于wifi无线PLC远程控制实现io开关量信号远程采集传输技术

    深圳市综科智控科技开发有限公司是一家专注于生产与研发工业智能自动化设备及软件系统.工业物联网设备及软件系统的高新技术企业. 公司致力于为客户提供从前端数据采集.传感器接入.IO控制.通信组网到云端联网 ...

  7. ESP8266+Arduino实现控制【开关外设装置-记录一】

    具体实现功能:网页+APP 实现控制舵机等IO操作. 1.使用 AP 模式提供WiFi接入,终端设备通过 Web 网页实现舵机控制: 2.使用串口连接蓝牙模组,提供蓝牙接入,终端设备通过手机APP实现 ...

  8. Arduino简易RFID门禁

    Arduino简易RFID门禁 最近闲着无聊用Arduino以及RC522做了个简单的刷卡门禁,由于不在家无法装到门上,所以就用舵机转动来代替开门的过程. 1. 准备材料 Arduino uno板一块 ...

  9. 车库门的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

    本文研究全球与中国市场车库门的发展现状及未来发展趋势,分别从生产和消费的角度分析车库门的主要生产地区.主要消费地区以及主要的生产商.重点分析全球与中国市场的主要厂商产品特点.产品规格.不同规格产品的价 ...

最新文章

  1. DataGridView的使用
  2. cordova降低版本10.0.0为8.1.2
  3. 信息抽取新SOTA!首个结构化生成式信息抽取预训练模型,一统信息抽取四大任务...
  4. 什么是Internet
  5. 28 Java类的加载机制、什么是类的加载、类的生命周期、加载:查找并加载类的二进制数据、连接、初始化、类加载器、双亲委派模型、自定义类加载器
  6. C#下的Web应用程序设计过程
  7. 富编译器汇总及二次开发Demo
  8. Leetcode 刷题笔记(二十七) ——动态规划篇之买股票问题(一)
  9. 栈(后缀表达式的理想数据结构)
  10. 蒙特卡洛方法习题_蒙特卡洛方法
  11. android imagebutton 设置边框,【Android技巧】ImageButton 去边框 添加按下效果
  12. 神通数据库常用命令行
  13. Excel函数公式大全—MATCH函数
  14. Tara APP隐私政策
  15. python练习-prat1
  16. B Bitwise Exclusive-OR Sequence
  17. Jackson ImmunoResearch普通羊驼血清说明书
  18. 怎么在计算机里找到CF里保存的视频,Win10电脑上查看穿越火线录制保存视频的具体方法...
  19. 基于python和SQLite的NBA历年MVP变化趋势可视化分析
  20. 大学计算机实验报告虚拟机,安装虚拟机的实验报告(共10篇).docx

热门文章

  1. 调用百度API实现人像动漫化(C++)
  2. 深度Linux对比比,深度Linux10.06 beta1与ylmfOS 3.0简单对比
  3. css 清空ios端_H5移动端开发常见的问题处理
  4. 你真的懂软件测试人员的痛苦吗?——目前软件测试5大误区
  5. 小白学测试(基础知识)
  6. 华为发布鸿蒙开发版,华为发布首款鸿蒙开发板,基于RISC-V架构,软硬生态一起抓?...
  7. 后宫宛如传服务器维护,后宫宛如传完整版
  8. jackson 驼峰注解_jackson 常用注解,比如忽略某些属性,驼峰和下划线互转
  9. cli命令行配置路由器_2.3.3 使用CLI执行基本路由器配置
  10. Python操作ElasticSearch条件查询