0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开发者作品:一款智能家居系统,实现了 4 种控制方式(一)

机智云 2022-05-17 10:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

本项目通过阐述基于ESP8266作为处理器(SoC模式开发)接入机智云,借助机智云安卓开源框架设计的APP,实现了灯的控制、门禁的控制、温湿度的读取、有毒气体的检测、人体红外检测等功能


通过改造机智云开源框架,还实现了一个智能硬件系统支持多种控制方式,如:安卓APP控制、本地按键控制、红外遥控控制、天猫精灵控制,且每一种操作都能和APP同步显示。

本文是第一篇:总体介绍和安卓开发(逻辑控制部分实现)

1.界面演示2.下载机智云安卓开源框架3.创建项目4.修改App图标、名字等信息5.填写App ID与App Secret时APP和机智云云端绑定6.UI界面编写7.思路整理及准备工作8.编写控制代码、调试测试APP

进入正文

1.界面演示

进入名为小智的的APP直接跳转到设备界面,处于远程控制状态

183463a8-d084-11ec-8521-dac502259ad0.png

点击进入综合系统,这是大灯的控制面板,左边是关闭状态,右边是开启状态,其中复位按钮时复位门禁和大灯的

1842ac4c-d084-11ec-8521-dac502259ad0.png

这是门禁开关的面板,开启门禁需要输入密码,此处设置为:"open"

18a02fe8-d084-11ec-8521-dac502259ad0.png

点击绿色按钮进入密码输入界面:

18e08c8c-d084-11ec-8521-dac502259ad0.png

指示门禁打开成功,按下红色按钮关闭门禁

1936f16c-d084-11ec-8521-dac502259ad0.png

温湿度检测

1944cfd0-d084-11ec-8521-dac502259ad0.png

有毒气体和人体红外检测

195ed52e-d084-11ec-8521-dac502259ad0.png

2.下载机智云安卓开源框架

2.1.下载机智云安卓开源框架:

机智云下载中心

https://download.gizwits.com/zh-cn/p/92/93

码云下载地址:

https://gitee.com/dantang/GOpenSource_AppKit_Android_AS

19bd7b74-d084-11ec-8521-dac502259ad0.png

注意刚开始打开,因为gradle版本的问题会有一系列的问题报错,可以选择Android studio自动下载的方案,或者从网上找解决方案

此处有解决方案:http://docs.gizwits.com/zh-cn/AppDev/AndroidSDKA2.html

19deb0e6-d084-11ec-8521-dac502259ad0.png

下载到真机上,如下

1a267962-d084-11ec-8521-dac502259ad0.png

开源框架主要目录结构说明
A. Libs: 包括 GizWifiSDK 在内的的第三方库目录**
assets: 包含 UIConfig.json 配置文件
B. GizOpenSource: 组成模块
GizOpenSourceModules:组成模块
GosApplication.java // SDK 在此启动
CommonModule // 公共方法类、资源文件读取类
ConfigModule // 设备配置模块,包含 AirLink 及 SoftAP
UserModule // 用户模块,包含 用户登录、用户注册、找回密码
DeviceModule // 设备模块,包含 设备列表
ControlModule // 控制模块,包含 控制示例
SettingsModule // 设置模块,包含 设置菜单 及其 包含的子菜单项(关于等)
PushModule // 推送模块,包含 百度和极光的推送SDK 集成封装
ThirdAccountModule // 第三方登录模块, 包含 第三方登录(QQ、微信等)
view // 自定义控件
utils // 工具类
wxapi // 微信集成包
zxing//扫描二维码

3.创建项目

在机智云创建一个账号,然后进入开发者中心创建一个项目,如下:

1a8ca5f2-d084-11ec-8521-dac502259ad0.png

数据点如下:

1ac32fbe-d084-11ec-8521-dac502259ad0.png

点击应用配置,选择安卓开发:

1b0477e4-d084-11ec-8521-dac502259ad0.png


4.修改App图标、名字等信息

使用Android studio打开机智云的安卓开源框架

现在先修改一些简单的东西:

4.1.修改软件图标如下所示的图片

1b37ac4a-d084-11ec-8521-dac502259ad0.png

把这张图片放进工程的APP/res/drawable目录下,以便待会应用

1b5830be-d084-11ec-8521-dac502259ad0.png

进入

1b714b08-d084-11ec-8521-dac502259ad0.png

1b858708-d084-11ec-8521-dac502259ad0.png

