那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于涂鴉IoT開發平臺的智能水杯開發實操教程

涂鴉開發者 ? 來源:涂鴉開發者 ? 作者:涂鴉開發者 ? 2022-07-13 09:05 ? 次閱讀

近年來,IoT行業迎來了一個快速發展的窗口期。隨之可見的是,越來越多的智能產品進入到了我們的日常生活中,包括隨著健康飲水熱度的攀升而進入消費者視線的智能水杯。

本項目下的智能化水杯解決方案主要針對辦公室白領和獨居老人兩類群體,主要具備以下功能:

支持自定義提醒功能;

支持智能分析一段時間內的飲水數據;

支持屏顯水容量和水溫;

支持語音播報水容量和水溫;

支持用戶人群分類;

首創關懷模式,支持子女和老人的賬戶共享,子女可通過App查看并提醒老人喝水。

一款產品的原型設計至關重要,而將產品搭在什么平臺之上,更是值得考究的問題。

國內主流的IoT開發平臺各有千秋,而涂鴉 IoT 開發平臺的最大特色是采取標準模塊化開發規則,這對于產品的開發者而言,不僅大大降低了開發門檻,還大幅降低研發成本和開發周期,快速實現產品智能化。

正是基于這種標準化開發能力,我們在涂鴉 IoT 開發平臺上看到大量的行業標品,幾乎覆蓋了我們日常所能見到的所有智能品類,這無疑給開發者們帶來了極大的便利。

涂鴉 IoT 開發平臺上豐富的開發文檔,從設備端SDK、移動端SDK,再到云端SDK的支持,對于看重二次開發的開發者是非常不錯的福音。這也正是我本次選用涂鴉 IoT 開發平臺開發這款智能水杯的主要考量。

一、智能水杯開發實操教程

整個產品開發分為硬件和軟件兩大部分。(文末可獲取開發資料和硬件物料)

在硬件部分,由于涂鴉只提供標準化的模組,并不提供具體的MCU選型以及對應傳感器相關的選型,這就需要我們在智能單品開發過程中,根據自己的實際情況,自行完成選型。

01 硬件設計

硬件選型遵循的原則應該是:

盡可能選用成熟的硬件方案;

選用的硬件型號應略高于你的功能需求,即留有冗余空間;

盡可能考慮使用易開發的組件。

主控模塊

主控模塊我選用的是開發者最容易上手的增強型STC12C5A60S2,它是單時鐘/機器周期( 1T )的單片機,是高速/低功耗/超強抗干擾的新一代 8051 單片機,指令代碼完全兼容傳統8051,但速度快8-12倍。

對比傳統的51單片機,它具有非常顯著的技術優勢:

poYBAGLNT4uATNo9AAB4B0Q8LkM228.png

藍牙通訊模塊

選用的是極具性價比的涂鴉BT3L藍牙模組,在基于藍牙的智能單品上應用非常廣泛:

pYYBAGLNT7yAAfDFAAKlo2KmG6s778.png

poYBAGLNT7yAbZuiAAKcdQ4I25c648.png

OLED顯示模塊

考慮到成本和接口設計等因素,我采用的是由 SSD1306 芯片驅動的9.6寸OLED,用以顯示水杯的基礎數據,包括當前水杯溫度、藍牙連接狀態、定時喝水提醒、倒計時、電池電量、本地計時、杯中水量、已喝水量、目標水量等等。

OLED具備自發光、無需背光源、對比度高、厚度薄、視角廣、反應速度快、可用于撓曲性面板、使用溫度范圍廣、構造及制程較簡單等優異之特性,被認為是下一代的平面顯示器新興應用技術。

pYYBAGLNT9OAY5y-AAJZrrvbOAo373.png

按鍵模塊

按鍵這部分相對比較簡單,我直接采用的是點觸式非自鎖開關;主要是配合做一些簡單的功能切換:例如短按切換屏幕開關,長按復位藍牙模組,進入配網流程等。

poYBAGLNT-qADVasAAIz6Q2VY-4414.png

溫度傳感器模塊

