精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用javascript函數通過adafruit Huzzah的ajax回調來控制arduino

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-12 08:47 ? 次閱讀

步驟1:您需要什么

我為要使用ESP8266上的html頁面控制arduino的用戶構建了這個項目。該項目的目標是創建一個簡單的方法,使用javascript函數設置arduino上的pin值。對于樣板onclick =“ SetPin(12,1,0)”會將您的arduino上的Pin 12設置為High。

對于本教程,您將需要以下各項才能準確進行。但是,我認為它應該適用于大多數arduino和ESP8266組合。但是,要完全按照我在這里的內容進行操作,您將需要以下組件。

Arduino Uno-應與具有串行Rx Tx的任何arduino兼容產品一起使用

Adafruit Huzzah接線板

USB至串行電纜

4個低功耗LED

模擬濁度測試儀-任何提供模擬輸出的模擬傳感器都可以使用

Wire

Wifi路由器

帶有移動瀏覽器的手機

Arduino庫。

第2步:準備Arduino ID

該項目需要一個新的arduino庫和一些配置,以節省時間。我不會在每個屏幕上都放一個鏡頭,而只是要遍歷您需要配置并使其運行的所有內容。我試圖使它對用戶來說盡可能容易。

代碼使用許多庫來工作。首先,我們將專注于為ESP8266設置arduino,在本示例中,我將使用Adafruit Huzzah,因為我發現adafruit產品是最可靠的,并獲得最佳支持。只要您不嘗試從Adafruit Discord服務器獲得支持即可。在支持論壇上獲得幫助會更好。

無論如何,我在ESP8266上使用以下庫

ESP8266WiFi

WiFiClient

ESP8266WebServer

ArduinoJSON

這不是有關如何下載的教程然后安裝庫,這些是HUZZAH上使用的庫。因此,請找到并安裝它們。

您還需要安裝HUZZAH的板定義,因此,如果轉到FILE》首選項

在顯示“其他板管理器URL”的框中,請添加以下

http://arduino.esp8266。 com/stable/package_esp8266c 。..

如果您已經在此字段中添加了某些內容,則請確保在其中添加逗號以添加其他面板URL。單擊確定,然后單擊確定。

工具》開發板》開發板管理器

比通過ESP8266社區安裝ESP8266來搜索ESP8266。

現在很棒,請確保我們具有使arduino代碼正常工作所需的一切。一個arduino端arduino本身在本教程中僅使用2個庫。

SoftwareSerial

ArduinoJSON

您應該已經具備。

步驟3:準備ESP8266

現在,我們將代碼放到ESP8266(Adafruit HUZZAH)上并進行準備它用于連接到Arduino。解壓縮HUZZAH的代碼,然后打開草圖。在第11和12行上,將ssid和密碼更改為本地網絡上的WIFI連接的密碼。您會注意到,草圖文件和index.h文件有2個文件。 index.h文件是html的存儲位置,它將在您的手機中顯示。

為wifi設置正確的SSID和密碼后,您可以編譯代碼并將其加載到ESP8266上。在HUZZAH上,您必須按住標有GPIO0的按鈕,然后單擊“ rest”按鈕,然后放開GPIO0按鈕以使芯片進入引導加載程序模式。如果芯片已成功進入引導加載程序模式,則紅燈會亮起,指示芯片處于引導加載程序模式。

要連接到ESP8266,您需要使用串行電纜或USB到串行適配器,或者FDTI芯片。在這種情況下,我將按照說明中的說明使用adafruit的電纜。但是,您可以通過Tx和Rx引腳上的TTL通過幾種方式連接到芯片。我希望查看此內容的人知道如何連接到芯片以將代碼加載到芯片上。無論如何,繼續執行此步驟,并使用zip文件中的代碼刷新芯片。

步驟4:準備Arduino

要將代碼加載到arduino,請將板定義更改為Arduino/Genuino Uno。比解壓縮附加到此步驟的文件。然后將其上傳到ardunio。確實很簡單,所有的辛苦工作已經為您完成。我已經經歷了一個錯誤處理的試驗,因此您所要做的就是上傳代碼。

步驟5:一起布線

