实验六:基于LiteOS实现端到端物联试验

实验六:基于LiteOS实现端到端物联试验

步骤1 移殖光敏传感器,通过传感器采集光照亮度

在Keil环境中右击IOT-Demo,选择Manage Project Items...
在Project Items标签下的Groups中添加Hardware,并在该group下添加光敏传感器代码


QQ浏览器截图20191112201033.png

添加光敏传感器代码的头文件路径


QQ浏览器截图20191119185955.png

在main.hUSER CODE BEGIN Incldes/与/USER CODE BEGIN Incldes/之间添加引用定义标准扩展整数类型的头文件代码

QQ浏览器截图20191119190329.png

在main.h的/USER CODE BEFIN defines/与/USER CODE BEFIN defines/之间添加全局变量msg_for_BH1750与BH1750_send定义的代码

QQ浏览器截图20191112201728.png

在main.c的USER CODE BEGIN Incldes/与USER CODE BEGIN Incldes/之间添加引用光敏传感器头文件的代码BH1750数据的全局变量,并添加光敏传感器数据上报是携带的messageld的代码

QQ浏览器截图20191124140439.png

在main.c的/*USER CODE BEGIN /与/USER CODE BEGIN */之间添加光敏传感器任务代码;定义光敏传感器任务名为LightSensor_task,优先级为;通过改任务,对光敏传感器进行初始化,并打印任务信息与光敏传感器数据

QQ浏览器截图20191119193004.png

在main.c的/USER CODE BEGIN 2/与/USER CODE BEGIN 2/之间生成的代码,添加创建光敏传感器任务的代码,并注释task1与task的代码

QQ浏览器截图20191124140848.png

点击Rebuild,编译工程


QQ浏览器截图20191124141521.png

点击Download,下载程序至开发板


QQ浏览器截图20191124141541.png

打开QCOM串口调试助手,根据对应的串口,选择相应的串口号,配置相应信息,按下MCU_RST,开发板运行程序


QQ浏览器截图20191124142649.png

步骤2 移植NB入网代码,通过NB模组将数据上报至平台

登陆OceanConnect平台,参照实验三的方式注册设备


QQ浏览器截图20191124145247.png

打开Keil,在Keil中右击Lot-Demo选择Manage Project Items...
在Project Items标签下的Application/User中添加Iot-Demo-LiteOS/targets/Src目录下的at_hal.c文件


QQ浏览器截图20191124151125.png

在Projects Items标签下的Groups中添加at_device,并在该group下添加基于LitesOS的NB模组代码,添加Iot-Demo-LiteOS\components\net\at_device\bc95目录下的bc95.c文件


QQ浏览器截图20191124151228.png

在Project Items标签下Groups中添加at_framework,并在该group下添加LitsOS AT框架实现的代码,添加Iot-Demo-LiteOS\components\net\at_frame目录下的全部.c文件


QQ浏览器截图20191124151310.png

在Project Items标签下Groups中添加nb-iot-api,并在该group下添加基于LitsOS的NB-IOT API的代码,添加Iot-Demo-LiteOS\components\connectivity\nb_iot目录下的ios_nb_api.c文件


QQ浏览器截图20191124151430.png

完成NB模组与AT框架相关代码的添加,点击OK


QQ浏览器截图20191124151447.png

添加完成后,在Keil的Project导航栏会出现相应文件


QQ浏览器截图20191124151744.png

在Option for Target‘Iot-Demo’界面下选择C/C++,在Define中添加全局宏定义标识符:WITH_AT_FRAMEWORK,USE_NB_NEUL95


QQ浏览器截图20191124151843.png

在Incude Paths栏添加相应文件的头文件路径
头文件路径分别为:
Iot-Demo-LiteOS\components\connectivity\lwm2m\core\er-coap-13
Iot-Demo-LiteOS\components\net\at_device\nb_bc95


QQ浏览器截图20191124151915.png

在main.c的/USER CODE BEGIN Include/与/USER CODE BEGIN Include/之间添加调用AT框架与BC95头文件的代码,并声明BC95入网的全局变量

QQ浏览器截图20191124152040.png

在main.h的/USER CODE BEGIN Private defines/与/USER CODE BEGIN Private defines/之间添加msg_sys_type_net_data定义的代码

