软件与硬件的联调之小程序与云平台相互通信
本人专注使用云开发,实现一个前端可以做后端以及整个项目的部署与上线。
如果觉得我讲的好就可以给我点个赞。
我们使用的云平台为OneNET云平台。这个云平台的特点就是免费好用。
联调硬件使用的为WiFi模块,这里主要使用ESP01S这个型号的WiFi模块。
硬件模块使用的为CC2530开发板做为主控芯片。
首先我们需要获取OneNET云平台的接口,我们进去可以看到API接口。
POST 上传的接口如下:
URL地址:https://api.heclouds.com/devices/设备id/datapoints
携带参数: API-KEY与data ,API-KEY储存在 header头部信息中。
小程序使用请求函数:wx.request
requester.POSTCC2530(url, data, api_key).then(res => {
console.log(res)
setTimeout(() => {
wx.hideLoading();
//需要源码详情。
//V --> cloudH520
that.getCC2530data();
wx.showToast({ title: '启动成功' });
}, 2000)
}).catch(res => {
wx.showToast({ title: '启动失败!', icon: 'error' });
})
GET 获取最新数据接口如下:
URL地址:https://api.heclouds.com/devices/设备ID/datastreams
携带参数: API-KEY,API-KEY储存在 header头部信息中。
小程序使用请求函数:wx.request
requester.GET_CC2530(url, api_key).then(res => {
let datas = res.data.data;
for (let item in datas) {
if (datas[item].id == 'onedata') { that.setData({ air_temperature: datas[item].current_value }) };
if (datas[item].id == 'onedata2') { that.setData({ air_humidity: datas[item].current_value }) };
if (datas[item].id == 'onedata3') { that.setData({ water_if: datas[item].current_value == 1 }) };
}
})
GET 获取历史数据的接口如下:
URL地址:https://api.heclouds.com/devices/设备ID/datapoints
携带参数: datastream_id :字段名称,limit :获取数据的数量,API-KEY,API-KEY储存在 header头部信息中。
小程序使用请求函数:wx.request
let url = 'http://api.heclouds.com/devices/设备ID/datapoints';
let data = { 'datastream_id': '字段名称', 'limit': 数据的数量 };
let api_key = 'api_key';
let res1 = await historys.GET_history(url, data, api_key);
获取的历史数据可以通过引入Echat图表显示出来数据。