锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

【IoT智能单品设计】一款基于涂鸦智能IoT云平台的新型智能蓝牙水杯

时间:2022-08-12 10:00:02 对接式电缆连接器组件振荡极限状态传感器

文章目录

  • 1 前言
  • 2 产品构思
    • 2.1 产品名称
    • 2.2 产品解决的主要问题
    • 2.3 产品创新功能点
  • 3 产品原型
    • 3.1 云平台选型
    • 3.2 创建智能单品
  • 4 产品开发
    • 4.1 硬件设计
    • 4.2 软件设计
    • 4.3 功能调试
  • 5 展示产品功能
  • 6 扩展产品功能
  • 7 结束语


1 前言

近年来,随着科技的更新迭代,IoT行业迎来了快速扩张和发展的窗口期。由此可见,越来越多的智能产品进入我们的日常生活,包括早期发展智能家居类产品、智能家电类产品,以及近年来非常热门的产品智能穿戴这些产品在市场上得到了很好的反馈。

在城市的日常生活和工作中,节奏通常相对较快。据统计,中国近75%的人都在这里 “亚健康” 状态,每个人都或多或少会有这样那样的健康问题。随着大家对健康问题的关注度提高,在智能IoT有越来越多的相关领域运动健康智能单一产品,这些单一产品的核心功能是为日常健康风险提供一套智能解决方案,使人们在享受技术便利的同时,也能改善自己的健康状况。

PS:本项目所需的开发材料和相关硬件材料可以戳 这里 .

2 产品构思

结合当前的市场需求,综合分析各种健康问题的相关数据,我认为日常生活 健康饮水 问题是一个具有可观前景的智能单一产品方向。一方面,它涉及到饮用水问题,这是每个人每天都无法回避的话题,所以这是一个有大众基础的产品;另一方面,包括我自己在内的许多人不能保证每天的饮用水摄入量,这将在一定程度上加剧一些慢性病的爆发。

随着人们健康意识的觉醒和认知的提高,越来越多的人愿意为自己的健康问题买单。基于这样的市场调研,我的想法是设计一个新的智能水杯,重点解决人们的日常饮用水健康问题。

2.1 产品名称

饮用水健康智能单品:基于蓝牙通信的新型智能水杯

2.2 产品解决的主要问题

主要解决办公室白领、年轻夫妇和独居老人的健康饮用水问题:

  • 作为办公室白领,因为工作性质比较忙,往往是因为 ,忘记补充一定量的饮用水,问题是不能保证每天摄入足够的水,办公环境本身就是一个 久坐 从长远来看,姿势很容易引起健康问题;
  • 作为独居老人,他们往往年纪大,记忆力差,经常忘记喝水;同时,眼睛或耳朵可能不好,普通水杯的容量和温度也不容易判断。因此,有必要引入智能水杯的智能功能,帮助独居老人在一定程度上解决饮用水的健康问题;
  • 作为情侣,往往需要用各种手段来表达爱意,智能水杯的原创情侣模式可以很好的解决这个问题。

2.3 产品创新功能点

  • 支持定制定期提醒饮用水的功能;
  • 支持一段时间内饮用水健康问题的网络统计分析;
  • 支持屏幕显水容量和水温;
  • 支持语音播报水容量和水温;
  • 支持用户群设置(老年人、办公室白领、儿童等);
  • 首创关怀模式,当孩子和老人的账户下共享智能水杯时关怀模式一开始,孩子的账户可以远程操作APP及时检查和提醒老年人喝水;
  • 关怀模式升级版:情侣模式,主要适用于年轻情侣,支持一方直接发起即时语音提醒,达到示爱的目的。

3 产品原型

一个好的产品想法诞生在我的脑海中,真正以最快的速度进入市场,并获得良好的声誉,其原型设计非常重要;同时,什么样的平台也是一个非常值得研究和研究的问题。

3.1 云平台选型

国内主流IoT云平台包括阿里云平台、腾讯云平台、京东云平台、小米云平台、华为云平台和涂鸦云平台。

每个云平台都有自己的特点和优势。其中,阿里巴巴云平台成立较早,发展较为成熟,主要围绕天猫精灵打造全景智能解决方案。

与阿里云平台相比,涂鸦云平台最大的特点是采用 标准模块化开发规则,实现行业标准化;对于产品开发者来说,这样的好处可以大大降低研发成本和周期,大大降低开发门槛,快速实现产品智能化。

