第一种方法(阿里云官方教程):https://help.aliyun.com/document_detail/96618.html?spm=a2c4g.11186623.0.0.11a233e4noa08J
第二:直接下包到uni_moudles里调用js文件 链接: https://pan.baidu.com/s/1FqkBJkcA_rdK96UTq2GWjQ?pwd=8888 提取码: 8888
import Vue from 'vue' // import uView from '@/uni_modules/uview-ui' // Vue.use(uView) import App from './App' Vue.config.productionTip = false App.mpType = 'app' // 将 device 设置为全局变量 window.device = null; const app = new Vue({ ...App, data() { return { message: '' // 将设备消息显示在页面上 }; }, mounted() { // node引入包名. const iot = require('./uni_modules/alibabacloud-iot-device-sdk/dist/alibabacloud-iot-device-sdk.js'); //这里我的包直接拉到uni_modules里面用的,此外vue3千万别试这个代码,会一直报require的 //错并且官方没有给出解决方案 //如果用官方的教程成功了那就用下面这句 //const iot = require('alibabacloud-iot-device-sdk'); // 创建iot.device对象将会发起到阿里云IoT的连接 window.device = iot.device({ productKey: "ProductKey", // 将修改为实际产品的ProductKey deviceName: "deviceName", // 将修改为实际设备的DeviceName deviceSecret: "", // 将修改为实际设备的DeviceSecret }); // 监听connect事件 device.on('connect', () => { // 将 修改为实际值 device.subscribe('/ProductKey/deviceName/user/get'); console.log('connect successfully!'); // device.publish('/ProductKey/deviceName/user/update', 'hello world!'); }); // 监听message事件 // device.on('message', (topic, payload) => { // console.log(topic, payload.toString()); // // 将设备消息显示在页面上 // this.message = payload.toString(); // }); // 上报设备属性 device.postProps({ LightStatus: 1 }, (res) => { console.log(res); }); // 监听云端设置属性服务消息,示例代码为一个灯 // device.onProps((cmd) => { // console.log('>>>onProps', cmd); // 打印完整的属性设置消息 // for (var key in cmd.params) { // if (key == 'LightStatus') { // 判断是否设置的是LightSwitch属性 // console.log('set property ', key); // // 示例代码将云端设置的属性在本地进行保存,实际产品开发时需要修改为去将灯打开或者关闭 // lightState = cmd.params.LightSwitch; // // 本地设置完毕之后,将更新后的状态报告给云端。 // // 注意:云端下发命令后,云端属性的值并不会改变,云端需要等待来自设备端的属性上报 // device.postProps({ 'LightSwitch': lightState }); // } // } // }); } }) app.$mount() Device Message: {{ message }}
我这边做了一个点击按钮就可以发送数据到服务器的例子
四、效果展示

点击按钮显示这个,在阿里云服务器也可以看到日志了