這里我選用的是DS18B20 數字溫度傳感器,用于測量水溫。

DS18B20輸出的是數字信號,具有體積小、硬件開銷低、抗干擾能力強、精度高等特點。此外它接線方便,封裝后可應用于多種場合。

poYBAGLNUAaAX0UDAAADzgKO9tA265.png

RTC時鐘模塊

RTC時鐘作為一個本地計時的模塊而存在,我選用的是非常經典的DS1302。它是美國DALLAS公司推出的一種高性能、低功耗、帶RAM實時時鐘電路,可以對年、月、日、周、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.0V~5.5V。

采用三線接口與CPU進行同步通信,并可采用突發方式一次傳送多個字節的時鐘信號或RAM數據。

poYBAGLNUB-AJedBAAIVuXvZlEE187.png

壓力傳感器模塊

重力/壓力傳感器主要是用于測量水杯的整體重量,通過密度、體積、質量三者的數量關系,從而得出水容量的一種方法。

這里我選用的是HX711,它是一款專為高精度電子秤而設計的24位A/D轉換器芯片,與同類型其它芯片相比,該芯片集成了包括穩壓電源、片內時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應速度快、抗干擾性強等優點。

降低了電子秤的整機成本,提高了整機性能和可靠性。該芯片與后端MCU 芯片的接口和編程非常簡單,所有控制信號由管腳驅動,無需對接芯片內部的寄存器編程。

poYBAGLNUDWAGATWAANjXqu9APk582.png

02 軟件設計

MCU主控

主控部分的軟件代碼,采用的是 STC12C5A60S2 這塊增強型的 51 單片機,它的軟件開發完全兼容傳統的 51 單片機,它的開發特點就是易上手,IO 口豐富,外設也相對豐富,基本滿足我需要的功能需求。

在這個項目,我主要使用它的以下幾個部分:定時器、雙串口(一個串口日志調試、另一個串口與藍牙通訊)、ADC、標準的GPIO、E2PROM等。

至于其他幾個外設傳感器,均采用GPIO做通訊協議的模擬

藍牙通訊

藍牙通訊這部分的軟件代碼其實分為兩部分:藍牙模組的固件代碼和MCU側對接藍牙模組的軟件代碼。

由于我是在涂鴉 IoT 開發平臺上直接創建產品,模組直接選用涂鴉提供的標準藍牙模組,所以藍牙模組的固件代碼,我是不用開發的,而需要開發的僅僅是通過簡單的串口協議跟藍牙模塊就能夠對接起來。

類似下邊這張圖的左半部分所展示的這樣(涂鴉叫 “MCU低代碼開發”):

pYYBAGLNUE6AUCfSAACuPupj-Ms195.png

涂鴉MCU側的SDK移植

在涂鴉 IoT 開發平臺上創建了智能單品后,平臺會自動創建對應的 MCU 側參考SDK,將對應產品的功能屬性、物模型數據都固化在里面了,并且 SDK 內部已經很好地實現了 MCU 和藍牙模組的對接,當收到藍牙模組的數據傳遞時,會自動進行處理。

在適配的過程中,只需要根據 SDK 包中的參考文檔,將 MCU 側幾個核心的跟串口收發的接口適配好后,整個藍牙模組的通訊功能就可以跑起來了。

這時,通過SDK包中的mcu_api.h的接口就可以實現對藍牙模組的各種操作了。

poYBAGLNUGqAQCXJAAJ8aOehfXY357.png

基礎外設按鍵觸發

為了便于處理,本項目中采用簡單的 GPIO 以實現單點按鍵的功能;同時,為了對應實現單個按鍵短按和長按的不同功能,在按鍵處理代碼中,增加了按鍵狀態機的處理模型,有效地區分兩者狀態。

OLED 顯示

OLED 采用的是 I2C 串行數據協議,考慮到 GPIO 的分布,本項目采用的是 GPIO 軟件模擬 I2C 洗衣的方式。

通過對不同寄存器的讀寫封裝,可以實現對 OLED 區域的顯示;同時配合字模制作軟件,可以生成中文字模以及自定義各式各樣的圖形和符號,極大地方便了顯示的多樣性。

