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

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

3天内不再提示

什么是SmartLink?

汽车电子技术 来源:嵌入式大杂烩 作者: 杂烩君 2023-02-09 17:04 次阅读

大家好,我是杂烩君。

嵌入式大杂烩周记主要是一些实用项目学习分享,每周一篇,每篇一个主题。

内容主要来源于我们之前收集的资料

https://gitee.com/zhengnianli/EmbedSummary

本期主角:SmartLink

项目需要用到smartconfig,之前我也没接触过,查资料了解的过程发现了一个好东西——SmartLink,分享给大家。

SmartLink是一个在Linux下实现的smartconfig。

仓库链接:

https://github.com/jolin90/smartconfig

SmartLink的介绍及使用

1、相关知识补充

在介绍SmartLink的使用之前,我们先补充点相关知识。

(1)什么是smartconfig?

以wifi智能插座来做说明。我们刚买回来的智能插座,第一步要做的就是给设备进行配网。

配网方式有很多,smartconfig就是其中一种:

poYBAGPktpaAM3PIAAFvribfRpk809.png

poYBAGPktqWAJRTYAALF-VTE32s124.png

图片来源:物联网电子世界

手机发送UDP广播报文,待配网设备扫描所有的可用无线信道,找到发送smartConfig的报文,并锁定在这一信道上开始接受数据。

(2)网卡工作模式

  • 广播模式:物理地址(MAC)是0Xffffff的帧为广播帧,工作在广播模式的网卡接收广播帧。
  • 多播模式:如果将网卡设置为多播模式,它可以接收所有的多播传送帧,而不论他是不是组内成员。
  • 直接模式:只接收目的地址是自己MAC地址的帧。
  • 混杂模式:工作在混杂模式下的网卡接收所有流经网卡的帧。

查看、设置、取消混杂模式命令如:

ifconfigwlan0

#查看wlan0是否为混杂模式

ifconfigwlan0promisc

#设置wlan0为混杂模式

ifconfigwlan0-promisc

#取消wlan0混杂模式

pYYBAGPktriAML5cAANTCeZHegA074.png

(3)通信方式

通信方式分类:

  • 单播:单台主机与单台主机之间的通信;
  • 广播:单台主机与网络中所有主机的通信;
  • 组播:单台主机与选定的一组主机的通信;

IP 网络的组播一般通过组播 IP 地址来实现,组播 IP 地址就是 D 类 IP 地址,即 224.0.0.0 至 239.255.255.255 之间的IP地址。

2、SmartLink使用

下载得到:

pYYBAGPkttSAaZrpAAEJLtwNhMc580.png

我们使用arm板子来做实验。首先,需要交叉编译,执行命令:

makeCC=arm-linux-gnueabihf-gcc

把编译生成的smartlink可执行程序传到板子里。运行时需要跟上接口的名称。如:

./smartlinkwlan0

然后执行如下命令重新编译:

makeclean

make

生成的mcast_app可执行程序在pc上运行,模拟手机APP发送。运行时需要传入WiFi名称及密码。如:

./mcast_appTenda_552F180987654321

测试时需要先运行mcast_app,再运行smartlink。smartlink收到WiFi名称及密码时会打印出来。

运行结果如:

poYBAGPktuSAFl3fAACd0vq595A118.png

这里,使用mcast_app来模拟手机APP。smartlink也提供了一个简易的安卓手机APP,也可以使用APP进行测试:

pYYBAGPktu-AfZX8AAUB8uQZyzU174.png

4、SmartLink组播包协议分析

上面演示了SmartLink的使用,下面简单介绍一些SmartLink的组播包协议。

APP发送特定协议的组播包数据给设备,设备收到后进行解析获取路由器SSID及密码。其协议如:

每个数据包6个字节,

  • 第1~3字节:组播包地址,为固定值0x01 0x00 0x5e。
  • 第4字节:数据包序号。
  • 第5字节:指定数据。
  • 第6个字节:指定数据。

每次传输若干字节。举例说明:

SSID为"TP-LINK_hys" ,PSW为"12345678",发送组播地址如下:

