chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

如何用PHP控制Arduino

454398 ? 來源:wv ? 2019-09-25 09:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:平臺(tái)兼容性

此方法在Windows下將無法使用。我不能告訴你我花了多長(zhǎng)時(shí)間才弄清楚。在Windows和Linux下,我們使用的命令fopen()的實(shí)現(xiàn)方式不同,因此必須使用Linux。以前沒用過?別著急,還不錯(cuò)。

步驟2:設(shè)置服務(wù)器

您需要獲取運(yùn)行PHP的服務(wù)器才能正常工作。我將假設(shè)您擁有Ubuntu的新副本。字面上有成千上萬的有關(guān)如何安裝Ubuntu的教程,因此,如果您不這樣做,我將向您推薦。

打開終端并輸入:

sudo apt-get install php5 mysql-server apache2

它將提示您輸入MySQL的root用戶密碼,因此請(qǐng)輸入一個(gè)密碼。

打開瀏覽器,然后轉(zhuǎn)到http://localhost。您應(yīng)該看到一個(gè)頁(yè)面,上面寫著“有效!”。接下來在終端中運(yùn)行此命令:

sudo gedit/var/www/info.php

并粘貼以下代碼:

《?php

phpinfo();

?》

保存并關(guān)閉文件,然后運(yùn)行

sudo service apache2 restart

轉(zhuǎn)到http://localhost/info.php

,您應(yīng)該看到一個(gè)紫色表,其中包含一堆PHP東西。如果這樣做,恭喜!您現(xiàn)在正在運(yùn)行PHP服務(wù)器。接下來,讓我們建立一個(gè)頁(yè)面來控制Arduino

步驟3:觸摸PHP中的串行端口

該技術(shù)的核心是fopen()命令。這通常用于打開文檔以在代碼中進(jìn)行編輯(例如,如果您編寫了一個(gè)腳本來制作一個(gè)包含一些信息的文本文件并保存它)。相反,我們將利用linux如何查看文件并在端口上使用它。從Ubuntu軟件管理器安裝Arduino。插入您的Arduino并打開arduino窗口。您應(yīng)該在端口菜單下看到設(shè)備名稱。可能是/dev/ttyUSB0或類似的名稱。以下是一些示例代碼,這些代碼將打開該端口作為文件,并根據(jù)所按下的按鈕將數(shù)字1寫入6:

《?php

$ verz =“ 1.0”;

$ comPort =“/開發(fā)/ttyUSB0“ ;/*更改為正確的通訊端口*/

如果(isset($ _ POST [“ rcmd”])){

$ rcmd = $ _POST [“ rcmd”];

開關(guān)($ rcmd){

case Stop:

$ fp = fopen($ comPort,“ w”);

fwrite($ fp,1);/*這是它將寫入的數(shù)字*/

fclose($ fp);

break;

case慢:

$ fp = fopen($ comPort,“ w”);

fwrite($ fp,2);/*這是它將寫入的數(shù)字*/

fclose($ fp);

break;

case中:

$ fp = fopen($ comPort,“ w”);

fwrite($ fp,3);/*這是它將寫入的數(shù)字*/

fclose($ fp);

break;

區(qū)分大小寫:

$ fp = fopen($ comPort,“ w”);

fwrite($ fp,4);/*這是它將寫入的數(shù)字*/

fclose($ fp);

break;

case右:

$ fp = fopen($ comPort,“ w”);

fwrite($ fp,5);/*這是它將寫入的數(shù)字*/

fclose($ fp);

中斷;

左寫:

$ fp = fopen($ comPort,“ w”);

fwrite($ fp,6);/*這是它將寫入的數(shù)字*/

fclose($ fp);

中斷;

默認(rèn)值:

die(‘廢話,出了點(diǎn)問題。頁(yè)面剛剛?cè) !?;

}

}

?》

來自Arduino的PHP示例

版本《?php回聲$ verz; ?》

”》

&nbsp&nbsp&nbsp&nbsp

&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp

&nbsp&nspspnbsp br》 《輸入類型=“提交” value =“停止” name =“ rcmd”》

《輸入》 =“提交” value =“慢” name =“ rcmd”》

《輸入類型=“提交” value =“ Medium” name =“ rcmd”》

《輸入類型=“提交” value =“快速” name =“ rcmd”》

第4步:工作原理和Arduino方面

每次單擊頁(yè)面上的按鈕按下case語句,然后打開“文件”(實(shí)際上是端口),進(jìn)入寫入模式,寫入單個(gè)ASCII數(shù)字,然后將其關(guān)閉。您每次都必須關(guān)閉它,否則它將不起作用。在Arduino方面,只需在loop()中使用Serial.read()從串行端口讀取。我使用了一個(gè)大的if語句來檢查每個(gè)ASCII碼,因此如果發(fā)送了1,則執(zhí)行一件事,如果發(fā)送2,則執(zhí)行另一件事,依此類推。由于您正在運(yùn)行PHP服務(wù)器,因此可以訪問以下頁(yè)面來自世界各地的服務(wù)器,它將控制Arduino。下面是一些我用來控制某些馬達(dá)的arduino代碼示例:

#include

//首先,設(shè)置伺服器

Servo伺服1;

Servo伺服2;

int debugPin = 13;//用于導(dǎo)致測(cè)試的東西

int motor1Pin = 9;//第一個(gè)電動(dòng)機(jī)的端口號(hào)

int motor2Pin = 10;//第二個(gè)電動(dòng)機(jī)的端口號(hào)

int usbnumber = 0;//此變量保存我們當(dāng)前從串行讀取的內(nèi)容

void setup(){//在開始時(shí)調(diào)用一次

pinMode(motor1Pin,OUTPUT);

pinMode(debugPin,OUTPUT);

pinMode(motor2Pin,OUTPUT);

伺服1.attach(motor1Pin,1000,2000);

伺服2.attach(motor2Pin,1000,2000);

Serial.begin(9600);//啟動(dòng)串行端口

}

void loop(){//主循環(huán)

if(Serial.available()》 0){//如果串行端口上有任何東西,請(qǐng)讀取

usbnumber = Serial.read();//將其存儲(chǔ)在usbnumber變量中

}

if(usbnumber》 0){//如果我們讀取了某些內(nèi)容

if(usbnumber == 49){

Serve1.write(93);

Serve2.write(93);//如果我們讀到1,則停止

analogWrite(debugPin,0);

}

if(usbnumber == 50){ 120);

Serve2.write(120);//如果讀取的是2,則

AnalogWrite(debugPin,85);

}

if(usbnumber == 51){

Serve1.write(150);

Serve2.write (150);//如果我們讀取了3個(gè)中號(hào)

AnalogWrite(debugPin,170);

}

if(usbnumber == 52){

Serve1.write(179);

Serve2.write (179);//如果我們讀取4,則快速

AnalogWrite(debugPin,255);

}

if(usbnumber == 53){

Serve1.write(130);

Serve2.write (50);//如果我們讀到5,則

AnalogWrite(debugPin,255);

}

if(usbnumber == 54){

Serve1.write(50);

Serve2.write (130);//如果我們讀到6,則

AnalogWrite(debugPin,255);

}

}

