esp32 +阿里云+Arduino 实现上传和下发信息实例 示例:通过PC端wifi通信实现用阿里云SetDeviceProperty API 控制蜂鸣器响

这篇具有很好参考价值的文章主要介绍了esp32 +阿里云+Arduino 实现上传和下发信息实例 示例:通过PC端wifi通信实现用阿里云SetDeviceProperty API 控制蜂鸣器响。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.vscode 创建.js项目 ,导入如下代码  注意你要下载 rhea 和crypto这两个库

const container = require('rhea');
const crypto = require('crypto');

//创建Connection。
var connection = container.connect({
    //接入域名,请参见AMQP客户端接入说明文档。
    'host': '${YourHost}',
    'port': 5671,
    'transport':'tls',
    'reconnect':true,
    'idle_time_out':60000,
    //userName组装方法,请参见AMQP客户端接入说明文档。
    'username':'${YourClientId}|authMode=aksign,signMethod=hmacsha1,timestamp=1573489088171,authId=${YourAccessKeyId},iotInstanceId=${YourIotInstanceId},consumerGroupId=${YourConsumerGroupId}|', 
    //计算签名,password组装方法,请参见AMQP客户端接入说明文档。
    'password': hmacSha1('${YourAccessKeySecret}', 'authId=${YourAccessKeyId}&timestamp=1573489088171'),
});

//创建Receiver Link。
var receiver = connection.open_receiver();

//接收云端推送消息的回调函数。
container.on('message', function (context) {
    var msg = context.message;
    var messageId = msg.message_id;
    var topic = msg.application_properties.topic;
    var content = Buffer.from(msg.body.content).toString();

    // 输出内容。
    console.log(content);

    //发送ACK,注意不要在回调函数有耗时逻辑。
    context.delivery.accept();
});

//计算password签名。
function hmacSha1(key, context) {
    return Buffer.from(crypto.createHmac('sha1', key).update(context).digest())
        .toString('base64');
}

2.根据阿里云官方文档修改这部分内容,填写自己的信息  官方文档连接: Node.js SDK接入示例 (aliyun.com)

esp32 +阿里云+Arduino 实现上传和下发信息实例 示例:通过PC端wifi通信实现用阿里云SetDeviceProperty API 控制蜂鸣器响,阿里云,云计算,javascript,node.js

 3.Arduino上 编写如下代码


// 引入 wifi 模块,并实例化,不同的芯片这里的依赖可能不同
#include <WiFi.h>
static WiFiClient espClient;

// 引入阿里云 IoT SDK
#include <AliyunIoTSDK.h>

// 设置产品和设备的信息,从阿里云设备信息里查看
#define PRODUCT_KEY "xxx"
#define DEVICE_NAME "Device_D"
#define DEVICE_SECRET "xxxxxxxxxxxxxx"
#define REGION_ID "cn-shanghai"

// 设置 wifi 信息
#define WIFI_SSID "xxxxx"
#define WIFI_PASSWD "xxxxx"


#define BUZZER_PIN 13     //定义蜂鸣器引脚为13
void setup()
{
    Serial.begin(115200);
    
    // 初始化 wifi
    wifiInit(WIFI_SSID, WIFI_PASSWD);
    
    // 初始化 iot,需传入 wifi 的 client,和设备产品信息
    AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);
    
    // 绑定一个设备属性回调,当远程修改此属性,会触发 powerCallback
    // PowerSwitch 是在设备产品中定义的物联网模型的 id
    AliyunIoTSDK::bindData("RunningState", powerCallback);
    
    // 发送一个数据到云平台,LightLuminance 是在设备产品中定义的物联网模型的 id

      pinMode(BUZZER_PIN, OUTPUT); //将蜂鸣器引脚设为输出
  digitalWrite(BUZZER_PIN, HIGH); //初始化为高电平,使蜂鸣器停止响

}

void loop()
{
    AliyunIoTSDK::loop();
        // AliyunIoTSDK::send("RunningState", 100);
        delay(1000);
}

