一、wireshark抓包

(一)启动方式:sudo wireshark        //否则没有权限

(二)选择抓取线路:上网的线路ens33

(二)添加筛选条件(端口号):tcp.port == 1883(根据通信时设置的端口号筛选)

二、ONENET创建产品(根据创建指导文档手册创建即可)

(一)创建产品和设备

(二)根据设备名和id生成密钥,写入head.会中

三、双网卡配置

(一)使pc端联网分配动态ip,arm端连接使用静态ip并且使arm可上网。

(二)将脚本文件复制到挂载的目录下,修改dou_net文件,使重启后route路径固定

(三)每次重启后需要上网在pc或者arm各自执行一次自己对应脚本文件即可

四、pc版和arm版分别连通onenet的方式

(一)为了更清楚的理解在挂载目录下创建两个文件夹:分别用来搞arm通信和pc通信

(二)将一份压缩包和mqtt测试代码分别复制到两个文件中

(三)分别解压文件进入后,操作使生成Makefile

(四)分别修改Makefile

        1.-L连接库文件路径

        2.-I指定头文件路径

(五)修改两个文件中的matt测试makefile分别使其编译生成指定版本可执行文件

(六)分别执行可执行文件测试是否连通

五、platform方式驱动框架(字符设备驱动(IIC、SPI))

(一)修改设备树

        1.IOMUXC引脚配置(我定义在470行左右)

        2.设备(传感器)节点定义(我定义在200行左右)

(二)相关驱动文件创建

        1.顶层Makefile

                顶层执行Make时会分别进入app和dri中执行Makefile

        2.应用层文件夹app

                ①主函数main.c

                ②Makefile文件

                        

        3.驱动文件夹dri

                ①Makefile文件

                ②driver.c文件

(三)驱动的driver.c编写

        1.写设备平台驱动主框架结构体函数,根据结构体内容补充函数

                ①匹配成功执行probe函数,注册设备

                ②最后执行remove函数,销毁设备

                ③写第一种匹配规则,根据设备树中设备节点名匹配

                ④driver结构体:of_match_table(compatible匹配关键点)

        2.注册杂项设备,主设备号为10,次设备号从255想下自动分配

        3.写应用层要调用的函数和file_operations结构体

        

更多推荐