0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Spark Core来控制Internet上的伺服器

454398 来源:wv 2019-10-11 15:16 次阅读

第1步:要求

以下是您需要开始使用此Instructable的所有内容这些零件都包含在Spark Maker套件中。

Spark Core或Spark Photon

Servo

面包板

Micro USB电缆

一些跳线

或者这是一条用于获取制造商套件的线

:伺服器

开始使用伺服器和spark核心非常简单,无需托管python服务器或查找IP地址或其他任何复杂的内容。您所需要做的就是通过家庭WIFI将核心连接到Internet。

教程中使用的伺服器包含在火花制造器套件中,因此如果您愿意的话。如果您从上一个Arduino项目获得的结果也不错,那么这些伺服器会消耗较少的功率,并且可以直接从内核供电,而无需油炸稳压器。如果您有那些真正的大型机消耗大量电能,那么您需要分别为它们供电。

第3步:接线

这里的接线方式是伺服为3.3V,因此3.3v芯线连接到伺服器的橙色线。芯线的接地引脚连接到棕色线或黑色线,最后一个端子连接到芯线的D0引脚。

橙色和棕色线是电源端子对于需要连接到+ 5V或+ 3.3V的伺服器。使用始终具有相同频率但占空比不同的PWM信号控制伺服。控制信号变高的时间(占空比越大)越多,则伺服器将在一个方向上移动的越多。当占空比较低且控件花费的时间较少时,伺服器将向另一个方向移动的次数更多。

步骤4:代码:Spark Core

该程序需要通过Spark生成页面上提供的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;

}

请注意,loop()函数没有代码,因为这已经为我们所有照顾,我们要做的就是调用spark.variable()函数和spark.function()。如果使用Arduino完成此操作,则必须在其中编写一大堆代码才能使它运行。

步骤5:代码:Web Side

需要一些JavaScript,这是本教程的难点,这里我们准备好代码的控制器端。如果您不熟悉JavaScript,则只需输入访问权限即可令牌和核心ID,并在Web浏览器中运行该文件,这是一个执行Jason请求并通过火花云与核心通信的程序。

并使用AJAX实时进行操作。

《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步:完成

如果一切正确并闪烁在使用二进制代码的Spark核心中,您应该让您的核心在稍微延迟的情况下控制伺服。延迟是由于您的IP与Spark Core Server IP之间的ping差异引起的。您也可以从本地云进行控制,我很快会在其上发布一个Instructable。

注意:请勿与任何人共享.html文件,因为它包含访问令牌和核心ID,请确保在共享前先将其删除。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Internet
    +关注

    关注

    0

    文章

    400

    浏览量

    36796
  • 伺服器
    +关注

    关注

    1

    文章

    149

    浏览量

    19425
  • SPARK
    +关注

    关注

    1

    文章

    105

    浏览量

    19854
收藏 人收藏

    评论

    相关推荐

    spark运行的基本流程

    记录和分享下spark运行的基本流程。 一、spark的基础组件及其概念 1. ClusterManager 在Standalone模式中即为Master,控制整个集群,监控Worker。在YARN
    的头像 发表于 07-02 10:31 329次阅读
    <b class='flag-5'>spark</b>运行的基本流程

    ESP32如何控制外部中断触发在指定core

    ESP32如何控制外部中断触发在指定core? 在gpio_example_main.c历程中 按照参考手册将APP_GPIO_INTERRUPT_APP_MAP_REG寄存配置为
    发表于 06-21 08:12

    伺服驱动伺服电机的控制要求

    伺服驱动伺服电机的控制要求是一个复杂而深入的话题。以下是关于伺服驱动
    的头像 发表于 06-14 15:24 666次阅读

    伺服驱动控制模式有哪几种?

    介绍伺服驱动的几种主要控制模式,以及它们的特点和应用场景。 速度控制模式 速度控制模式是伺服
    的头像 发表于 06-14 14:41 1424次阅读

    伺服驱动伺服控制系统的区别

    在工业自动化和精密控制领域,伺服驱动伺服控制系统是两个至关重要的组成部分。它们各自在系统中扮演着不同的角色,共同协作以实现高精度的
    的头像 发表于 06-13 16:26 744次阅读

    伺服驱动控制方式有哪些?

    伺服驱动是用来控制伺服电机的一种控制器,其作用类似于变频作用于普通交流马达,属于
    的头像 发表于 06-13 09:04 1804次阅读

    伺服驱动控制电源和主电源的区别

    驱动控制电源 伺服驱动控制电源是伺服系统中用于控制
    的头像 发表于 06-12 09:57 1555次阅读

    上位机控制伺服驱动的作用是什么

    上位机控制伺服驱动的作用是实现对伺服驱动的精确控制,以满足各种工业自动化应用的需求。本文将详
    的头像 发表于 06-06 10:55 666次阅读

    伺服电机控制器怎么调参数

    伺服电机控制器参数调整是确保伺服系统正常运行和达到预期性能的关键步骤。本文将详细介绍伺服电机控制器的参数调整方法,包括基本原理、常见参数、调
    的头像 发表于 06-05 15:47 1445次阅读

    伺服驱动伺服控制器的区别

    在工业自动化和精密控制领域中,伺服驱动伺服控制器是两个至关重要的组件,它们各自在伺服系统中扮
    的头像 发表于 06-05 15:24 1714次阅读

    伺服控制器编码信号输出怎么接

    伺服控制器编码信号输出接线是伺服系统设计和安装过程中的一个重要环节。本文将详细介绍伺服控制器
    的头像 发表于 06-05 14:57 1184次阅读

    台厂积极布局墨西哥,扩大电动车、伺服器组装等产能

    而鸿海集团在墨西哥的动作更为频繁。尽管该集团早在去年9月便与加盖瓦州政府签订战略合作协议,专注于通信技术、汽车产业及可再生能源的发展,但近期他们仍公布了子公司增资1000万美元以扩展墨西哥伺服器组装业务的计划。
    的头像 发表于 01-29 09:29 559次阅读

    Profinet协议转换为CanOpen协议连接CanOpen伺服驱动的应用

    使用控制算法控制伺服器的运动。 此外,对于这种通信链接的延申应用,可以考虑以下几个方面:多轴控制。通过Profinet转CanOpen网关
    发表于 01-10 10:29

    伺服电机是否必须有对应的伺服驱动控制

    伺服电机是否必须有对应的伺服驱动控制?没有伺服驱动
    发表于 12-15 07:49

    伺服器直流电压过低.伺服单元过热维修

    发那科伺服器维修 发那科驱动维修 发那科电源模块维修
    的头像 发表于 11-24 10:02 880次阅读