QQ浏览器截图20191124152131.png

在main.c的/USER CODE BEGIN 0/与/USER CODE BEGIN 0/之间添加BC95模组入网连接平台发送数据任务代码,定义该任务为data_send_task,优先级为1,通过该任务,MCU向BC95发送ip及port信息和光敏传感器数据并通过串口打印发送结果

QQ浏览器截图20191124152210.png

打开bc95.h,在该文件中修改AT_USART_PORT为2


QQ浏览器截图20191124152425.png
QQ浏览器截图20191124152505.png

在main.c的/USER CODE BEGIN 2/与/USER CODE BEGIN 2/之间生成代码,添加创建BC95模组入网连接平台发送数据任务的代码

QQ浏览器截图20191124152606.png

点击Rebuild,编译工程


QQ浏览器截图20191124152645.png

点击Download,下载程序至开发板

打开QCOM串口调试助手,根据对应的串口号,配置对应信息,通过跳线帽将开发板的UART1的RX和TX与CH340的TX和RX连接,将开发板上的UART2的RX和TX与NB-IOT的TX和RX连接,点击MCU_RST,开发板运行程序。此时在QCOM上可以看到打印任务的信息


QQ浏览器截图20191124153558.png

登陆平台,可以查看到注册的设备处于已绑定状态,通过历史数据可以查看到开发板上报的数据


QQ浏览器截图20191124205922.png

Ocean Connect平台位于平台层,对于一个物联网业务来说,需要一个终端接入解耦、平台与应用分离、安全可靠的平台作为支撑,而Ocean Connect平台具有终端接入,安全验证,业务编排,数据管理,多协议通信的功能,实现连接平台和能力开放,完成与运营商管理和平台对接。同时平台自身具有两大特点:1.业务使能2.设备管理,导致我们更加轻松的使用和控制这些设备。

NB-IoT网络属于网络层,多种接入方式以及多协议的接入以及iot接入,使得各种不同的设备都可以同过网络层和平台层实现相互通信。

Ocean Connect提供标准的iot agent,能够快速适配os和各类厂商的智能终端。

光敏传感器属于感知层,通过感知所需要的情况及时收集信息通过网络层上传到平台层。

本实验未涉及到应用层所以不阐述。

每层体系结构中我们要做的事情

1.平台层

完成实验一中所有Profile的设计,同时完成编解码插件的开发,同时设定地质域。为了区别多个消息,每个消息必须有地质域。地质域为表示此消息的唯一字段。其原因是为了识别各个字段,同时保证每个消息的正确性,提高效率。此次实验我们接受的是一串二进制码流,通过平台的编解码插件开发实现,以及Profile的设计,以及每个消息有唯一的地址域,导致二进制码流转化为我们所需的信息。

设备层

我们需要通过keil5软件完成相应的设置,让设备可以与平台互通。
再在keil5上编译相应的程序点击骚写


QQ浏览器截图20191124215400.png
QQ浏览器截图20191124215854.png
QQ浏览器截图20191124215942.png
QQ浏览器截图20191124220057.png
QQ浏览器截图20191124220111.png

通过以上代码实现网络层与平台层相互传输。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 实验六 实验任务配置 步骤1 移植光敏传感器代码,通过传感器采集光照亮度 在keil环境中右击“IoT-Demo...
    bainingmeng阅读 471评论 1 0
  • 步骤一 移植光敏传感器代码,通过传感器采集光照亮度 在keil环境中右击“IOT-Domo”选择“Manage P...
    吴康龙阅读 555评论 1 1
  • 步骤一 移植光敏传感器代码,通过传感器采集光照亮度 在keil中右击“loT-Demo”选择“Manage Pr...
    _肖玲阅读 675评论 1 1
  • 线程 线程的概念 线程与进程进程:系统运行的基本单位,一个进程可以看作一个运行的程序,每一个进程都有独立的内存和系...
    北风送晚燕阅读 106评论 0 0
  • 学习了知乎讨论《如何研读一篇论文》,收获: 1、弄清楚自己想要解决的问题或者是想要了解的知识; 2、看文献。首先寻...
    草上霜阅读 642评论 0 7