// 初始化 wifi 连接
void wifiInit(const char *ssid, const char *passphrase)
{
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, passphrase);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(1000);
        Serial.println("WiFi not Connect");
    }
    Serial.println("Connected to AP");
}

// 电源属性修改的回调函数
void powerCallback(JsonVariant p)
{
    int PowerSwitch = p["RunningState"];
   
        // 启动设备
         if(PowerSwitch==999){
           digitalWrite(BUZZER_PIN, LOW);  //将蜂鸣器引脚设为低电平,使蜂鸣器响起
           delay(500);                    //等待500毫秒
  digitalWrite(BUZZER_PIN, HIGH); //将蜂鸣器引脚设为高电平,使蜂鸣器停止响
  delay(500);                    //等待500毫秒
         }
        Serial.println(PowerSwitch);

    
}

esp32 +阿里云+Arduino 实现上传和下发信息实例 示例:通过PC端wifi通信实现用阿里云SetDeviceProperty API 控制蜂鸣器响,阿里云,云计算,javascript,node.js

蜂鸣器插13号引脚

注意这部分填写你自己的信息,PRODUCT_KEY这些东西阿里云上的,你刚刚也填过 

然后上传

esp32 +阿里云+Arduino 实现上传和下发信息实例 示例:通过PC端wifi通信实现用阿里云SetDeviceProperty API 控制蜂鸣器响,阿里云,云计算,javascript,node.js

4. 然后打开串口工具 按esp32左边的EN重启  注意打开手机热点  iPhone用户要开启 最大兼容性

esp32 +阿里云+Arduino 实现上传和下发信息实例 示例:通过PC端wifi通信实现用阿里云SetDeviceProperty API 控制蜂鸣器响,阿里云,云计算,javascript,node.js

 5.vscod这边 node test2.js

esp32 +阿里云+Arduino 实现上传和下发信息实例 示例:通过PC端wifi通信实现用阿里云SetDeviceProperty API 控制蜂鸣器响,阿里云,云计算,javascript,node.js

 成功的话出现如下信息

 同时阿里云上面的实例也会显示在线了

esp32 +阿里云+Arduino 实现上传和下发信息实例 示例:通过PC端wifi通信实现用阿里云SetDeviceProperty API 控制蜂鸣器响,阿里云,云计算,javascript,node.js文章来源地址https://www.toymoban.com/news/detail-520022.html

