一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何從網(wǎng)頁(yè)控制arduino?

科技觀察員 ? 來(lái)源:八色木 ? 作者:八色木 ? 2022-03-31 16:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當(dāng)我們完成一些Arduino項(xiàng)目后,比如Arduino控制燈的項(xiàng)目或者Arduino控制舵機(jī)的項(xiàng)目,等等。這時(shí)你或許會(huì)思考一個(gè)問(wèn)題,是否可以通過(guò)網(wǎng)頁(yè)實(shí)現(xiàn)對(duì)燈或舵機(jī)的控制。當(dāng)然,自帶網(wǎng)絡(luò)版本的Arduino是首選,比如Arduino Yun。下面來(lái)看看怎么去實(shí)現(xiàn)它。首先,我們需要?jiǎng)?chuàng)建一個(gè)簡(jiǎn)單的網(wǎng)頁(yè),使它可以與Arduino通信。在本文中將逐一討論。

如何從網(wǎng)頁(yè)控制arduino

在本文中,我們將通過(guò)一塊以太網(wǎng)功能的擴(kuò)展板和Arduino共同完成,目的是使我們能通過(guò)web瀏覽器控制藍(lán)色LED的開(kāi)關(guān)(當(dāng)然,如果你愿意,你可以使用其他顏色的LED)。

首先,當(dāng)然是將網(wǎng)絡(luò)功能擴(kuò)展板與Arduino UNO連接。在這個(gè)項(xiàng)目中使用的是Ethernet W5100 網(wǎng)絡(luò)擴(kuò)展板模塊。

電路連接

pYYBAGJFaKiAbKfEAAK-IT-O8rQ609.png

對(duì)于控制LED這種項(xiàng)目,其實(shí)只使用Arduino 引腳13的板載LED也可以實(shí)現(xiàn)。但是如果要考慮添加W5100擴(kuò)展板,這種方法就存在一些問(wèn)題。首先,由于LED會(huì)被擴(kuò)展板覆蓋住,想看到LED頸椎受不了!第二個(gè)更嚴(yán)重的問(wèn)題是,W5100以太網(wǎng)擴(kuò)展板本身使用了引腳13。所以在本文中,我們將一個(gè)藍(lán)色LED接一個(gè)10K歐姆的電阻后,再將它連接到Arduino的第二個(gè)引腳上。

Arduino連接LED

這就是電路的全部?jī)?nèi)容,是不是超級(jí)簡(jiǎn)單。當(dāng)然這里的引腳均需要從W5100擴(kuò)展板上對(duì)應(yīng)連接,連接OK后,通過(guò)USB將Arduino插到PC機(jī)上。將以下代碼上傳到Arduino?,F(xiàn)在就可以開(kāi)始從網(wǎng)頁(yè)控制Arduino了!

注意:需要將下面代碼中的IP地址(192.168.1.212)更改為適合你自己家中局域網(wǎng)的IP地址。除此之外,不需要調(diào)整其他任何東西。

// Basemu - Controlling an Arduino Pin from a WebPage

// link to www.basemu.com

#include "SPI.h"

#include "Ethernet.h"

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xAD, 0xEE, 0xBE }; //physical mac address

byte ip[] = { 192, 168, 1, 212 }; // IP address in LAN – need to change according to your Network address

byte gateway[] = { 192, 168, 1, 1 }; // internet access via router

byte subnet[] = { 255, 255, 255, 0 }; //subnet mask

EthernetServer server(80); //server port

String controlString; // Captures out URI querystring;;

int blueLEDPin = 2; // pin where our blue LED is connected

void setup(){

pinMode(blueLEDPin, OUTPUT); // change pin 2 to OUTPUT pin

// Initialize the Ethernet

Ethernet.begin(mac, ip, gateway, subnet);

server.begin();

}

