前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【IoT迷你赛】基于TencentOS tiny 物联网案例 ——智慧生活

【IoT迷你赛】基于TencentOS tiny 物联网案例 ——智慧生活

原创
作者头像
极速紫韵
修改2019-08-26 14:53:28
1.7K0
修改2019-08-26 14:53:28
举报
文章被收录于专栏:腾讯云IoT腾讯云IoT

本人有幸参加了TencentOS内测活动,感受到了物联网操作系统方便,因为它提供了丰富的连接云平台的模板,只需要进行二次开发,就可以很快设计出自己的使用案例。对于TencentOS的各个功能的使用都有详细的测试代码,这对只会写任务而对操作系统却只是一知半解的我很有帮助。让我可以深入理解了操作系统的运行机制,知道如何让多个任务和谐共处,而不至于跑着跑着就死机了。

一、操作系统介绍

那么接下来我简单摘抄和截图官方提供的资料,为想学习它的爱好者提供些帮助。任何新东西都要好的资料才能吸引学习者的兴趣,来看看官网都提供了以下基础资料:

开发文档
开发文档

这里只透露TencentOS tiny产品简介,学习者想看其他资料的内容,等正式发布后你们就可以看到了,相信你们会爱不释手的。

1、TencentOS tiny是腾讯面向物联网领域开发的实时终端操作系统,具有低功耗,低资源占用,模块化,可裁剪等特性。

2、TencentOS tiny提供最精简的RTOS内核,内核组件可裁剪可配置,可灵活移植到多种终端MCU上。而且,基于RTOS内核,提供了COAP/MQTT/TLS/DTLS等常用物联网协议栈及组件,方便用户快速接入腾讯云IoT Hub。

3、TencentOS tiny为物联网终端厂家提供一站式软件解决方案,方便各种物联网设备快速接入腾讯云,可支撑智慧城市、智能水表、智能家居、智能穿戴、车联网等多种行业应用。

优势:

 1.小体积:最小内核:RAM 0.6KB,ROM 1.8KB

典型LoraWAN及传感器应用:RAM 3.3KB,ROM 12KB

2.低功耗:休眠最低功耗低至2 uA

支持外设功耗管理框架,方便开发人员降低设备功耗,延长设备寿命。

 3.丰富的IoT组件

集成主流IoT协议栈(MQTT、CoAP、LoRaWAN、NB-IoT等),多种通信模组SAL层适配框架,降低网络硬件适配时间成本。

支持OTA升级

提供简单易用端云API,加速用户业务接入腾讯云。

4.可靠的安全框架

多样化的安全分级方案,均衡安全需求和成本控制。

5.良好的可移植性

内核及IoT组件高度解耦,提供标准适配层,提供自动化移植工具,提升开发效率。

6.便捷的调试手段:

提供云化的最后一屏调试功能,故障现场信息自动上传云平台,方便开发人员调试分析。TencentOS tiny可以有效减少开发人员在任务管理、硬件支持、网络协议支持、安全方案以及文件系统、 KV 存储、在线升级等常用功能组件相关的开发中所需要的时间和工作量,并且能够快速高效的实现设备的低功耗运行,同时提供强大的开发调试功能, 减少开发测试人力成本,能够让客户的产品实现快速开发和快速上线交付。同时,极低的资源占用可有效降低客户产品对硬件规格的需求,可有效降低设备成本。

二、硬件介绍

可以说TencentOS tiny是比较人性化的,较少了开发者的工作量。我的智慧生活案例也是很快搭建起来的。我们来看看所用的物联网开发板:

开发板收纳盒
开发板收纳盒
开发板配置
开发板配置
开发板功能说明
开发板功能说明

开发板功能特性

CPU: STM32L431RCT6, 80MHz 显示屏: OLED,128*32 分辨率

存储: 256K Flash,64KB SRAM LED 灯 上电指示 LED,红色;

充电指示 LED,红色;

一个用户定义 LED,蓝色

系统: TencentOS tiny

主板供电: 通过 USB 5V 供电或者外

部 5V 供电

按键: 一个复位按键,四个功能按键

传感器 支持 E53 传感器案例扩

展板

通信 WIFI、LoRaWAN、NB-IoT、2G 等

n 电源特性

➢ Micro USB 接口,5V 供电

➢ 内部有 5V 转 3.3V 的 DCDC➢ MCU 供电电压为 3.3V,系统 IO 电压也为 3.3V

n 调试接口

➢ SWD 外接 ST-Link

➢ UART2 串口连接 PC

n XTAL

➢ 8MHz

➢ 32.768KHz

n 预留通用接口