1bc869ba-d084-11ec-8521-dac502259ad0.png

4.2.修改APP名字为:小智

1bfba140-d084-11ec-8521-dac502259ad0.png

1c5a4452-d084-11ec-8521-dac502259ad0.png

4.3.修改APP默认启动进入的Activity,直接进入设备控制界面

1c740e32-d084-11ec-8521-dac502259ad0.png

把上面红框额备份剪切到GosDeviceControlActivity下面,启动之后直接到这个Activity

1c9314b2-d084-11ec-8521-dac502259ad0.png

注意还需要在:GosDeviceListActivity的Oncreate设置一下主题:

1cc570b0-d084-11ec-8521-dac502259ad0.png

默认标题栏是灰色的,修改自己想要的颜色,把鼠标放在AppTheme按住CRTL +鼠标左键,跳转到

1cd498c4-d084-11ec-8521-dac502259ad0.png

跳转到这里:

1ce68f5c-d084-11ec-8521-dac502259ad0.png

修改后如下

1d2c2ea4-d084-11ec-8521-dac502259ad0.png

4.4.修改进入App默认弹出的图片,此处默认为机智云的,现在我们换成自己的图片

修改成如下的图片:

1d49543e-d084-11ec-8521-dac502259ad0.png

把这个照片复制到,如下的目录下:drawable目录下

1d5c2564-d084-11ec-8521-dac502259ad0.png

按如下的步骤修改:

1d963c90-d084-11ec-8521-dac502259ad0.png

1de29220-d084-11ec-8521-dac502259ad0.png

1e318646-d084-11ec-8521-dac502259ad0.png

修改成我们想要的图片:

1e74a70a-d084-11ec-8521-dac502259ad0.png

基本信息修改完成后可以下载到真机下看一下这个App的变化:

1e8ddd56-d084-11ec-8521-dac502259ad0.png


5.填写App ID与App Secret时APP和机智云云端绑定

App ID与App Secret含义与作用

App ID:应用标识码,当开发者需要为一款智能产品开发应用(包括iOS、Android、Web应用等)时,在机智云开发者中创建应用的时候,后台会自动生成一个AppID,并与此设备进行关联。应用开发时需要填入此AppID。在APP注册的所有用户绑定在该Appid下。

App Secret:App ID的验证密钥。

如下图所示,为APPID在开发APP过程中的作用。

1edd41a2-d084-11ec-8521-dac502259ad0.png

步骤:

1.进入机智云开发者中心,打开开发的项目,找到如下的信息

1eeeae88-d084-11ec-8521-dac502259ad0.png

2.打开Android sturio的APP->src-assets下的UIconfig.json文件填写数据如下:

此文件详细说明:http://docs.gizwits.com/zh-cn/AppDev/Android%E7%AC%AC%E4%B8%89%E6%96%B9%E7%99%BB%E5%BD%95%E4%B8%8E%E6%8D%A2%E8%82%A4.html

1f2b6d00-d084-11ec-8521-dac502259ad0.png

备注:在这个文件同样可以修改自定义的皮肤:

定义如下:

buttonColor:按钮颜色

buttonTextColor:按钮文字颜色

navigationBarColor:导航栏颜色

navigationBarTextColor:导航栏文字颜色

configProgressViewColor:配置中界面 progress view 颜色

先修改肤色为:

1f47cef0-d084-11ec-8521-dac502259ad0.png

则对应的代码为:

"buttonColor": "16B599",
"buttonTextColor": "FFFFFF",
"navigationBarColor": "16B599",
"navigationBarTextColor": "FFFFFF",
"configProgressViewColor": "000000",

注意:这里的颜色值,字幕需要大写


6.UI界面编写

因为这部分内容比较多,所以直接放在另一篇博客了:UI界面编写

界面如下:

1f9fe7c0-d084-11ec-8521-dac502259ad0.png

1fb5fc0e-d084-11ec-8521-dac502259ad0.png

7.思路整理及准备工作

各种控件的使用跳转链接:

TextView控件使用:

https://blog.csdn.net/qq_36243942/article/details/82107426

Button控件的使用:

https://blog.csdn.net/qq_36243942/article/details/82113312

ImageView的使用:

https://blog.csdn.net/qq_36243942/article/details/81783895

CheckBox的使用:

https://blog.csdn.net/qq_36243942/article/details/81744237

Toast的使用

https://blog.csdn.net/qq_36243942/article/details/82622796

在进行控制代码编写之前先理清楚一下思路:

7.1. 我们写的控制代码如何和ESP8266芯片联系起来?

在第5步的时候绑定了App和云端,机智云开源框架的SDK有一个回调接口

SDK回调接口说明:

APP端接收到MCU上报数据的回调接口:didReceiveData,判断result为GizWifiErrorCode.GIZ_SDK_SUCCESS,则接收到的数据可能为普通数据点或者扩展数据点。

那么我们只需要在工程中调用这个回调接口函数,就可以在机智云服务器获取我们工程相应的数据点。

同理,机智云也提供了一个GizWifiDevice这个类,让我们能去控制云端数据点的数据,通过这个类的write()方法就可以控制。

如果当我们写好了ESP8266的代码,并它烧录进开发版,进行联网和云端进行连接,ESP开发版就会根据云端的数据去控制开发版(当然这部分代码还是得我们自己来写,机智云只是提供了数据控制点)

7.2.在工程中建立控制数据点的名称

我们控制一个设备也是通过判断哪一个数据点来进行控制的,因此我们设置的数据点的名称需要和工程数据点的名称对应:

看一下工程的数据点的标识名:

1fc5776a-d084-11ec-8521-dac502259ad0.png

在GosDeviceControlActivity这个类定义这个数据点,如下:

1fe1c53c-d084-11ec-8521-dac502259ad0.png

7.3.在工程中建立保存数据的变量

既然我们能从云端获取这些数据,那我们就需要把这些数据保存起来,并存储在本地变量中。

20269a9a-d084-11ec-8521-dac502259ad0.png

7.4.建立一个ConcurrentHashMap的全局变量

用于存储下发的指令:

2066163e-d084-11ec-8521-dac502259ad0.png

例子:

比如需要使Red_OnOff 这个数据点变成1,那么只需要做如下操作:

map=new ConcurrentHashMap<>();
map.put(RED_OnOff,true);
//调用device的write方法
device.write(map,0);

需要使Red_OnOff 这个数据点变成0,那么只需要做如下操作:

map=new ConcurrentHashMap<>();
map.put(RED_OnOff,false);
//调用device的write方法
device.write(map,0);

7.5.声明layout文件中控件的的变量

//声明两个按钮变量,分别是复位和检测复位
private Button btn_Reset;
private Button btn_reset_det;

//声明TextView主要是显示一些状态
private TextView tv_RED;   //显示大厅灯状态的变量
private TextView tv_GREEN;   //显示食厅灯状态的变量
private TextView tv_BLUE;  //显示卧室灯状态的变量
private TextView tv_indicate;//显示门禁状态的变量
private TextView tv_racall;  //温度显示
private TextView tv_hum;    //湿度显示
private TextView tv_body;    //人体红外检测
private TextView tv_gas;    //有毒气体检测
private TextView tv_dettimes;  //人体红外感应次数

private CheckBox cb_01;    //大厅灯开关的CheckBOx
private CheckBox cb_02;    //食厅灯开关的CheckBOx
private CheckBox cb_03;    //卧室灯开关的CheckBOx

private ImageButton iv_door_open;  //门禁开的IamgeButton
private ImageButton iv_door_close;//门禁关的IamgeButton
//记录人体红外检测的次数
private static int detcton_times=0;

7.6.在initView方法中获取所有控件对象

2097f5c8-d084-11ec-8521-dac502259ad0.png


8.编写控制代码

那就顺着UI界面从上到下编写吧。

8.1.编写复位按钮的代码:

打开GosDeviceControlActivity.java这个类,在initView中为btn_Reset对应的按钮绑定监听器

20ab6ef0-d084-11ec-8521-dac502259ad0.png

8.2编写红外检测复位按钮的点击事件

20cb2cb8-d084-11ec-8521-dac502259ad0.png

8.3.编写大灯面板的点击事件(CheckBox)

也就是所如果选中第一个CheckBox让Red_OnOff数据点变为高电平,否则变为低电平。

选中第二CheckBox让Green_OnOff数据点变为高电平,否则变为低电平。

选中第三个CheckBox让Blue_OnOff数据点变为高电平,否则变为低电平。

代码如下,这部分代码同样写在initView中:

//大灯面板的点击事件
    cb_01.setOnClickListener(new View.OnClickListener() {
      @Override
public void onClick(View view) {
if(cb_01.isChecked())
        {
map=new ConcurrentHashMap<>();
map.put(RED_OnOff,true);
          device.write(map,0);
          tv_RED.setText("大厅灯开关:开");
        }else
        {

map=new ConcurrentHashMap<>();
map.put(RED_OnOff,false);
          device.write(map,0);
          tv_RED.setText("大厅灯开关:关");
        }


      }
    });
    cb_02.setOnClickListener(new View.OnClickListener() {
      @Override
public void onClick(View view) {
if(cb_02.isChecked())
        {
map=new ConcurrentHashMap<>();
map.put(GREEN_OnOff,true);
          device.write(map,0);
          tv_GREEN.setText("食厅灯开关:开");

        }else
        {
map=new ConcurrentHashMap<>();
map.put(GREEN_OnOff,false);
          device.write(map,0);
          tv_GREEN.setText("食厅灯开关:关");
        }

      }
    });
    cb_03.setOnClickListener(new View.OnClickListener() {
      @Override
public void onClick(View view) {
if(cb_03.isChecked()){
//开蓝灯指令
map=new ConcurrentHashMap<>();
map.put(BLUE_OnOff,true);
          device.write(map,0);
          tv_BLUE.setText("卧室灯开关:开");
        }else
        {
map=new ConcurrentHashMap<>();
map.put(BLUE_OnOff,false);
          device.write(map,0);
          tv_BLUE.setText("卧室灯开关:关");
        }

      }
    });

8.4.编写门禁开关面板

这部分相对于前面来说是比较复杂的,因为当点击了绿色按钮开门的时候是需要输入密码的,在这里的操作是使用Intent跳转到另一个Activity,同时使用Intent传输数据,如果在另一个Activity输入正确的密码,那么就会回到原来这个Activity,并打开门禁,否则打开门禁,关闭门禁这个按钮相对简单一点,就直接是发送一个关闭的命令而已。

20e62ea0-d084-11ec-8521-dac502259ad0.png

所以当我们在门禁开关点击了绿色按钮就会跳转到LockActivity

也就是如下这个界面:

1fb5fc0e-d084-11ec-8521-dac502259ad0.png

那么现在去LockActivity.java这个类去写相关的控制函数了

8.5.LockActivity相关代码

和上面一样,这个控件有一个EditView,两个按钮:确定,取消,还需要使用一个变量来保存密码,默认为"abc"

217d2c38-d084-11ec-8521-dac502259ad0.png

同样在initView获取控件对象:

21f8aca0-d084-11ec-8521-dac502259ad0.png

调用EidtView的addTextChangedListener方法来读取我们输入EditView输入的数据:

22113748-d084-11ec-8521-dac502259ad0.png

接下来就是编写确认按钮(sure_button)和取消按钮(cancle_button)的代码了。

思路:当在EditView输入密码时,框内的内容会实时保存在mpassward这个变量中,当按下确认按钮,就去判断这个mpassward这个变量中是否保存有“open”这个字符串,如果有的话就返回上一级,并返回正确的结果,如果输入密码为空提示输入正确的密码,输入密码错误提示错误;按下取消按钮直接返回上一级,并返回失败!

代码如下:

确认按钮:

2239b6be-d084-11ec-8521-dac502259ad0.png

取消按钮

2246cd40-d084-11ec-8521-dac502259ad0.png

8.6.处理从上一级处理返回结果

回到GosDevideContrlActivity去判断返回的结果是否正确,正确则代开门禁的开关,否则不打开。

22667924-d084-11ec-8521-dac502259ad0.png

8.7.从云端获取温湿度以及气体检测等数据

思路:使用机智云SDK的回到方法didReceiveData,获取数据,获取到的是一串字符串,我们需要把这个字符串我们需要的信息提取出来,保存在7.3节中建立的变量当中,以便我们使用:

20269a9a-d084-11ec-8521-dac502259ad0.png

解析云端数据函数:

在云端返回的是一个ConcurrentHashMap类型的数据,需要把这些数据的有用信息提取出来,代码如下:

@SuppressWarnings("unchecked")
protected void getDataFromReceiveDataMap(ConcurrentHashMap dataMap) {
// 已定义的设备数据点,有布尔、数值和枚举型数据

if (dataMap.get("data") != null) {
      ConcurrentHashMap map1 = (ConcurrentHashMap) dataMap.get("data");
for (String dataKey : map1.keySet()) {
if (dataKey.equals(RED_OnOff)) {
          data_Red_OnOff = (Boolean) map1.get(dataKey);
        }
if (dataKey.equals(GREEN_OnOff)) {
          data_Green_OnOff = (Boolean) map1.get(dataKey);
        }
if (dataKey.equals(BLUE_OnOff)) {
          data_Blue_OnOff = (Boolean) map1.get(dataKey);
        }
if (dataKey.equals(DOOR_OnOff)) {
          data_Door_OnOff = (Boolean) map1.get(dataKey);
        }
if (dataKey.equals(KEY_MOVE_DETECTION)) {
          data_Move_Detection = (Boolean) map1.get(dataKey);
        }
if (dataKey.equals(KEY_GAS_DETECTION)) {
          data_Gas_Detection = (Boolean) map1.get(dataKey);
        }
if (dataKey.equals(KEY_TEMP)) {

          data_temp = (Integer) map1.get(dataKey);
        }
if (dataKey.equals(KEY_HUM)) {

          data_hum = (Integer) map1.get(dataKey);
        }
      }
    }

有了这个数据解析的函数,就可以把从云端获取的数据提取出来,保存在本地变量当中给我们使用了,当提取处信息之后,比如温度湿度等信息,它已经保存在 data_temp,date_hum中了,我们需要使用TextView把它们的值显示出来,但是这里有一点值得注意,子线程中是不能执行UI操作的,也就是说不能再didReceiveData方法中调用UI操作TextView,所以需要使用Handler机制,告诉主线程,数据已经准备好,然后主线程接收到信息之后就更新UI操作,也就是显示温度湿度等信息啦。

云端获取数据代码:

22e4bf32-d084-11ec-8521-dac502259ad0.png

在主线程中更新UI,代码如下:

22f15850-d084-11ec-8521-dac502259ad0.png

最后在initDevide()方法中,设置回调的监听器

23321066-d084-11ec-8521-dac502259ad0.png

至此,所有的逻辑控制代码已经编写完成。

8.8.调试测试

步骤:

1.进入机智云官网,打开你的项目,打开虚拟设备

235bf570-d084-11ec-8521-dac502259ad0.png

2.点击二维码

236af9da-d084-11ec-8521-dac502259ad0.png

3.使用APP扫描

23ee1626-d084-11ec-8521-dac502259ad0.png

4.扫描后进入

23fa36fe-d084-11ec-8521-dac502259ad0.png

5.使用APP控制看调试结果

2409e072-d084-11ec-8521-dac502259ad0.png

244eb0c6-d084-11ec-8521-dac502259ad0.png

245d262e-d084-11ec-8521-dac502259ad0.png

经过验证,我们所写的控制代码已经能完成我们的需求了,既能控制工程云端的数据点,又能把工程云端的数据点推送到APP上。

————————————————

版权声明:本文为CSDN博主「冷暖自知_源」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_36243942/article/details/88561940


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能家居
    +关注

    关注

    1945

    文章

    10045

    浏览量

    197902
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    控制模式的智能家居系统设计

    随着物联网技术的发展,智能家居的需求不断增加,但仍存在设备兼容性差和成本高等问题。本文提出了一种基于STM32单片机的多模式智能家居控制系统,该系统
    的头像 发表于 01-15 18:01 759次阅读
    多<b class='flag-5'>控制</b>模式的<b class='flag-5'>智能家居</b><b class='flag-5'>系统</b>设计

    本地智能家居系统ESPHome,实现远程访问调试

    ESPHome 是个开源固件框架,支持通过 YAML 配置实现智能家居自动化,可本地部署并公网访问,便于远程开发
    的头像 发表于 12-30 14:48 1553次阅读
    本地<b class='flag-5'>智能家居</b><b class='flag-5'>系统</b>ESPHome,<b class='flag-5'>实现</b>远程访问调试

    基于芯源CW32 MCU智能家居照明控制系统设计与实现

    ,增强智能家居体验。 多房间灯光控制:通过扩展多个CW32 MCU节点,系统可以实现对不同房间的灯光独立控制,每个节点通过统
    发表于 12-03 06:06

    打破智能家居生态壁垒,乐鑫站式Matter解决方案实现无缝互联

    SDK开发工具与ESP-ZeroCode免开发模组,实现开发,多平台兼容”,大幅降低设备开发
    的头像 发表于 11-06 15:19 1469次阅读
    打破<b class='flag-5'>智能家居</b>生态壁垒,乐鑫<b class='flag-5'>一</b>站式Matter解决方案<b class='flag-5'>实现</b>无缝互联

    公司 PLC/WiFi/蓝牙智能家居多模芯片回片成功,为智能家居万物智联提供优化的通信方式

    近日,公司自主研发的PLC/WiFi/蓝牙多模芯片顺利完成回片和测试。这成果为智能家居及“万物智联”提供一款更为优化的多模通信解决方案,为行业发展注入新动能。赋能
    的头像 发表于 10-14 14:36 843次阅读
    公司 PLC/WiFi/蓝牙<b class='flag-5'>智能家居</b>多模芯片回片成功,为<b class='flag-5'>智能家居</b>万物智联提供优化的通信<b class='flag-5'>方式</b>

    公司 PLC/WiFi/蓝牙智能家居三合芯片回片成功,为智能家居万物智联提供优化的多模通信方式

    近日,公司自主研发的PLC/WIFI/蓝牙三合芯片顺利完成回片和测试。这成果为智能家居及“万物智联”提供一款更为优化的多模通信解决方案
    的头像 发表于 10-14 09:10 822次阅读
    公司 PLC/WiFi/蓝牙<b class='flag-5'>智能家居</b>三合<b class='flag-5'>一</b>芯片回片成功,为<b class='flag-5'>智能家居</b>万物智联提供优化的多模通信<b class='flag-5'>方式</b>

    集成MT9103线性霍尔传感器提升智能家居控制精度与系统智能化水平

    随着智能家居市场的快速发展,用户对控制精度和系统智能化的需求日益提升。在这背景下,集成MT9103线性霍尔传感器成为提升
    的头像 发表于 08-15 17:20 1237次阅读
    集成MT9103线性霍尔传感器提升<b class='flag-5'>智能家居</b><b class='flag-5'>控制</b>精度与<b class='flag-5'>系统</b><b class='flag-5'>智能</b>化水平

    蓝牙语音遥控器:智能家居的智慧控制核心

    和OM6621芯片的强大性能,开发者能够轻松打造高品质的遥控器产品,满足市场多样化需求。未来,随着技术的不断突破,蓝牙语音遥控器必将在智能家居领域绽放更大光芒,为用户创造更便捷、舒适的生活方式
    发表于 06-01 20:24

    智能家居行业盛宴,华普微邀您共赴2025 Matter开放日、开发者大会

    2025年6月12日至13日,广州朗豪酒店,由连接标准联盟中国成员组(CMGC)主办,CSHIA与上海浦东智能照明联合会协办,全球智能家居领域最具影响力的技术峰会之——Matter开放日&
    的头像 发表于 05-30 13:47 1071次阅读
    <b class='flag-5'>智能家居</b>行业盛宴,华普微邀您共赴2025 Matter开放日、<b class='flag-5'>开发者</b>大会

    手机APP远程控制智能家居监测、智能控制系统(STM32L4、服务器、安卓源码)实例项目打包下载

    手机APP远程控制智能家居监测、智能控制系统(STM32L4、服务器、安卓源码)实例项目打包,推荐下载!
    发表于 05-29 21:47

    (大赛作品)STM32F072RB NUCLEO智能家居控制实例项目

    (大赛作品)STM32F072RB NUCLEO智能家居控制实例项目文档截图
    发表于 05-28 21:06

    手机APP远程控制智能家居监测、智能控制系统(STM32L4、服务器、安卓源码)

    手机APP远程控制智能家居监测、智能控制系统(STM32L4、服务器、安卓源码) 项目实例下载! 纯分享帖,需要
    发表于 05-23 21:00

    Matter 智能家居的通用语言

    企业正在测试 134 独特的 Matter 产品。 在消费智能家居设备无缝互操作性需求的推动下,Matter的广泛采用将吸引更多的开发者
    发表于 05-19 15:35

    2025 TUYA全球开发者大会成功闭幕,涂鸦智能以下一代AI硬件重构人机交互边界​

    4月23日,涂鸦智能系列前沿AI爆产品重磅亮相2025TUYA全球开发者大会现场,吸引
    的头像 发表于 05-08 19:07 978次阅读
    2025 TUYA全球<b class='flag-5'>开发者</b>大会成功闭幕,涂鸦<b class='flag-5'>智能以下一</b>代AI硬件重构人机交互边界​

    明远智睿SSD2351开发板:智能家居智能核心

    数据,如温度、湿度、光照强度等,为智能家居系统的自动化控制提供准确的数据支持。全开源的开发资料和一对一的技术支持,让
    发表于 05-07 18:59