好,所以對于布線,我上面有一張上面的圖片。

將Huzzah上的Tx連接到arduino的Pin2。

將Huzzah上的Rx連接到arduino的Pin 3。

我在arduino的引腳2和3上創建了另一個串行插座,以釋放默認的串行控制臺。

將arduino的引腳V +和En連接到5v。 -adafruit Huzzah內置有一個3.3v穩壓器,因此像這樣插入這些引腳可能不適用于所有ESP8266模塊。您可能需要連接自己的穩壓器。如果您只是想讓事情輕松進行,我建議您使用Huzzah。

將GND連接到arduino的GND

在您的LED的arduino線上的引腳12,11,9,8上,我在這里使用了低功耗LED,因為它們消耗的電流可能過多為了使此實驗簡單起見,會消耗太多功率。

比起arduino上的A0模擬引腳0,我已經插入了Turpitity測試儀的輸出線。但是,您可以插入幾乎任何會提供模擬讀數的傳感器的輸出。

這就是您要做的所有事情。

第6步:訪問網頁

現在,您已經連接了arduino,并將所有內容加載到板上,您需要能夠查看手機上的html。現在,我希望您連接到在Huzzah的代碼中設置了SSID和密碼的同一WiFi路由器。不需要確定路由器已分配給設備的IP地址。通常,如果您登錄路由器配置,則應該有一個客戶端列表。這顯示了連接到Wifi連接的所有設備的IP地址。

但是,如果找不到此IP地址,則可以從arduino拔下插頭,然后再次使用串行電纜運行它。如果您在設備上打開串行控制臺,它將在串行控制臺中將IP地址打印到該設備,以防您無法找到其他方式。

無論如何,一旦您用手機連接到同一Wifi網絡。而不是將您的移動Web瀏覽器指向Huzzah的IP地址。看起來可能與此類似。 http://192.168.0.107或類似的東西。

我在其中放置了一個基本頁面,該頁面允許您打開和關閉4個LED以及讀取模擬傳感器的值。

步驟7:使用Javascipt

在ESP8266Code草圖中名為index.h的文件中,它應作為arduino編輯器中的單獨選項卡出現。您可以在這里看到我做的基本示例。基本上它的工作方式是這樣的。

SetPin(12,1,0); SetPin({Pin Number},{Value 1 High 0 Low},{IsAnalog 1 Yes 0 No})

這會將數字引腳12的值設置為高

SetPin( 4,0,0);

這會將數字引腳4的值設置為低

SetPin(A2,439,1)

這會將模擬引腳2的值設置為439

同樣,函數GetJSON將從引腳返回請求的值,并將其放入以指定div ID表示的html中。

GetJSON(‘A0’,1,‘resp_i’)GetJSON({Pin Number},{IsAnalog 1是0否},{要返回結果的HTML元素的ID})

這將向arduino發送請求,要求其提供模擬引腳0的值,并將結果返回給ID為resp_i的Div

GetJSON(12,0,‘mydiv’);

這將詢問arduino獲取數字引腳0的值并將結果返回到具有mydiv和id的html元素

步驟8:支持

我希望我的腳本幫助想要使用它的人。我在這里使用了一個非常基本的html示例,希望其他人可以探索它無法實現的所有功能。但是,這應該演示如何在沒有html頁面加載和類似性質的情況下使用ajax控制arduino。