usbnumber = 0;//重置搜索}

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

    關(guān)注

    0

    文章

    462

    瀏覽量

    28626
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    何用軟件實(shí)現(xiàn)系統(tǒng)的復(fù)位?

    看門狗的工作過程是怎樣的? 如何用軟件實(shí)現(xiàn)系統(tǒng)的復(fù)位?
    發(fā)表于 01-08 06:15

    BTN9970/BTN9990電機(jī)控制盾牌:Arduino評(píng)估利器

    BTN9970/BTN9990電機(jī)控制盾牌:Arduino評(píng)估利器 在電子工程師的日常工作中,電機(jī)控制是一個(gè)常見且重要的領(lǐng)域。今天,我們就來深入探討一下英飛凌(Infineon)的BTN9970
    的頭像 發(fā)表于 12-21 11:35 ?735次閱讀

    探索用于Arduino的TLE94112ES直流電機(jī)控制盾牌

    探索用于Arduino的TLE94112ES直流電機(jī)控制盾牌 引言 在電子工程領(lǐng)域,電機(jī)控制一直是至關(guān)重要的部分。對(duì)于Arduino開發(fā)者而言,一款功能強(qiáng)大且易于使用的電機(jī)
    的頭像 發(fā)表于 12-18 16:35 ?316次閱讀

    Arduino plc和termux esp

    Arduino plc和termux esp
    的頭像 發(fā)表于 12-06 06:41 ?1863次閱讀

    何用FPGA控制ADV7513實(shí)現(xiàn)HDMI畫面顯示和音頻播放

    HDMI接口顯示使用DMT時(shí)序+TMDS編碼來實(shí)現(xiàn)。當(dāng)用FPGA控制HDMI的數(shù)據(jù)傳輸時(shí),通??梢圆捎眉僐TL實(shí)現(xiàn)TMDS算法或者使用專門的HDMI芯片(如ADV7513)這兩種方案來完成。本文主要是介紹如何用FPGA控制ADV
    的頭像 發(fā)表于 12-02 11:05 ?6807次閱讀
    如<b class='flag-5'>何用</b>FPGA<b class='flag-5'>控制</b>ADV7513實(shí)現(xiàn)HDMI畫面顯示和音頻播放

    貿(mào)澤電子開售全新Arduino UNO Q單板計(jì)算機(jī)

    貿(mào)澤電子開售全新Arduino UNO Q單板計(jì)算機(jī)。Arduino UNO Q單板計(jì)算機(jī)(SBC)將高性能計(jì)算與實(shí)時(shí)控制結(jié)合,提供理想的創(chuàng)新平臺(tái)。
    的頭像 發(fā)表于 11-08 09:50 ?1351次閱讀

    高通宣布收購(gòu) Arduino,加速普及前沿邊緣計(jì)算與 AI 技術(shù)

    UNO Q 是 Arduino 首款由高通 Dragonwing 平臺(tái)驅(qū)動(dòng)的“雙大腦”開發(fā)板,它橋接了高性能計(jì)算與實(shí)時(shí)控制,能夠“眨眼間實(shí)
    的頭像 發(fā)表于 10-08 11:15 ?707次閱讀
    高通宣布收購(gòu) <b class='flag-5'>Arduino</b>,加速普及前沿邊緣計(jì)算與 AI 技術(shù)

    從 0 到 1:用 PHP 爬蟲優(yōu)雅地拿下京東商品詳情

    PHP 語言 實(shí)現(xiàn)一個(gè) 可運(yùn)行的京東商品爬蟲 ,不僅能抓取商品標(biāo)題、價(jià)格、圖片、評(píng)價(jià)數(shù),還能應(yīng)對(duì)常見的反爬策略。全文附完整代碼, 復(fù)制粘貼即可運(yùn)行 。 一、為什么選擇 PHP 做爬蟲? 雖然 Python 是爬蟲界的“老大哥”,但 P
    的頭像 發(fā)表于 09-23 16:42 ?857次閱讀
    從 0 到 1:用 <b class='flag-5'>PHP</b> 爬蟲優(yōu)雅地拿下京東商品詳情

    如何在 NuMaker-IoT-M467 板上使用 Arduino IDE 控制 Wi-Fi 模塊?

    在NuMaker開發(fā)板上,有一個(gè)ESP-12F Wi-Fi模塊;但是,Arduino IDE 中的 NuMaker UNO 包不提供該模塊的相關(guān)控制。如果您希望在 Arduino IDE 中
    發(fā)表于 09-04 08:28

    何用Arduino Nano/UNO R3開發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino
    的頭像 發(fā)表于 08-08 20:16 ?3573次閱讀
    如<b class='flag-5'>何用</b><b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板給另一個(gè)<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    Arduino與LabVIEW聯(lián)合編程指南

    Arduino編程并與LabVIEW上位機(jī)結(jié)合實(shí)現(xiàn)設(shè)備的遠(yuǎn)程控制與數(shù)據(jù)采集。
    發(fā)表于 06-19 15:54 ?3次下載

    免費(fèi)分享Arduino入門+進(jìn)階(全套例程+書籍)

    創(chuàng)意,比如控制燈光、傳感器、電機(jī)等。以下是Arduino入門+進(jìn)階學(xué)習(xí)資料1.Arduino編程語言說明(相關(guān)文件可在下文掃碼領(lǐng)取)2.Arduino系列學(xué)習(xí)例程
    的頭像 發(fā)表于 05-22 11:40 ?1128次閱讀
    免費(fèi)分享<b class='flag-5'>Arduino</b>入門+進(jìn)階(全套例程+書籍)

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識(shí)

    的發(fā)展,在Arduino出現(xiàn)以前,雖然也有很多公司在推廣一些簡(jiǎn)單易用的可編程控制器,但是由于開發(fā)平臺(tái)種類繁多,而且使用這些控制器基本上都需要對(duì)電子技術(shù)、數(shù)字邏輯、寄存器等內(nèi)容進(jìn)行多方面的了解和學(xué)習(xí),才能
    發(fā)表于 05-13 09:28

    何用FOC電機(jī)控制MATLAB仿真!

    [導(dǎo)讀]本文將介紹如何用FOC電機(jī)控制MATLAB仿真,首先從整體結(jié)構(gòu)及功能介紹,用MATLAB2013以上版本打開文件,看到如圖1所示界面,可以看到仿真最外層由四個(gè)模塊組成:電源模塊(紅色方框
    發(fā)表于 03-28 14:51

    何用幾條命令搞定Ubuntu系統(tǒng)的網(wǎng)絡(luò)配置

    在某些場(chǎng)景下,設(shè)備沒有顯示器或屏可以用,這時(shí)候通過命令行來設(shè)置網(wǎng)絡(luò)就變得特別重要了。本文將介紹如何用幾條命令搞定Ubuntu系統(tǒng)的網(wǎng)絡(luò)配置。
    的頭像 發(fā)表于 03-14 10:53 ?3768次閱讀
    如<b class='flag-5'>何用</b>幾條命令搞定Ubuntu系統(tǒng)的網(wǎng)絡(luò)配置