0x010x000x5e0x000x480x35

0x010x000x5e0x010x680x2b

0x010x000x5e0x020x5c0x31

0x010x000x5e0x030x0b0x08

0x010x000x5e0x04

'T'

'1'

0x010x000x5e0x05

'P'

'2'

0x010x000x5e0x06

'-'

'3'

0x010x000x5e0x07

'L'

'4'

0x010x000x5e0x08

'I'

'5'

0x010x000x5e0x09

'N'

'6'

0x010x000x5e0x0a

'K'

'7'

0x010x000x5e0x0b

'_'

'8'

0x010x000x5e0x0c

'h'

0x00

0x010x000x5e0x0d

'y'

0x00

0x010x000x5e0x0e

's'

0x00

0x010x000x5e0x400x1c0x03

其中:

(1)第1~3包数据,为特征码包,后三个字节由组播IP映射为为组播MAC。取组播IP的后23位作为MAC,映射图如:

poYBAGPktv6AF2SCAAAs34Fvm7E607.png

图片来源:jasonj33的博客

组播地址相关介绍可阅读博文:

https://blog.csdn.net/wjz110201/article/details/114628203

这里,手机APP设置的组播IP固定如:

#defineIPADDR_KEY0"224.0.72.53"/*key0:01:00:5e:00:48:35*/

#defineIPADDR_KEY1"224.1.104.43"/*key1:01:00:5e:01:68:2b*/

#defineIPADDR_KEY2"224.2.92.49"/*key2:01:00:5e:02:5c:31*/

组播IP映射为组播MAC,得到:

取后

23

位即为

0.72.53

对应

16

进制为

00

:

48

:

35

取后

23

位即为

1.104.43

对应

16

进制为

01

:

68

:

2b

取后

23

位即为

2.92.49

对应

16

进制为

02

:

5

c:

31

(2)第4包数据放的是SSID及PSW的长度。

(3)第5~15包数据放的则是SSID及PSW。

(4)第16包数据为校验码,采用连续异或校验的方式:

Crc=Crc^0x01^(byte)0x5e^0x40

以上就是本次的分享,文章如有错误,欢迎指出,谢谢!

咱们下期见~

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

    关注

    87

    文章

    11216

    浏览量

    208810
  • SmartLINK
    +关注

    关注

    0

    文章

    5

    浏览量

    2305
  • config
    +关注

    关注

    0

    文章

    15

    浏览量

    4615