責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • javascript
    +關注

    關注

    0

    文章

    516

    瀏覽量

    53793
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186665
收藏 人收藏

    評論

    相關推薦

    Adafruit Huzzah無法從深度睡眠中醒來怎么辦?

    我有一個問題,Huzzah 沒有從深度睡眠中醒來。 GPIO16 跳線到 Reset 引腳,GPIO0 和 GPIO2 都有 10k 上拉電阻到 V3.3。 如果我使用重置按鈕重置它,我會
    發表于 07-19 15:04

    ESP8266無法從致命異常(0)中恢復怎么辦?

    使用的硬件:Adafruit HUZZAH ESP8266 ESP12 使用的軟件: - Arduino IDE V1.6.7 帶 esp8266 板 V2.0.0 - AT固件(來自
    發表于 07-19 10:41

    ESP8266 Huzzah不響應AT命令的原因?

    我的 esp8266 Huzzah 分線板最近使用 esp 閃存工具,使用 NONOS SDK v2.0.0 重新刷新。我認為這將允許 esp 在通過 arduino 串行監視器發送 AT 命令
    發表于 07-11 08:21

    調函數(callback)是什么?調函數的實現方法

    調函數是一種特殊的函數,它作為參數傳遞給另一個函數,并在被調用函數執行完畢后被調用。調
    發表于 03-12 11:46 ?2719次閱讀

    函數指針與調函數的應用實例

    通常我們說的指針變量是指向一個整型、字符型或數組等變量,而函數指針是指向函數函數指針可以像一般函數一樣,用于調用函數、傳遞參數。
    的頭像 發表于 03-07 11:13 ?375次閱讀
    <b class='flag-5'>函數</b>指針與<b class='flag-5'>回</b>調<b class='flag-5'>函數</b>的應用實例

    ??嵌入式中調函數的實現方法

    調函數的命名規范沒有固定的標準,但是根據通用慣例和編碼規范,調函數的命名應該能夠反映函數的作用和功能,讓其他開發者能夠快速理解并使用。
    發表于 03-04 14:49 ?651次閱讀

    arduino控制步進電機代碼

    Arduino是一種開放源代碼的電路板平臺,它可以用于控制各種不同的電子設備,包括步進電機。步進電機是一種電動機,可以通過下達特定的指令來控制每個步進的角度,從而使電機旋轉到指定的位置
    的頭像 發表于 02-14 16:29 ?1892次閱讀

    如何讓Adafruit 320x240 IPS TFT顯示屏在PSoC上運行?

    我有一臺 Adafruit 320x240 IPS TFT 顯示屏,希望它能夠使用我的 PSoC 4200 主板繪制圖像。 來自 Adafruit 的代碼庫是為 Arduino 設計的,我不確定如何讓它在 PSoC 上運行。
    發表于 01-22 06:33

    函數指針的五大作用

    1,調函數機制函數指針常用于實現調函數通過函數
    的頭像 發表于 12-06 08:00 ?1849次閱讀
    <b class='flag-5'>函數</b>指針的五大作用

    javascript屬于前端嗎

    負責定義網頁的樣式,而JavaScript負責控制網頁的行為和交互。通過JavaScript,前端開發人員
    的頭像 發表于 12-03 11:43 ?1379次閱讀

    javascript語言的用途

    于開發復雜的Web應用、移動應用、桌面應用和服務器端應用。 JavaScript在互聯網發展的早期起到了重要作用,它使得網頁不再是靜態的,而是能夠與用戶進行實時的交互。通過JavaScript,我們可以對網頁的內容、樣式和行為進
    的頭像 發表于 12-03 11:30 ?675次閱讀

    怎樣開啟javascript功能

    JavaScript是一種客戶端腳本語言,它可以在網頁中實現動態交互和功能增強。在現代網頁開發中,幾乎所有的瀏覽器都支持JavaScript,因此,開啟JavaScript功能是很簡單的。 要開啟
    的頭像 發表于 12-03 11:13 ?3563次閱讀

    JavaScript的用途和功能

    開發中發揮著非常重要的作用,并為用戶提供了更為豐富的使用體驗。下面我們將詳細討論JavaScript的用途和功能。 首先,JavaScript用于網頁開發中的動態內容。通過使用JavaScri
    的頭像 發表于 12-03 11:12 ?843次閱讀

    javascript指什么

    JavaScript是一種高級編程語言,通常用于為網頁添加交互功能。它是一種面向對象的語言,旨在通過編寫代碼來控制網頁的行為,使用戶能夠與網頁進行動態交互。JavaScript能夠與H
    的頭像 發表于 12-03 11:11 ?840次閱讀

    javascript深入淺出介紹

    語法、數據類型、函數、對象、DOM等等。 首先,我們來看一下JavaScript的語法。JavaScript是一種弱類型語言,這意味著變量可以保存不同類型的值。它也是一種動態語言,這意味著變量的類型可以在運行時改變。
    的頭像 發表于 12-03 11:09 ?5.8w次閱讀