void loop(){

// Create a client connection

EthernetClient client = server.available();

if (client) {

while (client.connected()) {

if (client.available()) {

char c = client.read();

//read the HTTP request

if (controlString.length() < 100) {

// write characters to string

controlString += c;

}

//if HTTP request has ended– 0x0D is Carriage Return \n ASCII

if (c == 0x0D) {

client.println("HTTP/1.1 200 OK"); //send new page

client.println("Content-Type: text/html");

client.println();

client.println("

");

client.println("

");

client.println("

");

client.println("");

client.println("

");

client.println("

");

client.println("

LED ON/OFF FROM WEBPAGE

");

client.println("

");

client.println("

);

client.println("");

client.println("");

delay(10);

//stopping client

client.stop();

// control arduino pin

if(controlString.indexOf("?GPLED2ON") > -1) //checks for LEDON

{

digitalWrite(blueLEDPin, HIGH); // set pin high

}

else{

if(controlString.indexOf("?GPLED2OFF") > -1) //checks for LEDOFF

{

digitalWrite(blueLEDPin, LOW); // set pin low

}

}

//clearing string for next read

controlString="";

}

}

}

}

}

下面打開(kāi)Windows的命令窗口(WIN鍵+R,打開(kāi)后輸入CMD即可),輸入ping 192.168.1.212(對(duì)應(yīng)你的IP地址),應(yīng)該看到以下內(nèi)容,這里可以驗(yàn)證你的Arduino是否已正確連接到網(wǎng)絡(luò):

poYBAGJFaLOAVA31AASgCksvL_4723.png


Windows的命令窗口(WIN鍵+R,打開(kāi)后輸入CMD即可)

如果成功Ping通,下面打開(kāi)瀏覽器,輸入http://192.168.1.212((對(duì)應(yīng)你的IP地址),應(yīng)該看到以下屏幕:

poYBAGJFaJ-AFf92AAGGhSpOf0c495.png


Arduino WEB控制LED

這時(shí),點(diǎn)擊”Turn On The Blue LED”應(yīng)該會(huì)點(diǎn)亮LED,點(diǎn)擊“Turn Off the Blue LED”應(yīng)該會(huì)關(guān)閉LED。

代碼解釋

W5100以太網(wǎng)擴(kuò)展板與Arduino是通過(guò)SPI接口進(jìn)行通信的,因此,使用W5100擴(kuò)展板需要將“SPI.h”和“Ethernet.h”都include到項(xiàng)目中。

#include "SPI.h"

#include "Ethernet.h"

代碼的下一部分是將MAC地址和IP地址分配給W5100,并配置服務(wù)器端口80,這是標(biāo)準(zhǔn)的web服務(wù)器端口。

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xAD, 0xEE, 0xBE };

byte ip[] = { 192, 168, 1, 212 };

byte gateway[] = { 192, 168, 1, 1 };

byte subnet[] = { 255, 255, 255, 0 };

EthernetServer server(80);

接下來(lái),需要一個(gè)用于藍(lán)色LED引腳的變量,以及一個(gè)用于捕獲URI查詢(xún)字符串?dāng)?shù)據(jù)的“控制”變量。我們將發(fā)送“?GPLED2ON”到網(wǎng)頁(yè)上來(lái)關(guān)閉LED,發(fā)送“?GPLED2OFF”來(lái)關(guān)閉LED。controlString將捕獲這些命令。

String controlString;

int blueLEDPin = 2;

代碼的設(shè)置部分,設(shè)置引腳2為輸出,以便當(dāng)我們?cè)O(shè)置引腳2為高電平時(shí),可以為L(zhǎng)ED供電。Ethernet.begin 啟動(dòng)W5100并給它分配前面指定的MAC地址和IP地址。server.begin 啟動(dòng)在端口80上偵聽(tīng)web服務(wù)器。

pinMode(blueLEDPin, OUTPUT);

Ethernet.begin(mac, ip, gateway, subnet);

server.begin();

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 網(wǎng)頁(yè)
    +關(guān)注

    關(guān)注

    0

    文章

    74

    瀏覽量

    19650
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192151
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    轉(zhuǎn):開(kāi)源制作Arduino智能小車(chē)( WiFi遠(yuǎn)程監(jiān)控+網(wǎng)頁(yè)控制

    做的Arduino小車(chē),加上無(wú)線路由模塊,刷openwrt可以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和網(wǎng)頁(yè)控制
    發(fā)表于 07-26 14:14

    運(yùn)用labview 實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)控制

    各位前輩,我現(xiàn)在想運(yùn)用labview 實(shí)現(xiàn)對(duì)一個(gè)網(wǎng)頁(yè)控制,要把一些數(shù)據(jù)寫(xiě)到網(wǎng)頁(yè)上去,現(xiàn)在不知怎么做?現(xiàn)在可以網(wǎng)頁(yè)上把數(shù)據(jù)讀出來(lái),不知道哪
    發(fā)表于 12-02 13:12

    【項(xiàng)目分享】教你如何運(yùn)用Arduino通過(guò)網(wǎng)頁(yè)實(shí)時(shí)控制伺服電機(jī)

    以實(shí)現(xiàn)一個(gè)網(wǎng)絡(luò)服務(wù)器瀏覽器端來(lái)控制并監(jiān)控Arduino。它同時(shí)還支持Websocket,這樣我們不用刷新網(wǎng)頁(yè)就能實(shí)時(shí)控制與監(jiān)控
    發(fā)表于 09-26 11:16

    如何使用Arduino和ESP8266實(shí)現(xiàn)網(wǎng)頁(yè)控制伺服電機(jī)

    使用Arduino和ESP8266模塊通過(guò)網(wǎng)頁(yè)控制伺服電機(jī)。在本篇文章中,我們將實(shí)現(xiàn)通過(guò)網(wǎng)頁(yè)控制伺服電機(jī)。
    發(fā)表于 06-28 08:09

    如何使用Arduino和ESP8266實(shí)現(xiàn)網(wǎng)頁(yè)控制伺服電機(jī)?

    如何使用Arduino和ESP8266實(shí)現(xiàn)網(wǎng)頁(yè)控制伺服電機(jī)?
    發(fā)表于 09-28 06:16

    什么叫Arduino?Arduino怎么玩

    STEP 1:下載Arduino IDE打開(kāi)網(wǎng)頁(yè)輸入網(wǎng)址進(jìn)入到頁(yè)面后,找到下圖顯示部分。什么叫Arduino?Arduino怎么玩?Arduino
    發(fā)表于 01-17 09:05

    如何arduino發(fā)送文本到arduino?

    arduino發(fā)送文本到arduino
    發(fā)表于 05-04 07:45

    如何使用網(wǎng)頁(yè)簡(jiǎn)單控制LED?

    誰(shuí)能幫我畫(huà)一個(gè)非常簡(jiǎn)單的草圖來(lái)通過(guò)網(wǎng)頁(yè)控制 LED。(在 arduino mega 2560 r3 上使用 esp8266)。 與 wifi 的連接和網(wǎng)絡(luò)服務(wù)器的庫(kù)示例工作得很好。我只是不明白如何以
    發(fā)表于 05-24 07:02

    求分享Arduino與ESP8266-12E的連接圖和Arduino發(fā)送號(hào)碼到網(wǎng)頁(yè)的代碼?

    我想將我的 Arduino uno 與 ESP8266-12E 連接,以將數(shù)字 Arduino uno 發(fā)送到網(wǎng)頁(yè)。 誰(shuí)能給我Arduino
    發(fā)表于 05-29 07:00

    如何使用Arduino Manager移動(dòng)設(shè)備或平板電腦控制Arduino

    對(duì)于家庭自動(dòng)化,Arduino的遠(yuǎn)程控制或監(jiān)視,Arduino Manager可以完成所有工作。以下是使用它從移動(dòng)設(shè)備或平板電腦控制Arduino
    的頭像 發(fā)表于 12-05 08:44 ?4674次閱讀

    ESP8266+網(wǎng)頁(yè)控制LED

    本次我們將利用NodeMCU建立網(wǎng)絡(luò)服務(wù)。用戶通過(guò)瀏覽器可以訪問(wèn)NodeMCU所建立的網(wǎng)頁(yè)。通過(guò)該網(wǎng)頁(yè),用戶可實(shí)現(xiàn)對(duì)NodeMCU的控制。首先通過(guò)串口,當(dāng)ESP8266連接WiFi成功之后會(huì)獲取
    發(fā)表于 12-06 18:51 ?16次下載
    ESP8266+<b class='flag-5'>網(wǎng)頁(yè)</b><b class='flag-5'>控制</b>LED

    最簡(jiǎn)單DIY基于ESP8266的智能彩燈②(在網(wǎng)頁(yè)用按鍵和滑動(dòng)條控制RGB燈)

    和滑動(dòng)條控制RGB燈)文章目錄ESP8266和ESP32智能彩燈開(kāi)發(fā)系列文章目錄前言一、最簡(jiǎn)單DIY基于ESP8266的智能彩燈②(在網(wǎng)頁(yè)用按鍵和滑動(dòng)條控制RGB燈)是什么?二、使用步驟1.準(zhǔn)備硬件2.
    發(fā)表于 12-29 19:02 ?7次下載
    最簡(jiǎn)單DIY基于ESP8266的智能彩燈②(在<b class='flag-5'>網(wǎng)頁(yè)</b>用按鍵和滑動(dòng)條<b class='flag-5'>控制</b>RGB燈)

    BT到WiFi:創(chuàng)建WiFi控制Arduino機(jī)器人車(chē)

    電子發(fā)燒友網(wǎng)站提供《BT到WiFi:創(chuàng)建WiFi控制Arduino機(jī)器人車(chē).zip》資料免費(fèi)下載
    發(fā)表于 10-27 16:42 ?0次下載
    <b class='flag-5'>從</b>BT到WiFi:創(chuàng)建WiFi<b class='flag-5'>控制</b>的<b class='flag-5'>Arduino</b>機(jī)器人車(chē)

    如何Arduino取回代碼/程序

    電子發(fā)燒友網(wǎng)站提供《如何Arduino取回代碼/程序.zip》資料免費(fèi)下載
    發(fā)表于 06-09 10:50 ?4次下載
    如何<b class='flag-5'>從</b><b class='flag-5'>Arduino</b>取回代碼/程序

    Azure Percept中的docker容器控制Arduino

    電子發(fā)燒友網(wǎng)站提供《Azure Percept中的docker容器控制Arduino.zip》資料免費(fèi)下載
    發(fā)表于 06-27 11:28 ?0次下載
    <b class='flag-5'>從</b>Azure Percept中的docker容器<b class='flag-5'>控制</b><b class='flag-5'>Arduino</b>