欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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下將無法使用。我不能告訴你我花了多長時(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ù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è)頁面來控制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)問題。頁面剛剛?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方面

每次單擊頁面上的按鈕按下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ù)器,因此可以訪問以下頁面來自世界各地的服務(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

    文章

    454

    瀏覽量

    26810
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6477

    瀏覽量

    187976
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AN-737: 如何用ADIsimADC完成ADC建模

    電子發(fā)燒友網(wǎng)站提供《AN-737: 如何用ADIsimADC完成ADC建模.pdf》資料免費(fèi)下載
    發(fā)表于 01-13 14:54 ?0次下載
    AN-737: 如<b class='flag-5'>何用</b>ADIsimADC完成ADC建模

    華為云 Flexus X 實(shí)例下的場(chǎng)景體驗(yàn)——小企業(yè)的福星——最簡(jiǎn)單的 php 環(huán)境搭建

    ?前言 都是 php 是全世界最好的語言,我也是非常的喜歡,雖然我是搞大數(shù)據(jù)的,但是 php 在很逗情況下對(duì)于個(gè)人開發(fā)者來說是非常友好的,對(duì)于一般小企業(yè)來說使用【華為云 Flexus X 實(shí)例】來
    的頭像 發(fā)表于 01-02 11:59 ?132次閱讀
    華為云 Flexus X 實(shí)例下的場(chǎng)景體驗(yàn)——小企業(yè)的福星——最簡(jiǎn)單的 <b class='flag-5'>php</b> 環(huán)境搭建

    如何使用Arduino實(shí)現(xiàn)CAN總線通信呢

    CAN(Controller Area Network)總線是一種常用于汽車和工業(yè)控制系統(tǒng)的串行通信協(xié)議,以其高可靠性和實(shí)時(shí)性而聞名。Arduino,作為一種流行的開源微控制器平臺(tái),可以通過附加
    的頭像 發(fā)表于 12-23 09:06 ?562次閱讀

    基于Arduino的串口通信項(xiàng)目

    基于Arduino的串口通信項(xiàng)目涉及多個(gè)方面,包括硬件連接、軟件編程、串口參數(shù)配置等。 一、硬件準(zhǔn)備 Arduino開發(fā)板 :確保你有一塊Arduino開發(fā)板,如Arduino Uno
    的頭像 發(fā)表于 11-22 09:24 ?889次閱讀

    stm32與Arduino的比較

    在微控制器的世界里,STM32和Arduino是兩個(gè)經(jīng)常被提及的名字。STM32是一系列由STMicroelectronics生產(chǎn)的高性能微控制器,而Arduino則是一個(gè)開源電子原型
    的頭像 發(fā)表于 11-19 15:45 ?1806次閱讀

    如何使用Arduino實(shí)現(xiàn)CAN總線通信

    CAN總線(Controller Area Network)是一種多主控制的串行通信協(xié)議,廣泛應(yīng)用于汽車電子、工業(yè)自動(dòng)化等領(lǐng)域。它以其高可靠性、實(shí)時(shí)性和靈活性而受到青睞。Arduino作為一個(gè)
    的頭像 發(fā)表于 11-12 10:09 ?1403次閱讀

    何用Jacinto內(nèi)部的GPtimer輸出PWM信號(hào)控制屏幕背光

    電子發(fā)燒友網(wǎng)站提供《如何用Jacinto內(nèi)部的GPtimer輸出PWM信號(hào)控制屏幕背光.pdf》資料免費(fèi)下載
    發(fā)表于 09-29 10:25 ?0次下載
    如<b class='flag-5'>何用</b>Jacinto內(nèi)部的GPtimer輸出PWM信號(hào)<b class='flag-5'>控制</b>屏幕背光

    怎樣用Arduino測(cè)試鋰電池容量

    本文詳細(xì)介紹了如何用Arduino測(cè)量鋰電池的容量。并附有電路圖和Arduino的程序代碼。
    的頭像 發(fā)表于 07-30 09:14 ?1068次閱讀
    怎樣用<b class='flag-5'>Arduino</b>測(cè)試鋰電池容量

    云服務(wù)器apache如何配置解析php文件?

    在云服務(wù)器上配置Apache以解析PHP文件通常需要以下步驟: 1、安裝PHP:首先確保在服務(wù)器上安裝了PHP。你可以使用包管理工具(如apt、yum等)來安裝PHP。例如,在Ubun
    的頭像 發(fā)表于 04-22 17:27 ?1074次閱讀

    何用Arduino開發(fā)STM32G070?

    何用Arduino開發(fā)STM32G070,各位大神有相關(guān)教程嗎。我如何在Arduino的開發(fā)板管理器中添加STM32G070開發(fā)板,如何把程序下載到CPU中?
    發(fā)表于 04-07 08:22

    云服務(wù)器的linux中如何搭建php運(yùn)行環(huán)境?

    要在云服務(wù)器的Linux系統(tǒng)上搭建PHP運(yùn)行環(huán)境,您可以按照以下步驟進(jìn)行: 1、安裝PHP: 使用包管理工具(如apt、yum等)安裝PHP及其相關(guān)模塊。例如,在Ubuntu系統(tǒng)上,您可以運(yùn)行以下
    的頭像 發(fā)表于 03-21 17:08 ?724次閱讀

    PHP用戶定義函數(shù)詳細(xì)講解

    描述 在所有編程和腳本語言中,函數(shù)是可以在程序中重復(fù)使用的語句塊。在 PHP 中,函數(shù)的概念與另一種語言(如“C”)中的概念相同。標(biāo)準(zhǔn) PHP 發(fā)行版中有 1,000 多個(gè)內(nèi)置函數(shù)。除此之外,我們
    的頭像 發(fā)表于 03-20 14:27 ?454次閱讀

    何用memtool與xc866微控制器通信?

    請(qǐng)告訴我如何用memtool與xc866微控制器通信
    發(fā)表于 03-04 07:27

    arduino控制步進(jìn)電機(jī)代碼

    Arduino是一種開放源代碼的電路板平臺(tái),它可以用于控制各種不同的電子設(shè)備,包括步進(jìn)電機(jī)。步進(jìn)電機(jī)是一種電動(dòng)機(jī),可以通過下達(dá)特定的指令來控制每個(gè)步進(jìn)的角度,從而使電機(jī)旋轉(zhuǎn)到指定的位置。在本文
    的頭像 發(fā)表于 02-14 16:29 ?2215次閱讀

    arduino中while循環(huán)怎么跳出

    執(zhí)行某段代碼的情況。然而,如何在合適的時(shí)機(jī)跳出 while 循環(huán)是一個(gè)需要注意的問題。本文將詳細(xì)介紹 Arduino 中 while 循環(huán)的基本概念,以及如何使用不同的技巧跳出該循環(huán)來實(shí)現(xiàn)代碼的靈活控制
    的頭像 發(fā)表于 02-14 16:22 ?2738次閱讀