基于这种标准产品的开发能力,我们可以看到大量的行业标准产品可以在涂鸦开发者云平台上看到,几乎涵盖了我们可以看到的智能产品,这无疑给开发者带来了极大的便利。同时,涂鸦开发者云平台上有丰富的开发文件,包括设备终端侧SDK、手机APP端侧的SDK、云端的SDK等等,有完整的支持,这对重视二次开发的开发者来说也是一个很好的福音。

IoT该领域的智能单一产品正在爆炸性发展。问题是产品功能和质量无法建立标准化,涂鸦智能的出现是为了很好地解决这一痛点。我们也希望这个方向能够不断深化,让我们在涂鸦云平台上看到更多的标准产品,这样我们就有更多的想法和方向来创建自己的智能产品。

综上所述,我选择了智能水杯单品 涂鸦IoT云平台。

image-20220322004229284

3.2 创建智能单品

选定了涂鸦IoT云平台之后,我可以涂鸦 IoT云平台 可以快速地 创建 我需要的智能单品:

您可以参考更多的介绍文档 在这里,更多的智能单品案例可以从 这里 多了解。

PS:本项目所需的开发材料和相关硬件材料可以戳 这里 .

4 产品开发

整个产品开发分为硬件和软件两部分。在硬件部分,涂鸦只提供标准化的模块(Wi-Fi模块或蓝牙模块等。),它不提供特定的MCU与传感器相关的选型和选型需要智能单品开发根据自身实际情况自行完成选型。

4.1 硬件设计

有了基本的IoT云平台选型后,下一步重要的是硬件部分的选型。

硬件选择应遵循的原则是:尽可能选择成熟的硬件方案,硬件型号应略高于满足您的功能需求,即留出冗余空间,并尽可能考虑使用易于开发的组件。

  • 主控模块

    我选择的主控模块是开发者最容易上手的增强型 STC12C5A60S2 ,它是宏晶科技生产的单时钟/机器周期(1T)单片机是高速/低功耗/超抗干扰的新一代 8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。对比传统的51单片机,它有非常显着的技术优势:

  • 蓝牙通信模块

    涂鸦在这里选择 BT3L 蓝牙模块性价比高,广泛应用于基于蓝牙的智能单品中。其基本信息如下:

  • OLED显示模块

    为了在产品中显示相关的基本数据,包括当前杯温、蓝牙连接状态、定期饮用水提醒倒计时、电池电量、当地计时、杯水量、饮用水量、目标水量等。

    考虑到成本和接口设计,我使用它 SSD1306 芯片驱动的9.6寸的OLED。

    OLED 由于同时具有自发光,不需要背光源,对比度高,厚度薄,视角广,反应速度快,可用于柔性面板,温度范围广,结构和

    工艺简单等优良特性被认为是下一代平面显示器的新兴应用技术。LCD 都需要背光,而且 OLED 不需要,因为它是自发光的,所以同样的显示, OLED 效果更好。

  • 按键模块

    按键这部分相对比较简单,我直接采用的是点触式非自开关;主要是配合应用做一些简单的功能切换;比如短按的时候切换屏幕开和关,长按的时候复位蓝牙模组,进入配网流程等。

  • 温度传感器模块

    温度传感器主要的用途是测量水杯的温度,以便于展示真实的水温度。这里我选用的是 DS18B20数字温度传感器。

    DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。 [1] DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。

    主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。

  • RTC时钟模块

    RTC时钟作为一个本地计时的模块而存在,我选用的是非常经典的RTC模块:DS1302。

    DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.0V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

  • 力传感器模块

    重力/压力传感器主要是用于测量水杯的整体重量,通过密度、体积、质量三者的数量关系,从而得出水容量的一种方法。

    这里我选用的是 HX711:它是一款专为高精度电子秤而设计的24位A/D转换器芯片与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。

4.2 软件设计

  • 代码整体框架

  • MCU主控

主控部分的软件代码,采用的是STC12C5A60S2这块增强型的51单片机,它的软件开发完全兼容传统的51单片机,它的开发特定就是易上手,IO口丰富,外设也相对丰富,基本满足我需要的功能需求。

在这个项目,我主要使用它的以下几个部分:定时器、双串口(一个串口日志调试、另一个串口与蓝牙通讯)、ADC、标准的GPIO、E2PROM等。至于其他几个外设传感器,均采用的GPIO做通讯协议的模拟。