poYBAGLNUISAKWa1AAJRSg9liuA789.png

溫度傳感器測溫

DS18B20 溫度傳感器采用的是單數據線串行協議,通過切換單數據線的電平,實現對溫度信息的采集,經過合理的轉換運算后,得到一個比較精確的水杯溫度值,用于展示在顯示屏上。

poYBAGLNULSAKufPAAIJ5JXbpgQ965.png

壓力傳感器測水容量

壓力傳感器用于檢測水的容量,這是一個間接的測量方法,先通過壓力(重力)傳感器測得不同水容量下的重量,得出不同容量下的重量分布表;

在真正的測量中,將取得的重量數據對照水容量表格,大致可以得出對應的水容量,從而做水量的數據展示。

pYYBAGLNUMmAN0swAAIaUr0H0TA302.png

RTC本地時鐘

RTC時鐘,采用的是自定義的串行數據協議,通過RST、IO、SCK三線的變化,可以準確地實現對RTC時鐘的讀和寫;同時該模塊是采用紐扣電池長供電的,所以可以長時間保持時鐘的有效性。

pYYBAGLNUN6AA-mEAAJBpqYKuXs285.png

電池電量檢測

本產品由鋰電池或干錳電池供電,借助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 電壓和鋰電池的降壓特性,初步得出當前的電量百分比,隨后送到屏幕展示。

基礎的應用邏輯

這里的基礎應用邏輯有包括以下幾點:

1、設備復位和配網

當按鍵長按3秒以上,則觸發藍牙設備的解綁,所有本地數據都將復位到默認值,同時藍牙設備再次發起廣播,等到手機 App 自動發現,再發起后續的設備配網操作。

2、飲水提醒

當手機 App 端下發的飲水提醒時間已到,則整個 OLED 屏幕開始1秒鐘開滅一次,直到檢測到一次新的喝水動作。

3、飲水動作的檢測

當水杯水容量,前后的變化銳減 20ml 以上,則認為是一次有效的喝水動作,此時,已喝水量會增加對應的喝水量,同時喝水次數會加1,且會上報一次全量數據。

4、本地數據定時上報

本地的數據,每隔 5 秒鐘會觸發上報,同時觀察手機App,即可看到數據的變化。

5、藍牙連接狀態顯示

總共有3種狀態:

0狀態對應的是設備未綁定,此時藍牙圖標每秒鐘閃爍一次;

1狀態對應已綁定但未連接手機,此時藍牙圖標3秒鐘閃爍一次;

2狀態表示正常已綁定已連接狀態,此時藍牙圖標常態化顯示。

本產品的相關代碼已開源,感興趣的童鞋,可以 [復制下方鏈接]獲取:https://gitee.com/recan-li/smart-cup

03 功能調試

模擬調試

涂鴉模組調試助手是一個集成了云模組通訊協議的串口調試工具,常用于 MCU 低代碼開發方案的開發調試。

模組調試助手集成了包括 Wi-Fi、藍牙、ZigbeeNB-IoT 等云模組常用串口協議,既可以模擬模組驗證 MCU 代碼邏輯,也可以模擬 MCU 調試配網功能。

這個助手很好地解決了產品設計前期的快速落地驗證和原型規劃,也極大地方便了在實際開發過程中遇到數據通訊問題時的調試手段,可以比較快地定位和解決問題。

pYYBAGLNUQaAAvtEAAGHp215ZaU767.png

設備調試

有了模擬調試的基礎之后,就可以在開發過程中,進行真實設備的功能調試,這里采用的方式也是先從本地的基礎數據入手,先把本地的基礎數據調通,比如水溫的探測、飲水量的檢測、杯中水量的探測等等。

poYBAGLNUR-AJ6j7ABHKs5WLBL8543.png

聯網調試

這里主要驗證智能水杯解決方案的聯網功能,包括智能生活App的配網、基礎數據的上下行對接、智能場景聯動等核心功能調試。

產品功能拓展