收藏 人收藏

    评论

    相关推荐

    智能LINK(smartLINK)团队与Zytronic合作 为其新推出的GEN 3 SmartKiosk™的广阔网络带来互动性

    经久耐用高性能投射电容式技术 (PCT™ 和 MPCT™) 触控传感器领域的领导者Zytronic提供智能LINK(smartLINK)定制多点触控传感器,在美国五个城市建立交互式信息亭网络。智能
    的头像 发表于 05-24 11:21 5731次阅读

    如何从帧控制中获取WEP位?

    SmartLink 配置。在混杂模式下使用ESP8266并尝试实现类似 smartlink 配置的内容时,数据包大小会根据加密类型而变化。了解加密类型对于根据此检查数据包大小非常有用。这可能吗?
    发表于 07-12 15:27

    WIFI转串口、smartlink技术

    随着wifi技术不断发展,智能家居行业不断扩大和完善,许多企业都选择了单一的设备终端,其中:智能开关插座、智能红外控制器等成为了行业中的香饽饽。买了几款欧瑞博、博联的开关,其价格可以接受,100~200之间,普通用户可以买来玩玩。对于这些开关,其中wifi模块则是可以说是整个技术关键。本人所知 TI公司CC3000、联发科mt5931、Ralink的RT5350等,前者资料齐全,但是比较贵,中者的比较便宜,欧瑞博是用此模块,不知道模块是自己开发的还是外购的,要50多哦。Ralink的也比较便宜,不过开发量还是有的。为了配置简单,基本很多插座都推出了smarklink一键配置技术,其实就是解决了在插座没连接路由器的时候,手机app告诉它加入哪个路由。附件上了最近几块模块的资料,感觉好不错,就是价格还没做下来。希望能搞定联发科里面开源出来,就不用wifi转串口,又得外接单片机去控制其他电路了。以便做到降低成本,推动未来的物联网。。。智能家居!
    发表于 06-24 23:10

    基于单片机IAP15W4K58S4的ESP8266手机云控制程序远程控制

    code AT_SMARTLINK[]="AT+CWSMARTSTART=1";char code AT_LANSTART[]="
    发表于 09-09 17:47

    海尔U+智能WIFI模块MK-QTWIFI-05免费试用

    供电,提供 smartlink和 softap 配置方式,同时支持微信 airkiss 配置模式,提供本地/远程程序升级功能,模块上电默认连接海尔物联云服务器。了解更多>>
    发表于 07-10 16:34

    【海尔U+智能WIFI模块试用体验】初次体验

    和外接天线(RECE.20279.001E 接口);2、支持SmartAp 配置:smartlink 和softap 配置模式自动切换,以前研究过smartlink,感觉应该也是通过组播方式,其实
    发表于 08-06 21:07

    【海尔U+智能WIFI模块试用体验】初次使用

    天线和外接天线(RECE.20279.001E 接口);2、支持SmartAp 配置:smartlink 和softap 配置模式自动切换,以前研究过smartlink,感觉应该也是通过组播方式,其实
    发表于 09-12 22:18

    西门子S7-200实现PLC远程监控的步骤和方法

    是西门子Smart-LINE 700IE。本案例采用华辰智通工业级HINET智能网关以及PLC远程控制软件smartlink。同样的原理,华辰智通PLC远程监控可以用于其他品牌的PLC如台达,三菱
    发表于 03-14 16:17

    Eport Pro-EP20串口助手与网络助手的调试

    、TCP&UDP测试工具、蓝牙、WiFi、smartlink应有尽有。哈哈有点没见过市面了。话不多说点击传送门薅
    发表于 01-19 07:42

    基于SmartLINK组建远程局域网的操作手册

    通过SmartLink 可以把远程服务器、4G 工业路由器、PLC、摄像头、录像机、电脑等各个网络组成一个局域网,没有地域和空间限制,可以轻松实现远程管理HJ8XXX 系列设备、摄像头、工控机
    发表于 09-25 18:07 10次下载
    基于<b class='flag-5'>SmartLINK</b>组建远程局域网的操作手册

    Acti 9 Smart Test 软件用户手册

    。此软件可以同时测试多台Acti9Smartlink设备。这些设备可以串接起来,并且只能有一台与计算机相连。但相连的Acti9Smartlink设备始终以不超过10台为限。
    发表于 09-27 11:27 5次下载

    西门子smart系列plc 远程控制实例

    远程的smart PLC设备和电脑组建到同一个虚拟的局域网中。 怎样才能构建这个虚拟局域网呢?通过华杰智控的smartlink技术实现,只需要在设备和电脑端都配置smartlink即可。 配置设备端
    的头像 发表于 08-14 10:22 2w次阅读

    分享一种实用的配网方案!

    项目需要用到smartconfig,之前我也没接触过,查资料了解的过程发现了一个好东西——SmartLink,分享给大家。
    的头像 发表于 02-09 09:25 1089次阅读

    窄带自组网基站搭建技巧

    SmartLink580窄带自组网固定台,能够在不依赖于外部网络和其他通信设备的前提下,实现全天候复杂场景下固定安装,快速简便搭建远距离无线自组网通信网络。
    的头像 发表于 04-25 14:39 1578次阅读

    SmartLink窄带语音自组网系统

    SmartLink窄带语音自组网系统,支持去中心化,自主动态判选节点路由的无线常规同播自组网方案,能够在不依赖外部网络的前提下,独立实现全天候复杂场景下大规模远距离无线通信自组网络的快捷搭建。具有组网灵活,轻巧便携,易于部署,功能丰富等特点,非常适合消防救援应急通信场景。
    的头像 发表于 11-04 10:11 120次阅读
    <b class='flag-5'>SmartLink</b>窄带语音自组网系统