尽管国内、外对智能插座都有很高的研究热度,但国内外智能插座的发展状况却有很大的差别。相对于国内智能插座的发展,国外智能插座的发展则更加成熟,而且国外消费者对智能插座的认可度比国内更高。 ? 例如,2021年初美台半导体发布涨价通知 所以近期本着“练练手”的心态做一款国产芯片WiFi物联网智能插座。 ? 智能插座功能导图 3、硬件设计 WiFi物联网智能插座的核心元器件均为国产芯片,包括:微控制器、AC 220V转DC 5V模块、DC 5V转DC 3.3V模块、DC 5V转DC 5V隔离模块、 WiFi通信模块、继电器模块和电耗采集模块,具体如下所示: ? WiFi物联网智能插座设计PCB效果如下所示: ? 国产MCU WiFi物联网智能插座 PCB效果图 项目近期不断更新,敬请期待~
---- 物联网虽然能够使家居设备和系统实现自动化、智能化管理,但是依然需要依靠更为先进的终端插座作为根本保障,插座是所有家用电器需要使用的电源设备,插座的有序智能管理,对于实现智能家居设备的统一智能管理具有举足轻重的作用 无论是家庭生活,还是工业制造,插座在生活中的应用无所不在,当之无愧为电网与各用电设备之间的桥梁。 1、项目背景 智能插座自问世以来便得到了广泛的关注,国内企业包括:小米、海尔、公牛;国外企业包括:Ottomate、金贝尔、OPSO等各大企业纷纷加入智能插座的研究。 尽管国内、外对智能插座都有很高的研究热度,但国内外智能插座的发展状况却有很大的差别。相对于国内智能插座的发展,国外智能插座的发展则更加成熟,而且国外消费者对智能插座的认可度比国内更高。 例如,2021年初美台半导体发布涨价通知 所以近期本着“练练手”的心态做一款国产芯片WiFi物联网智能插座。
WiFi物联网智能插座硬件设计的重点就是电能计量,为此单独写一篇博文讲解电量计量的设计方案和实现原理。 = 0; float power = 0.0; parm = ((uint32_t)serial_data[12] << 16) + ((uint32_t)serial_data[11 BL0937 在定义产品时考虑到智能插座类产品厂家不是专业计量器具厂家,没有专业昂贵的校准设备,对电能计量精度要求也相对较低,只是提供用电参考信息,不作计费标准。 智能插座只需要读取功率,电压,电流,并根据功率计量累积电量,所以BL0937 与 MCU 间不要复杂的通讯协议去实时的读取计量芯片寄存器,计量精度校准也相对简单,只需在额定功率负载时校准系数,也不需要复杂的校准设备
ESP8266 WiFi物联网智能插座的硬件功能主要包括两部分:控制器板和采集器板。 Quantity Comment Designator Footprint 1 1 10uF C1 C0603 2 1 100nF C2 C0603 3 11 10K R1,R2,R3,R4,R5,R6 ,R7,R8,R9,R10,R11 R0603 4 1 ESP-12S U1 SMD_ESP-12S 5 1 2x6P双面直插-右插脚 U2 焊接口 生产工艺如下图所示: 2、采集器板 采集器板主要包括电源设计 2.3、电量采集电路设计 电参采集使用上海贝岭BL0942电能计量芯片,它是一颗内置时钟免校准电能计量芯片,适用于单相多功能电能表、智能插座、智能家电等应用,具有较高的性价比。 8 1 ESP12S直插模块2x6P P2 焊接口 9 1 1R±1% R1 R1206 10 1 100R±1% R2 R0603 11 1 0.001R±1% R3 R2512 12 3 510R
WiFi物联网智能插座电源功能设计包括三部分: 具体功能说明如下所示: AC 220V转DC 5V,将交流电变为直流电; DC 5V转DC 3.3V,实现MCU供电和WiFi模块供电; DC 5V转DC 220V转DC 5V电源设计 AC 220V转DC 5V电源选用金升阳的LD03-23B05R2模块,该电源模块可输出电压/电流:5V/600mA(驱动MCU、继电器以及其他外设最大消耗电流200mA,驱动WiFi 电源电路设计如下所示: 2、DC 5V转DC 3.3V电源设计 DC 5V转DC 3.3V电源选用UTC(友顺)的LR1107G-33-AE3-3-R模块,该电源模块可输出电压/电流:3.3V/600mA,其中WiFi
本篇博文开始讲解下位机插座节点的MCU软件程序是如何实现。 1、软件架构 下位机软件架构采用前后台控制系统,使用状态机思维实现程序设计。 2、开发环境 开发环境使用Arduino IDE,IDE安装过程可参见:https://handsome-man.blog.csdn.net/article/details/121195905 智能插座的控制器是 = 0) && (strcmp(wifi_receive_config.wifi_ssid, DeviceParamSave.wifi_ssid) ! ), WIFI_SSID, strlen(WIFI_SSID)); memcpy(&(DeviceParamSave.wifi_password), WIFI_PASSWORD, ((uint8_t *)&wifi_send_data, wifi_send_data.device_len - 2); WIFI_send_data((char *)&wifi_send_data
WiFi物联网智能插座的电耗采集依托于合力为的HLW8110计量芯片实现,选取它的主要原因是精度不错,价格美丽,并且可以通过串口驱动,使用便捷。
针对智能插座协议,对于下位机进行可视化监测和管理。
软件技术架构如下,主要为针对 Windows 的PC 端应用程序,采用WPF以及C# 实现功能开发,其中包含MVVM架构。 G2CyHome.WpfOutlet : 主要包含插座UI组件相关类。
3、程序设计
上位机测试程序主要功能如下,其中主要包括:服务配置、节点数据以及节点控制。 port;
}
set { port = value; RaisePropertyChanged(); }
}
///
从刚接触WiFi时跟过wifi的开启流程,当时还是android9。到了Android11代码架构有了不小的改动,在这里重新梳理一遍,便于在工作中更快速的跟踪代码。 , Toast.LENGTH_SHORT).show(); } 二、这里要注意了,Android11默认加入了支持双WiFi的代码。 这里打开WiFi就提供了俩个接口 frameworks/base/wifi/java/android/net/wifi/WifiManager.java 正常打开WiFi是调用这个单参的函数。 () { return ::wifi_load_driver() == 0; } 在wifi_load_driver()方法中,将调用系统接口加载WiFi驱动ko。 到这里,WiFi已处于打开状态,并将进行扫描网络,待连接。WiFi打开流程分析完成。
上一篇我们梳理了WiFi的开启流程,Android11 WiFi开启流程,在最后我们说到ActiveModeWarden中注册了ClientListener监听器。 我们接着这个逻辑继续梳理一下打开WiFi以后的扫描流程。 一、WiFi打开以后,ClientListener会监听到,这时候会更新扫描状态。 frameworks/opt/net/wifi/service/java/com/android/server/wifi/ActiveModeWarden.java private class ClientListener frameworks/base/wifi/java/android/net/wifi/WifiScanner.java public void setScanningEnabled(boolean enable WifiTracker接收到wifi状态改变的广播以后, packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
struct receive_data_mode_t { uint8_t device_head; // 数据帧头:0XA0+功能码(FUNCTION_ID3),A款产品智能插座 typedef struct send_state_t { uint8_t device_head; // 数据帧头:0XA0+功能码(FUNCTION_ID2),A款产品智能插座 [64]; // WiFi SSID char wifi_password[64]; // WiFi密码 char server_ip[64]; typedef struct send_state_t { uint8_t device_head; // 数据帧头:0XA0+功能码(FUNCTION_ID2),A款产品智能插座 typedef struct send_state_t { uint8_t device_head; // 数据帧头:0XA0+功能码(FUNCTION_ID2),A款产品智能插座
梳理一下Android11的wifi连接流程。 一、可以看到点击连接以后,如果config不为null,则先保存网络,再进行连接,所以即使连接失败,此网络依然在已保存网络列表里。 具体实现还是在service,wifimanager只是一个桥梁、 frameworks/base/wifi/java/android/net/wifi/WifiManager.java public 上层是支持了双wifi的,就是连接俩个AP,当然具体功能还要厂商自己实现,双AP具体可以看Android11 wifi开启流程,这里开启wifi时就会分配staid。 frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiServiceImpl.java public void connect frameworks/opt/net/wifi/service/java/com/android/server/wifi/ClientModeImpl.java public void connect(
Android11已经发布,WiFi相关代码改动不大,在这里记录一下,方便日后做开发。 int getWifiStandard() 返回AP wifi标准。 新增变量:CreatorScanResult CREATOR 实现可包装的接口 int WIFI_STANDARD_11AC int WIFI_STANDARD_11AX int WIFI_STANDARD _11N int WIFI_STANDARD_LEGACY int WIFI_STANDARD_UNKNOWN WifiConfiguration.AuthAlgorithm 新增变量:int 更改的方法:WifiConfiguration getWifiConfiguration() 返回当前仅本地热点(LOHS)的Wifi配置。
前言 我们电脑上链接wifi之后。一段时间后我们可能忘记了wifi的密码。这个时候如果有另外的设备想进行链接。那么我们如何通过电脑查询到该wifi密码呢? windows11 之中查询wifi密码。 只是以前打开“无线属性”选项可以在右侧wifi列表中直接右击打开。现在越来越难了而已。 话不多说,开始操作吧。 该方法不止windows11可以以前的windows 都支持。 即可显示WIFI密码了。 查询windows 上存储的全部wifi密码 上面的查询方法,只适合当前已经连接成功的wifi。 查询当前wifi的密码 如果是当前没有连接的wifi,历史曾经链接过的wifi那么我们就需要通过命令的方式进行查询了。 以下方法都需要启动cmd.exe 。 @echo off :main echo 当前主机连接过的wifi有: netsh wlan show profiles :wifi set /p wifi_name=请输入你要查询的wifi名:
在Android11 wifi连接流程中我们代码跟踪到了supplicant中开始associate,关联成功以后就是四次握手然后连接成功。 frameworks/opt/net/wifi/service/java/com/android/server/wifi/ClientModeImpl.java 这里我们先看是怎么进入ObtainingIpState /service/java/com/android/server/wifi/WifiMonitor.java public void broadcastNetworkConnectionEvent(String 1 : 0, bssid); } 此时wifi状态机还在ConnectModeState,对于NETWORK_CONNECTION_EVENT的处理结果就是跳转到ObtainingIpState case 到了这一步就和Android11 DHCP流程接上了。
介绍一开始买的某米的插座,但是好像接口不开放,所以找到了这个插座,然后自己开发了下,用接口控制插座开关。wifi的连接方式,通电后一般几秒后就会连接上wifi,这个时候通过接口发送命令给他。 产品图片通过接口通电和断电简要描述发送指令,打开和关闭插座请求URL域名/app/index.php?
WiFi 6(802.11ax)和WiFi 5(802.11ac)是当前两个主要的WiFi标准。图片本文将详细介绍WiFi 6和WiFi 5的概念、特点以及它们在性能和应用方面的区别。 它于2013年发布,是WiFi 4(802.11n)的升级版。图片WiFi 5相对于WiFi 4在速度和性能方面有了显著的提升。 WiFi 6与WiFi 5的比较WiFi 6相对于WiFi 5在性能和功能上进行了进一步的改进和提升。 下面是WiFi 6和WiFi 5之间的主要区别:速度和吞吐量:WiFi 6相对于WiFi 5提供更高的速度和更大的吞吐量。 WiFi 6与WiFi 5的应用场景WiFi 6和WiFi 5在不同的应用场景中有不同的优势和适用性:高密度环境:WiFi 6在高密度环境中表现出色,能够更好地处理大量设备的同时连接和数据传输。
我们知道wifi 2.4G 和5G是一个电磁波承载的信息。 那莫他们各自所能用到的最大资源是多少呢?
二、电源插座窃听的工作原理(一)声音采集内置在电源插座中的窃听装置通常包含高灵敏度的麦克风或声音传感器,能够捕捉周围环境中的声音信号,包括人的语音。 三、电源插座窃听的实现方式(一)内部改装对普通电源插座进行内部结构的改装,将窃听装置嵌入其中。这可能在电源插座的生产过程中被恶意操作,或者在后期维修、更换插座时被植入。 (二)定制生产不法分子直接定制生产外观与普通电源插座无异,但内部集成了窃听功能的特制插座。 (三)伪装与隐藏窃听装置可能被巧妙地隐藏在电源插座的内部结构中,或者通过与插座的正常组件融合,使其难以被肉眼察觉。 (三)行业规范与标准制定电源插座生产和销售的行业规范和安全标准,加强对市场上电源插座产品的质量监管和检测,防止窃听装置流入合法市场。
WIFI是无线局域网联盟的一个商标,该商标仅保障使用该商标的商品互相之间可以合作,与标准本身实际上没有关系,但因为WIFI 主要采用802.11b协议,因此人们逐渐习惯用WIFI来称呼802.11b协议 从包含关系上来说,WIFI是WLAN的一个标准,WIFI包含于WLAN中,属于采用WLAN协议中的一项新技术。 802.11g的调制方式和11a类似,但其载波的频率为2.4GHz(跟802.11b相同),共14个频段,原始传送速度也可达为54Mbps,802.11g的设备向下与802.11b兼容。 直接序列扩频技术是把使用11位的Chipping Barker序列来将数据编码并发送的技术。 在相同的吞吐量下,直接序列扩频技术需要比跳频技术更多的能量;但以消耗能量为代价,它也能达到比跳频技术更高的吞吐量,802.11b能达到5.5Mbps和11Mbps就是采用HR/DSSS技术。