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

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

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

如何使用Spark Core來(lái)控制Internet上的伺服器

454398 ? 來(lái)源:wv ? 2019-10-11 15:16 ? 次閱讀

第1步:要求

以下是您需要開(kāi)始使用此Instructable的所有內(nèi)容這些零件都包含在Spark Maker套件中。

Spark Core或Spark Photon

Servo

面包板

Micro USB電纜

一些跳線

或者這是一條用于獲取制造商套件的線

:伺服器

開(kāi)始使用伺服器和spark核心非常簡(jiǎn)單,無(wú)需托管python服務(wù)器或查找IP地址或其他任何復(fù)雜的內(nèi)容。您所需要做的就是通過(guò)家庭WIFI將核心連接到Internet。

教程中使用的伺服器包含在火花制造器套件中,因此如果您愿意的話。如果您從上一個(gè)Arduino項(xiàng)目獲得的結(jié)果也不錯(cuò),那么這些伺服器會(huì)消耗較少的功率,并且可以直接從內(nèi)核供電,而無(wú)需油炸穩(wěn)壓器。如果您有那些真正的大型機(jī)消耗大量電能,那么您需要分別為它們供電。

第3步:接線

這里的接線方式是伺服為3.3V,因此3.3v芯線連接到伺服器的橙色線。芯線的接地引腳連接到棕色線或黑色線,最后一個(gè)端子連接到芯線的D0引腳。

橙色和棕色線是電源端子對(duì)于需要連接到+ 5V或+ 3.3V的伺服器。使用始終具有相同頻率但占空比不同的PWM信號(hào)控制伺服。控制信號(hào)變高的時(shí)間(占空比越大)越多,則伺服器將在一個(gè)方向上移動(dòng)的越多。當(dāng)占空比較低且控件花費(fèi)的時(shí)間較少時(shí),伺服器將向另一個(gè)方向移動(dòng)的次數(shù)更多。

步驟4:代碼:Spark Core

該程序需要通過(guò)Spark生成頁(yè)面上提供的Web IDE上載到核心。

Servo myservo; // create servo object to control a servo

int pos = 0; // variable to store the servo position

void setup()

{

myservo.attach(A0); // attaches the servo on the A0 pin to the servo object

Spark.function(“setpos”, setPosition);

Spark.variable(“getpos”, &pos, INT);

}

void loop()

{

}

int setPosition(String posValue) {

pos = posValue.toInt();

myservo.write(pos);

return 0;

}

請(qǐng)注意,loop()函數(shù)沒(méi)有代碼,因?yàn)檫@已經(jīng)為我們所有照顧,我們要做的就是調(diào)用spark.variable()函數(shù)和spark.function()。如果使用Arduino完成此操作,則必須在其中編寫(xiě)一大堆代碼才能使它運(yùn)行。

步驟5:代碼:Web Side

需要一些JavaScript,這是本教程的難點(diǎn),這里我們準(zhǔn)備好代碼的控制器端。如果您不熟悉JavaScript,則只需輸入訪問(wèn)權(quán)限即可令牌和核心ID,并在Web瀏覽器中運(yùn)行該文件,這是一個(gè)執(zhí)行Jason請(qǐng)求并通過(guò)火花云與核心通信的程序。

并使用AJAX實(shí)時(shí)進(jìn)行操作。

《html》

《script src=“http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js” type=“text/javascript” charset=“utf-8”》script》

《body》

《P》Set Servo Position:《br》《br》

《input type=“range” name=“degBox” id=“degBoxId” min=“0” max=“180” step=“1” value=“90” list=“myData” onchange=“setValue(this)”》

《datalist id=“myData”》

《option value=“0”》

《option value=“30”》

《option value=“60”》

《option value=“90”》

《option value=“120”》

《option value=“150”》

《option value=“180”》

datalist》

《br》《br》

《button id=“minusbutton” onclick=“fineAdjust(-5)”》? -5 °button》

《button id=“plusbutton” onclick=“fineAdjust(+5)”》+5 ° ?button》

《br》《br》

《P》Current Position: 《span id=“curPos”》span》《br》

《script type=“text/javascript”》

var deviceID = “《《 device id 》》”;