由于時間投入的關系,本次開發主要集中在開發核心的功能特性上,包括基本數據的采集、數據的下發及對云端數據的響應等等。

回到最開始我規劃的幾個特色功能,比如聯網分析飲水數據、智能語音播報、設備共享、多人提醒互動等特色功能,將會在后續的產品開發中繼續保持功能迭代,感興趣的童鞋可以保持關注。

說在最后:

看似一款簡單的智能單品,從最早的產品孵化到產品原型的設計,再到 IoT 開發平臺、硬件模塊的選型,然后進行軟件開發、功能調試,一系列的過程需要不斷地思考、驗證和打磨,直到最終落地。

這段開發經歷于我而言,最大的收獲并不是說把幾個智能化的核心功能給實現了,而是通過整個過程對IoT領域有了更深刻的認知。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17321

    瀏覽量

    352650
  • 智能水杯
    +關注

    關注

    1

    文章

    17

    瀏覽量

    6249
  • 涂鴉
    +關注

    關注

    0

    文章

    14

    瀏覽量

    4200
收藏 人收藏

    評論

    相關推薦

    Keil5編程實例之基于涂鴉IoT平臺快速開發智能風扇

    本教程采用 Keil5 進行編程,基于涂鴉 IoT 平臺和三明治 BLDC 功能板,介紹如何快速開發一款安全性強的智能風扇的原型。
    發表于 01-06 16:28 ?3701次閱讀

    涂鴉T2-U開發板試用體驗】涂鴉T2-U開發板初體驗

    ,推薦大家下載使用: 更多資料可見開發者社區: 開發板信息: 涂鴉 T2-U 開發板-涂鴉 IoT
    發表于 12-22 10:59

    【沙龍】基于MDM9206芯片的GoKit4(G)的應用

    對植物生長環境的監控,并實現對相關監控數據到云端的上傳、存儲及分析。參加者請自備筆記本及智能手機,活動現場將提供實驗所用的IoT開發套件,請仔細閱讀頁面下方的參會必備(即
    發表于 08-24 17:55

    涂鴉智能 Arduino 官方庫,發布了!

    我們秉承擁抱開源的態度,開發并上線了首版涂鴉 Arduino 官方庫。為什么使用涂鴉庫(涂鴉開發平臺
    發表于 05-21 17:11

    涂鴉標準模組MCU SDK開發流程 精選資料推薦

    MCU SDK 是根據涂鴉 IoT 開發平臺定義的產品功能,自動生成的 MCU 代碼。目前主要支持的MCU有STM32、51單片機、Arduino。為了減少
    發表于 07-20 06:28

    基于mcu+nbiot的涂鴉智能平臺設計

    點)4、設置設備面板(直接選用一個現成的)5、下載資料(跟創建的設備是一一對應關系)工具軟件準備1、下載涂鴉模組調試助手(選擇nbiot通用協議)硬件準備一塊涂鴉智能平臺提供的nbio
    發表于 11-01 07:21

    涂鴉IOT平臺開發流程是怎樣的

    文章目錄沁恒MCU介紹概述系統框圖概述涂鴉IOT開發平臺一、pandas是什么?二、使用步驟1.引入庫2.讀入數據總結問題描述:原因分析:解決方案:沁恒MCU介紹概述CH32V103系
    發表于 11-24 06:48

    基于涂鴉智能的寵物喂食器的設計資料分享

    基于涂鴉智能的寵物喂食器一、開發計劃二、涂鴉三明治開發套件涂鴉三明治 Wi-Fi MCU 通信板
    發表于 02-08 07:46

    利用涂鴉IoT平臺改進帶涂鴉智能的物聯網心率 (BPM) 監測和追蹤器

    IoT 平臺,因為它可以讓我開發一個兼容各種操作系統的移動應用程序接口,并將信息保存到涂鴉云,以跟蹤脈搏血氧儀傳感器產生的數據。在接下來的步驟中,我將詳細解釋我是如何利用
    發表于 07-22 07:18

    一份基于物聯網云平臺的新型智能水杯設計方案

    1、一款基于物聯網云平臺的新型智能水杯設計在國內主流的IoT平臺有阿里云平臺、騰訊云
    發表于 08-24 15:57

    涂鴉T2-U開發板試用體驗】開發者注冊&產品固件下載

    固件開發及IDE工具使用過程中都需要使用到。 首先訪問涂鴉iot平臺地址(網址:https://iot.tuya.com/ ),沒有賬號可以
    發表于 12-17 23:03

    IoT智能】一款基于涂鴉智能IoT平臺的新型智能藍牙水杯

    IoT智能單品設計】一款基于涂鴉智能IoT平臺的新型智能
    的頭像 發表于 08-21 12:04 ?2749次閱讀
    【<b class='flag-5'>IoT</b><b class='flag-5'>智能</b>】一款基于<b class='flag-5'>涂鴉</b><b class='flag-5'>智能</b><b class='flag-5'>IoT</b>云<b class='flag-5'>平臺</b>的新型<b class='flag-5'>智能</b>藍牙<b class='flag-5'>水杯</b>

    一鍵解鎖涂鴉IoT開發平臺年度服務報告,邀您共同開啟IoT新篇章

    過去的一年,世界瞬息萬變,全球化IoT開發平臺服務商涂鴉智能(NYSE:TUYA,HKEX:2391)始終堅守,與全球
    的頭像 發表于 02-13 11:36 ?537次閱讀
    一鍵解鎖<b class='flag-5'>涂鴉</b><b class='flag-5'>IoT</b><b class='flag-5'>開發</b><b class='flag-5'>平臺</b>年度服務報告,邀您共同開啟<b class='flag-5'>IoT</b>新篇章

    涂鴉開發者大會即將開幕,賦能開發者打造IoT發展新引擎

    6月29日,首場TUYA開發者大會將在深圳拉開序幕!?????TUYA開發者大會是涂鴉繼全球智能化商業峰會、全球硬科技開發者大會后,面向全球
    的頭像 發表于 06-12 10:15 ?733次閱讀
    <b class='flag-5'>涂鴉</b><b class='flag-5'>開發</b>者大會即將開幕,賦能<b class='flag-5'>開發</b>者打造<b class='flag-5'>IoT</b>發展新引擎

    涂鴉開發平臺支持三方 IoT 平臺平滑遷移部署

    的設備端、邊緣端、云平臺端、應用端、用戶運營端完美融合的涂鴉IoT開發平臺涂鴉擁有十年全球
    的頭像 發表于 12-30 08:15 ?1093次閱讀
    <b class='flag-5'>涂鴉</b><b class='flag-5'>開發</b>者<b class='flag-5'>平臺</b>支持三方 <b class='flag-5'>IoT</b> <b class='flag-5'>平臺</b>平滑遷移部署
    百家乐官网存1000送| 百家乐平台要多少钱| 女神国际娱乐城| 百家乐网盛世三国| 狮威百家乐官网娱乐场| 澳门赌场攻略| 威尼斯人娱乐城送宝马| 百家乐试玩全讯网2| 百家乐官网折叠桌| 大发888 登陆不上| 电脑百家乐玩| 百家乐娱乐人物| 网络百家乐官网模拟投注| 大发888可靠吗| 澳门百家乐赌技巧| 开心8百家乐娱乐城| 百家乐官网第三张规则| 百家乐官网缆法排行榜| 本溪市| 贺州市| 总统娱乐城能赢钱吗| 威尼斯人娱乐城地址lm0| 百家乐投注程式| 百家乐稳一点的押法| 五张百家乐官网的玩法技巧和规则 | 免费百家乐缩水软件| 百家乐游戏下载| 百家乐之对子的技巧| 百家乐的破解方法| 2024年九宫八卦吉位| 百家乐官网长t恤| 利博百家乐官网破解| 真人百家乐官网澳门娱乐城| 加州百家乐官网娱乐城| 百家乐官网的必胜方法| 皇冠网h| 宁河县| 百家乐官网赢钱秘密| 怀远县| 谈谈百家乐官网赢钱技巧| 澳门百家乐官网是怎样赌|