值得注意的是,由于我是一个Linux编译环境的重度依赖者,我实在没法忍受KEIL那蛋疼的编译的IDE环境,所以我查找网上的资料,自行搭建了基于 SDCC 的编译环境,完美实现Linux环境下编译51单片机。这块相关的教程,我回头整理下,再发出来大家讨论讨论。

以下便是我的代码的内容的展示,感兴趣可以到我的gitee找相关的开源代码。

  • 蓝牙通讯

    蓝牙通讯这部分的软件代码其实分为两部分:蓝牙模组的固件代码和MCU侧对接蓝牙模组的软件代码。由于我这是在涂鸦云平台上直接创建产品,模组直接选用的是涂鸦提供的标准蓝牙模组,所以蓝牙模组这部分的固件代码,我是不用开发的,而需要开发的仅仅是通过简单的串口协议跟蓝牙模块就能够对接起来。类似下边这张图的左半部分所展示的这样:

    关于这种开发方式,涂鸦叫 “MCU低代码开发”,详尽的介绍可以参考 这里。

    PS:本项目所需要开发资料和相关硬件物料可以戳 这里 .

  • 涂鸦的MCU侧SDK移植

    在涂鸦的IoT云平台上创建了对应的智能单品后,云平台会自动创建对应的MCU侧参考SDK,这个SDK中将对应产品的功能属性、物模型数据都固话在里面了,并且SDK内部已经很好地实现了MCU和蓝牙模组的对接,当收到蓝牙模组的数据传递时,自动进行处理。

    在适配的过程中,只需要根据SDK包中的参考文档,将MCU侧几个核心的跟串口收发的接口适配好后,整一个与蓝牙模组的通讯功能就可以跑起来了。

    这时,通过SDK包中的mcu_api.h的接口就可以实现对蓝牙模组的各种操作了。

    更为详尽的移植步骤,可以参考这里。

  • 基础外设

    • 按键触发

      为了简单处理,本项目中采用的简单的GPIO实现单点按键的功能;同时,为了实现单个按键短按和长按的对应不同的功能,在按键处理代码中,增加了按键状态机的处理模型,有效地区分按键短按和长按状态。

    • OLED显示

      OLED采用的是I2C串行数据协议,考虑到GPIO的分布,本项目采用的是GPIO软件模拟I2C洗衣的方式,通过对不同寄存器的读写封装,可以实现对OLED区域的显示;同时配合字模制作软件,可以生成中文字模以及自定义的各式各样的图形和符号,极大地方便了显示的多样性。

    • 温度传感器测温

      DS18B20温度传感器采用的是单数据线串行协议,切换单数据线的电平切换实现对温度信息的采集,经过合理的转换运算后,得到一个比较精确的水杯温度值,用于展示在显示屏上。

    • 压力传感器测水容量

      压力传感器用于检测水的容量,这是一个间接的测量方法,先通过压力(重力)传感器测得不同水容量下的重量,得出不能容量下的重量分布表;在真正的测量中,将取得的重量数据对照水容量表格,大致可以得出对应的水容量,从而做水量的数据展示。

    • RTC本地时钟

      RTC时钟,采用的是自定义的串行数据协议,通过RST、IO、SCK三线的变化,可以准确地实现对RTC时钟的读和写;同时该模块是采用纽扣电池长供电的,所以可以长时间保持时钟的有效性。

  • 电池电量检测

    本产品由锂电池或干锰电池供电,借助MCU侧自带的ADC通道,可以很快地测出供电电压。由于STC12C5A60S2的ADC内部参考电压就是供电电压VCC,所以必须借助2路ADC通道,其中一路外接一个参考电压,然后根据等比关系计算出供电电压VCC。

    比如外部参考电压是V1 = 1.0V,对应这路ADC测量的电压值为V11;而另一路ADC测量出来的电压值为V12。他们与VCC的等比关系是:VCC / V12 = V1 / V11

    由此可计算出: VCC = V1 * V12 / V11

    再结合VCC电压和锂电池的降压特性,初步得出当前的电量百分比,随后送到屏幕展示。

  • 基础的应用逻辑

    这里的基础应用逻辑有包括以下几点:

    • 设备复位和设备配网:当按键长按3秒以上时,则触发蓝牙设备的解绑,所有本地数据都讲复位到默认值,同时蓝牙设备再次发起广播,等到手机APP的自动发现,以及发起后续的设备配网操作。
    • 饮水提醒: 当手机APP端下发的饮水提醒时间已到,则整个OLED屏幕开始1秒钟开灭一次,直到检测到一次新的喝水动作。
    • 饮水动作的检测:当水杯水容量,前后的变化锐减20ml以上,则认为是一次有效的喝水动作,此时 已喝水量 会增加对应的喝水量,同时喝水次数会加1,且会上报一次全量数据。
    • 本地数据定时上报:本地的数据,每个5秒钟会触发上报,同时观察手机APP,即可看到数据的变化。
    • 蓝牙连接状态显示:蓝牙有3种状态,0状态对应的是设备未绑定,此时蓝牙图标每秒钟闪烁一次;1状态对应已绑定但未连接手机,此时蓝牙图标3秒钟闪烁一次;2状态表示正常已绑定已连接状态,测试蓝牙图标常态化一直显示。
  • 代码开源