var accessToken = “《《 access token 》》”;

var setFunc = “setpos”;

var getFunc = “getpos”;

window.setInterval(function() {

requestURL = “https://api.spark.io/v1/devices/” + deviceID + “/” + getFunc + “/?access_token=” + accessToken;

$.getJSON(requestURL, function(json) {

document.getElementById(“curPos”).innerHTML = json.result + “°”;

document.getElementById(“curPos”).style.fontSize = “28px”;

document.getElementById(“degBoxId”).value = parseInt(json.result);

});

}, 1000);

function setValue(obj) {

var newValue = document.getElementById(‘degBoxId’).value;

sparkSetPos(newValue);

}

function fineAdjust(value) {

var currentValue = parseInt(document.getElementById(‘curPos’).innerHTML);

var setValue = value + currentValue;

sparkSetPos(setValue);

document.getElementById(“degBoxId”).value = setValue;

}

function sparkSetPos(newValue) {

var requestURL = “https://api.spark.io/v1/devices/” +deviceID + “/” + setFunc + “/”;

$.post( requestURL, { params: newValue, access_token: accessToken });

}

script》

body》

html》

第6步:完成

如果一切正確并閃爍在使用二進(jìn)制代碼的Spark核心中,您應(yīng)該讓您的核心在稍微延遲的情況下控制伺服。延遲是由于您的IP與Spark Core Server IP之間的ping差異引起的。您也可以從本地云進(jìn)行控制,我很快會(huì)在其上發(fā)布一個(gè)Instructable。

注意:請(qǐng)勿與任何人共享.html文件,因?yàn)樗L問(wèn)令牌和核心ID,請(qǐng)確保在共享前先將其刪除。