到了这里,关于esp32 +阿里云+Arduino 实现上传和下发信息实例 示例:通过PC端wifi通信实现用阿里云SetDeviceProperty API 控制蜂鸣器响的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 5.33 综合案例2.0 -ESP32拍照上传阿里云OSS

    5.33 综合案例2.0 -ESP32拍照上传阿里云OSS

    点 击 跳 转 点击跳转HaaS506官方最新案例 使用ESP32拍照,将照片数据上传阿里云OSS(通过4G网络上传)。 代码流程 haas506连接阿里云,云端物模型下发指令给Haas506。 Haas506通过TTL串口发送拍照指令给ESP32。 ESP32将拍摄的照片数据发送给Haas506以TXT格式存入SD卡。 Haas506将TXT文件上传

    2024年02月06日
    浏览(9)
  • 【Arduino 时间函数】ESP32怎么实现微秒级延时,适用于ESP8266等

    如果基于 Arduino 开发 ESP32 ,则延时函数可以直接使用 Arduino 提供的时间函数。 Arduino提供四种不同的时间操作函数。 delay() 函数 delayMicroseconds() 函数 一毫秒内有一千微秒,一秒内有一百万微秒。 millis() 函数 此函数用于返回Arduino板开始运行当前程序时的毫秒数。 micros() 函数

    2024年02月13日
    浏览(8)
  • 阿里云iot haas Micropython连接esp32;esp32物联网设备上报信息及云端信息获取;远程控制设备自带led熄灭;网页界面交互远程控制

    阿里云iot haas Micropython连接esp32;esp32物联网设备上报信息及云端信息获取;远程控制设备自带led熄灭;网页界面交互远程控制

    参考:https://blog.csdn.net/HaaSTech/article/details/125975052 https://iot.console.aliyun.com/ https://www.bbsmax.com/A/x9J2X8nZd6/ 首先烧录阿里云iot haas固件: https://haas.iot.aliyun.com/haasapi/index.html#/Python/docs/zh-CN/startup/ESP32_startup ***直接下载后可以通过vscode插件烧录;烧录好后也可以在thony编辑运行代码

    2024年02月02日
    浏览(17)
  • 使用 ESP32 Arduino 和机器学习实现WIFI室内定位

    使用 ESP32 Arduino 和机器学习实现WIFI室内定位

      在这个 Arduino 机器学习项目中,我们将使用附近的 WiFi 接入点来定位我们所在的位置。为了使该项目正常运行,您需要一块配备 WiFi 的板,例如 ESP8266、ESP32 或 MKR WiFI 1010。 什么是室内定位? 我们都习惯了 GPS 定位,我们的设备将使用卫星来跟踪我们在地球上的位置。GPS 工

    2024年02月14日
    浏览(6)
  • 基于 Arduino 库实现 ESP32 TCP Server 应用例程

    基于 Arduino 库实现 ESP32 TCP Server 应用例程

    ESP32 开启 WiFi Station 模式连接路由器 连上路由器后将获取到分配的 IP 地址 基于分配的 IP 地址创建 TCP Server 手机与 ESP32 连接同一路由器 查看 UART0 日志打印,获取 TCP Server 的 IP 地址 使用手机端 TCP 调试 APP 与 ESP32 创建的 TCP Server 建立连接

    2024年02月12日
    浏览(12)
  • STM32+ESP8266+APP连接阿里云监测环境温湿度系列笔记1:阿里云物联网平台配置及数据上传

    STM32+ESP8266+APP连接阿里云监测环境温湿度系列笔记1:阿里云物联网平台配置及数据上传

            在数据传递过程中阿里云物联网平台相当于服务器,ESP8266为客户端,通过路由器连接服务器时需要在物联网平台创建设备,具体过程如下: 1. 首先 在物联网平台创建公共实例,并点击进入, 图1 2.可见设备接入物联网平台的整体流程如图2中红色方框所示, 接下

    2024年02月04日
    浏览(11)
  • Arduino IDE + Esp32 Cam + 实现视频流 + 开发环境部署

    1、开发环境 Arduino ide 版本:2.2.1 esp32工具:2.0.5 示例代码

    2024年02月08日
    浏览(11)
  • 使用arduino IDE开发ESP8266NodeMCU连接DHT11实现温湿度检测并上传onenet官网

    使用arduino IDE开发ESP8266NodeMCU连接DHT11实现温湿度检测并上传onenet官网

            本篇博客记录一下以arduino IDE来开发一下ESP8266NodeMCU,实现用DHT11进行温湿度检测,并且上传新版的onenet官网;我在实现这个小项目的时候,发现网上资料有关onenet的资料都是旧版的,这就有点难受了,本着开源的精神,这篇博客就来弥补一下这方面资料的缺失。  

    2024年02月09日
    浏览(14)
  • Arduino 合宙 ESP32 S3 + OV2640 实现低成本SD存储卡相机(ESP32连接SD模块引脚)

    合宙ESP32 S3 板载16M flash,8m psram和一个FPC相机接口,价格却不到30元,无疑比价格将近50元的第三方ESP32 S3和将近30的ESP32 Cam更具性价比。 但是虽然板载FPC,由于接口冲突,导致相机与psram不能同时开启,作为ESP32 Cam的替代品来看,还缺少了板载SD卡,而且作为一块发布不久的开发

    2024年02月04日
    浏览(76)
  • 基于 Arduino 库实现 ESP32 使能 WiFi AP + TCP Server 的应用

    基于 Arduino 库实现 ESP32 使能 WiFi AP + TCP Server 的应用

    ESP32 开启 WiFi AP 模式创建 WiFi 热点 定义 IP 地址 创建 TCP Server 使用手机连接 ESP32 创建的 AP 热点 查看 UART0 日志打印,获取 TCP Server 的 IP 地址 使用手机端 TCP 调试 APP( 网络助手 ) 与 ESP32 创建的 TCP Server 建立连接

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包