嵌入式技术论坛
直播中

王鹏

7年用户 1300经验值
私信 关注
[经验]

使用D1s (RDC2022纪念版) 连接thingspeak的步骤

d1s 连接网络
硬件
RW007 模块
D1s 开发板 RW007 模块
配置 RW007 软件包
2.jpg
D1s 开发板 通过 SPI0 连接到 RW007 WiFi 模块
2.jpg
使用 pkgs —update 更新软件包
更新软件包之后 将 rw007 软件包中的 struct rw007_spi 结构体定义中的 ALIGN 改为 rt_align
即可使用 wifi 指令连接 wifi 了
2.jpg
注: D1s 开发板 和 RW007 模块 之间同时使用将会有一些小问题
在上电情况下插 RW007 模块 串口终端将会断掉,重新打开串口终端软件即可
插着 RW007 模块 上电、复位 都将进入 FEL 模式,需要通过 xfel.exe reset 命令退出
配置 thingspeak
第一次使用时需要注册用户
新建频道
这里只使用最基本的功能,创建了一个数据接口 field1 后续需要通过 field1 来上传数据
2.jpg
查看创建好频道的相关 http 的 api
2.jpg
如下图所示 Write a Channel Feed API 中最后的 field1=0 就是上传的数据(这里 0 不局限于数字,经验证字符串也是可以的)
2.jpg
由于 thingspeak 使用了 GET 协议 我们这里使用了 webclient 软件包来进行数据的上传
添加 webclient 软件包
2.jpg
添加 rt-thread/bsp/allwinner/d1s/applications/thingspeak.c 文件
将 GET_LOCAL_URI 宏定义的值换为你自己的 Write a Channel Feed API
#include
#include
#define GET_LOCAL_URI "http://api.thingspeak.com/update?api_key=XXXXXXXXXXXX&field1="
static int webclient_get_smpl(const char *uri)
{
    char *response = RT_NULL;
    size_t resp_len = 0;
    int index;
    if (webclient_request(uri, RT_NULL, RT_NULL, 0, (void **)&response, &resp_len) < 0)
    {
        rt_kprintf("webclient send get request failed.");
        return -RT_ERROR;
    }
    rt_kprintf("webclient send get request by simplify request interface.n");
    rt_kprintf("webclient get response data: n");
    for (index = 0; index < rt_strlen(response); index++)
    {
        rt_kprintf("%c", response[index]);
    }
    rt_kprintf("n");
    if (response)
    {
        web_free(response);
    }
    return 0;
}
static int thingspeak(void)
{
    char uri[80];
    srand();
    int number;
    while(1)
    {
        number = rand() % 100;
        sprintf(uri, "%s%d", GET_LOCAL_URI, number);
        webclient_get_smpl(uri);
        rt_kprintf("random number is %drn",number);
        rt_thread_mdelay(20000);
    }
}
MSH_CMD_EXPORT(thingspeak, thingspeak);
上述文件为 每隔 20 秒,将开发板随机出来的 0~100 值上传到 thingspeak
编译,下载,运行之后,连接 WIFI 后 使用 thingspeak 命令运行程序,如果出现下面这种情况则表明成功
2.jpg
也可以通过 API Keys 中的其他 API 查询到开发板上传的数据
2.jpg
另外这里还有可视化的图标供我们观看
2.jpg



原作者:zhkag

更多回帖

发帖
×
20
完善资料,
赚取积分