聲明:本文內(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)投訴
  • Internet
    +關(guān)注

    關(guān)注

    0

    文章

    400

    瀏覽量

    36788
  • 伺服器
    +關(guān)注

    關(guān)注

    1

    文章

    149

    瀏覽量

    19411
  • SPARK
    +關(guān)注

    關(guān)注

    1

    文章

    105

    瀏覽量

    19845
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    spark運(yùn)行的基本流程

    記錄和分享下spark運(yùn)行的基本流程。 一、spark的基礎(chǔ)組件及其概念 1. ClusterManager 在Standalone模式中即為Master,控制整個(gè)集群,監(jiān)控Worker。在YARN
    的頭像 發(fā)表于 07-02 10:31 ?303次閱讀
    <b class='flag-5'>spark</b>運(yùn)行的基本流程

    ESP32如何控制外部中斷觸發(fā)在指定core

    ESP32如何控制外部中斷觸發(fā)在指定core? 在gpio_example_main.c歷程中 按照參考手冊(cè)將APP_GPIO_INTERRUPT_APP_MAP_REG寄存配置為
    發(fā)表于 06-21 08:12

    伺服驅(qū)動(dòng)對(duì)伺服電機(jī)的控制要求

    伺服驅(qū)動(dòng)對(duì)伺服電機(jī)的控制要求是一個(gè)復(fù)雜而深入的話題。以下是關(guān)于伺服驅(qū)動(dòng)對(duì)
    的頭像 發(fā)表于 06-14 15:24 ?620次閱讀

    伺服驅(qū)動(dòng)控制模式有哪幾種?

    介紹伺服驅(qū)動(dòng)的幾種主要控制模式,以及它們的特點(diǎn)和應(yīng)用場(chǎng)景。 速度控制模式 速度控制模式是伺服驅(qū)
    的頭像 發(fā)表于 06-14 14:41 ?1286次閱讀

    伺服驅(qū)動(dòng)伺服控制系統(tǒng)的區(qū)別

    在工業(yè)自動(dòng)化和精密控制領(lǐng)域,伺服驅(qū)動(dòng)伺服控制系統(tǒng)是兩個(gè)至關(guān)重要的組成部分。它們各自在系統(tǒng)中扮演著不同的角色,共同協(xié)作以實(shí)現(xiàn)高精度的
    的頭像 發(fā)表于 06-13 16:26 ?703次閱讀

    伺服驅(qū)動(dòng)控制方式有哪些?

    伺服驅(qū)動(dòng)是用來(lái)控制伺服電機(jī)的一種控制器,其作用類(lèi)似于變頻作用于普通交流馬達(dá),屬于
    的頭像 發(fā)表于 06-13 09:04 ?1660次閱讀

    伺服驅(qū)動(dòng)控制電源和主電源的區(qū)別

    驅(qū)動(dòng)控制電源 伺服驅(qū)動(dòng)控制電源是伺服系統(tǒng)中用于控制
    的頭像 發(fā)表于 06-12 09:57 ?1421次閱讀

    上位機(jī)控制伺服驅(qū)動(dòng)的作用是什么

    上位機(jī)控制伺服驅(qū)動(dòng)的作用是實(shí)現(xiàn)對(duì)伺服驅(qū)動(dòng)的精確控制,以滿足各種工業(yè)自動(dòng)化應(yīng)用的需求。本文將詳
    的頭像 發(fā)表于 06-06 10:55 ?633次閱讀

    伺服電機(jī)控制器怎么調(diào)參數(shù)

    伺服電機(jī)控制器參數(shù)調(diào)整是確保伺服系統(tǒng)正常運(yùn)行和達(dá)到預(yù)期性能的關(guān)鍵步驟。本文將詳細(xì)介紹伺服電機(jī)控制器的參數(shù)調(diào)整方法,包括基本原理、常見(jiàn)參數(shù)、調(diào)
    的頭像 發(fā)表于 06-05 15:47 ?1325次閱讀

    伺服驅(qū)動(dòng)伺服控制器的區(qū)別

    在工業(yè)自動(dòng)化和精密控制領(lǐng)域中,伺服驅(qū)動(dòng)伺服控制器是兩個(gè)至關(guān)重要的組件,它們各自在伺服系統(tǒng)中扮
    的頭像 發(fā)表于 06-05 15:24 ?1571次閱讀

    伺服控制器編碼信號(hào)輸出怎么接

    伺服控制器編碼信號(hào)輸出接線是伺服系統(tǒng)設(shè)計(jì)和安裝過(guò)程中的一個(gè)重要環(huán)節(jié)。本文將詳細(xì)介紹伺服控制器
    的頭像 發(fā)表于 06-05 14:57 ?1090次閱讀

    臺(tái)廠積極布局墨西哥,擴(kuò)大電動(dòng)車(chē)、伺服器組裝等產(chǎn)能

    而鴻海集團(tuán)在墨西哥的動(dòng)作更為頻繁。盡管該集團(tuán)早在去年9月便與加蓋瓦州政府簽訂戰(zhàn)略合作協(xié)議,專(zhuān)注于通信技術(shù)、汽車(chē)產(chǎn)業(yè)及可再生能源的發(fā)展,但近期他們?nèi)怨剂俗庸驹鲑Y1000萬(wàn)美元以擴(kuò)展墨西哥伺服器組裝業(yè)務(wù)的計(jì)劃。
    的頭像 發(fā)表于 01-29 09:29 ?539次閱讀

    Profinet協(xié)議轉(zhuǎn)換為CanOpen協(xié)議來(lái)連接CanOpen伺服驅(qū)動(dòng)的應(yīng)用

    使用控制算法來(lái)控制伺服器的運(yùn)動(dòng)。 此外,對(duì)于這種通信鏈接的延申應(yīng)用,可以考慮以下幾個(gè)方面:多軸控制。通過(guò)Profinet轉(zhuǎn)CanOpen網(wǎng)關(guān)
    發(fā)表于 01-10 10:29

    伺服電機(jī)是否必須有對(duì)應(yīng)的伺服驅(qū)動(dòng)來(lái)控制?

    伺服電機(jī)是否必須有對(duì)應(yīng)的伺服驅(qū)動(dòng)來(lái)控制?沒(méi)有伺服驅(qū)動(dòng)
    發(fā)表于 12-15 07:49

    伺服器直流電壓過(guò)低.伺服單元過(guò)熱維修

    發(fā)那科伺服器維修 發(fā)那科驅(qū)動(dòng)維修 發(fā)那科電源模塊維修
    的頭像 發(fā)表于 11-24 10:02 ?862次閱讀