本产品的相关代码已 开源 在gitee,感兴趣的童鞋,可以 戳这里 获得更多内容。

4.3 功能调试

  • 模拟调试

涂鸦 模组调试助手 是一个集成了云模组通讯协议的串口调试工具,常用于 MCU 低代码开发 方案的开发调试。模组调试助手集成了包括 Wi-Fi、蓝牙、Zigbee、NB-IoT 等云模组常用串口协议,既可以模拟模组验证 MCU 代码逻辑,也可以模拟 MCU 调试配网功能。

这个助手很好地解决了产品设计前期的快速落地验证和原型规划,也极大地方便了在实际开发过程中遇到数据通讯问题时的调试手段,可以比较快地定位和解决问题。

关于模组调试助手的详尽介绍,可以 戳这里 。

  • 设备调试

有了模拟调试的基础之后,就可以在开发过程中,进行真实设备的功能调试,这里采用的方式也是先从本地的基础数据入手,先把本地的基础数据调通,比如水温的探测、饮水量的检测、杯中水量的探测等等。

  • 联网调试

这里主要验证智能水杯的联网功能,包括与 智能生活APP的发现配对、连接,基础数据的上下行对接,智能场景联动等核心功能调试。

PS:本项目所需要开发资料和相关硬件物料可以戳 这里 .

5 产品功能展示

这里我将展示智能水杯单品的核心功能:设备发现、设备配网、设备解绑、设备绑定、设备连接/断开、基础数据的屏幕显示、人机交互的,数据的上下行,设备与智能APP的联动感应等等。

产品核心功能的完整演示视频,可以从这里进行观看,感兴趣的戳 这里 。

PS:本项目所需要开发资料和相关硬件物料可以戳 这里 .

6 产品功能拓展

由于时间投入的关系,本次开发主要集中在开发核心的功能特性上,包括基本数据的采集、数据的下发及对云端数据的响应等等。

回到最开始我规划的几个特色功能,比如 联网分析饮水数据、智能语音播报、设备共享、多人提醒互动等特色功能,将会在后续的产品开发中继续保持功能迭代,感兴趣的童鞋可以保持关注。

7 结束语

看似一个简单的智能单品,但是,从最早的产品孵化再到产品原型的设计,再到IoT云平台、硬件模块的选型,然后进行软件开发、功能调试,这一系列的内容也是需要经过不断地思考和打磨,方可把这个智能化产品真的的落地。

期间,也遇到了不少之前完全没有遇到的硬件问题、软件问题,也使用了一些以前没有调试过的传感器,问题都是一个个去解决。期间也去请教了一些IoT的da神,一些IoT相关的问题得到了比较好的解决。

另外,这里着重需要感谢的还有 涂鸦智能云平台,在这里我可以很快地创建我需要的智能单品,也可以很快地把产品原型进行落地开发,它提供了一个出色的开发者平台,有各种详尽的开发对接文档,还有技术工单等反馈渠道,这些都给了我开发这个智能单品有了更为强大的技术信心。

若对涂鸦智能云平台快速创建智能产品想了解更多信息,欢迎从 这里 得到更多了解,智能设备从这里开始!

这段开发经历对我来说,最大的收获并不是说把几个智能化的核心功能给实现了,反倒是这个智能单品的开发全流程让我学习到了不少技术以外的内容,这些对于我深入理解IoT领域提供了极大的帮助,我也相信将来会有更多优秀的智能单品从这里诞生。

最后,感谢IoT,感谢涂鸦,感谢自己;期待一同进步,一同成长。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章