应用实例

以下实例有助于您快速熟悉 Fox。

案例一 LED闪烁

Fox 在引脚上连接了一个LED灯,可以方便调试程序。

打开首页登录您的账户,在设备展示中会看您绑定的设备。

第1步:点击在线编程 -> 创建新工程,输入您的工程信息,有关在线编程的详细信息请参考这里

第2步:编写程序

// -----------------------------------
//  LED 闪烁
// -----------------------------------

// 引脚定义
#define  LED_PIN  

void setup()
{
    //put your setup code here, to run once.
    pinMode(LED_PIN,OUTPUT);
}

void loop()
{
    // put your main code here, to run repeatedly.
    digitalWrite(D6,HIGH); //打开LED
    delay(500);            //延时500ms
    digitalWrite(D6,LOW);  //关闭LED
    delay(500);            //延时500ms
}

第3步:编译、烧录。程序下载完成后会看到 Fox 板上的用户灯呈闪烁状态。

案例二 光照强度计

Fox 自带一个光照传感器,可以检测光照强度。

点击设备后在右上角的“应用配置”处选中编辑“应用”,里面有大量“应用”可供使用,“应用”可以显示传感器上传的数据或者下发数据命令到 Fox。 每一个“应用”都有对应的 topic,点击设备后,点击其右上角的“应用接口”会弹出此应用的所有信息,其中功能 topic 就是我们所需要的。 详情请见 WEB功能 的应用接口

调用 IntoRobot.publish()IntoRobot.subscribe() 实现设备与平台的信息交换,详情请见固件函数

第1步:添加光强度计应用

第2步:在线编程编写程序

  • 定义光强度计 topic 值
  • 光强度上送函数,上送光照强度数据到云平台



// 光照强度应用topic定义
#define ILLUMINATION_DATA_INTENSITY     "channel/illumination_0/data/intensity" //光照强度

uint16_t data = 0;
float lightIntensity = 0.0;

void setup()
{
   pinMode(A6,AN_INPUT);
}

void loop()
{
    data = analogRead(A0);

    if (data == 0)
    {
        lightIntensity = 0.0;
    }
    else
    {
        lightIntensity = -2.712e-08 * data * data * data - \
        5.673e-05 * data * data  + 1.788 * data + 122.1;
    }

    IntoRobot.publish(ILLUMINATION_DATA_INTENSITY,(int)lightIntensity);  //上送光照强度
    delay(2000);
}

第3步:编译、烧录。成功后即可看到光照强度值,用手遮挡可以明显看到光强度值有变化。