➢ WAN interface(UART&SPI&GPIO)

➢ E53 Interface(UART、SPI、IIC、GPIO、ADC、DAC

三、方案结构图

案例框架
案例框架

四、在腾讯云平台新建项目

网址:https://cloud.tencent.com/

登录腾讯云主页
登录腾讯云主页

可以用微信号或QQ登录:

用微信或QQ或邮箱登录
用微信或QQ或邮箱登录

选择“物联网开发平台”,首次使用需要申请的,审核通过才能使用该功能:

选择物联网开发平台
选择物联网开发平台

新建项目:智慧生活

新建项目
新建项目

新建产品:智慧生活,产品类型为智慧生活,选择需要的功能和使用的传感器,这里也可以自定义,选用WIFI 模块,如果有数据模板,会自动调用已经有的数据模板。

新建产品
新建产品

新建自定义功能,在这里添加数据模板,尽可能把描述详细:

选择自定义功能
选择自定义功能
定义数据变量
定义数据变量

在设备调试界面新建设备,自定义设备名称,该名称在工程代码会使用到:

自定义设备名称
自定义设备名称
选择调试
选择调试
记住三个红框的内容
记住三个红框的内容
把红框内容填在KEIL软件的文件里
把红框内容填在KEIL软件的文件里

在工程的tos_hal_os.c中将上图红框的信息填入一下数组中即可

/* 产品名称, 与云端同步设备状态时需要  */

static char sg_product_id[MAX_SIZE_OF_PRODUCT_ID + 1]  =" 填写产品ID";

/* 产品密钥, 与云端同步设备状态时需要  */

static char sg_product_secret[MAX_SIZE_OF_PRODUCT_KEY + 1] = "产品密钥 ";

/* 设备名称, 与云端同步设备状态时需要 */

static char sg_device_name[MAX_SIZE_OF_DEVICE_NAME + 1]="设备名称";

修改WiFi号和密码
修改WiFi号和密码

修改属性数量,和自定义数据变量:

添加变量
添加变量

添加上报云端的属性模板,小框内的“power_switch”须和云平台定义的数据一致。

我把采集的数据放在这个位置了,这样比较直观。

上传采集的数据
上传采集的数据

可以通过以下页面对开发板进行读写数据,只要开发板有数据上传,那么该页面就会自动更新上报的数据,还可以通过下发指令控制开发板,读取和控制的信息都会在右边的黑色框内显示。

完成效果:

可以看到设备已经在线,还读取到开发板发来的数据。

云平台控制和采集开发板数据
云平台控制和采集开发板数据

五、微信小程序开发

通过微信小程序可以采集开发板发来的数据,也可以通过发送控制指令来控制开发板上的灯和风扇,红外检测是用于检测是否有人靠近开发板。

如图所示,只需要修改产品ID和设备名称以及密钥ID和密钥就可以实现微信控制开发板了。没有微信开发经验的爱好者,可以先在官网的微信小程序网址注册并获得一个APPID,有了它才能正常在“微信开发者工具”软件里开发小程序,才能正常导入小程序模板。设计好之后如果要上线,或者通过真手机来打开小程序并实现控制,就还需要在小程序网址的开发栏中添加服务器地址。

根据提示填入内容
根据提示填入内容

在以下页面可以修改小程序界面和需要采集和控制的变量,这里数据变量必须对应云平台的数据,如果平台未定义,而只有小程序和开发板定义,那么小程序是无法读取该数据变量的值的。只有三方都定义了才能正常通讯。

增添需要采集或控制的变量
增添需要采集或控制的变量

通过小程序开发软件界面就可以采集数据和发送数据,下图就是小程序采集的数据和串口打印的数据,读取的数据都是正确的,从而实现远程控制。

实现对开发的数据采集和控制
实现对开发的数据采集和控制

小程序说明:亮度,温度 ,湿度,数据量,灯和风扇的状态都可以通过采集按钮来获取,由于目前还无法显示设备是否在线,所以通过数据量是否有递增来判断设备是否在线。

六、总结

通过此次【IOT迷你赛】TencentOS tiny内测活动,让我对物联网操作系统有更深的了解,改变了我以往的使用操作系统的使用习惯。能够依据提供的模板快速开始自己的demo,还是挺激动的。提供的开发板也是很给力的,可以对电池充电,可以随意更换无线模块和功能模块,实现不同应用场景下使用同一开发板,再也不会因为换传感器而要换板子了。

最满意的地方是提供了许多系统基础应用的案例,例如信号量,任务的挂起,运行,销毁等,这些对初学者很有帮助,如何使用物联网操作系统和深入理解一些操作系统的专业名词概念。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档