【案例教程】【TinkerNode NB-IoT物聯網開發板】戶外水質監測項目

2021-02-19 DF創客社區

【點擊上方「藍字」關注DF,一起成為技術顏控!】

Hello,大家好。通過之前項目的學習,相信大家已經大致了解了阿里雲平臺的使用方法以及TinkerNode的基本功能。這次將製作一個遠程採集水質參數的裝置,它可以用來採集湖水的溫度、pH、TDS值以及設備電量,並使用TinkerNode開發板的NB-IoT功能,將數據上傳至阿里雲平臺。


項目的主要目的:


①熟悉阿里雲IoT平臺的使用方法;

②通過戶外水質監測項目,進一步了解TinkerNode,了解板載NB-IoT模組功能;
③了解NB-IoT的使用場景,調試並搭建一個戶外水質監測的原型。

項目視頻


為了方便大家進行學習,我們為大家提供了視頻版本的項目教程,會在近期更新。

元器件清單


本次項目用到的元器件清單如下:

TinkerNode NB-IoT開發板 x1

TinkerNode Gravity IO擴展板 x1

Gravity:I2C ADS1116 16位ADC模塊 x1

DC - DC 直流升壓模塊 x1

Gravity:模擬量隔離模塊x1

Gravity:模擬PH計 x1

Gravity:模擬TDS傳感器 x1

Gravity:DS18B20數字防水溫度傳感器套件 x1

3.7V鋰電池 x1

3.7V鋰電池電量計 x1

太陽能板5V 1A x1

USB轉接模塊 x1

Ps:所使用到的USB轉接模塊是X寶上購買的,如下圖所示,由於DF沒有這款產品,大家可以自行購買。


1、項目相關功能介紹

低功耗

由於本次項目所製作的設備是在戶外使用,且設備工作環境不易拉電,為了使設備在戶外的工作時間更久,就需要設備儘可能的減少電量的消耗。而TinkerNode物聯網開發板板載的NB-IoT模組可以藉助 PSM(Power Saving Mode,節電模式)和 eDRX(Extended Discontinuous Reception,超長非連續接收)實現更長待機。接下來讓我們來了解一下NB-IoT的低功耗功能。


如上圖所示,可以看到NB-IoT設備在進入PSM低功耗狀態時會涉及三種狀態,分別是Connected State連接狀態、Idle State空閒待機狀態和PSM State 低功耗狀態。當設備嘗試從Connected State進入PSM State時,會激活兩個定時器,T3324和T3412。其中,定時器T3324決定了Idle State的時間,T3412決定了兩次Connected State之間的時間。也就是說,當定時器T3324超時後,設備將進入PSM State;當定時器T3412超時後,設備將退出PSM State,進入下一個Connected State,如此循環。

太陽能

為了使設備可以在戶外工作的時間更久,除了需要藉助PSM來降低設備的功耗外,還需要使用TinkerNode集成的太陽能電源管理模塊,外接5V的太陽能板,在陽光充足時,給外接的3.7V鋰電池充電。


Data Logger

TinkerNode將多餘的Falsh空間轉化為一個8MB大小的U盤,可以進行數據的離線存儲。在本次項目中,為了避免網絡連接不穩定導致數據丟失的情況,我們就可以在數據上傳到雲端時,將數據同時備份在TinkerNode的板載U盤中。

2、阿里雲平臺配置
新建項目

和之前的教程相同,我們首先需要在阿里雲平臺中新建一個項目,然後為項目創建產品和設備,配置產品自定義功能(物模型)。
在物聯網平臺的頁面左側,選擇IoT Studio -> 項目管理,點擊新建項目,新建一個空白項目,項目名稱為「水質監測」,如下圖所示。

創建完成後,我們會進入「水質監測」項目的管理頁面,如下圖所示。


新建產品

在項目管理頁面左側的功能欄點擊產品,在彈出的產品頁面中選擇新建產品,如下圖所示。

產品的名稱填寫「KnowFlow」,所屬品類選擇「自定義品類」,其他選項默認,如下圖所示。

完成後點擊保存,此時已經在項目下創建了一個名為「KnowFlow」的新產品。

功能定義

接下來,我們需要為產品添加功能,也叫作定義產品的「物模型」,物模型創建的過程就是通過協議描述產品的功能,定義產品有幾組傳感器數據,有什麼控制功能,數據的類型是什麼。
點擊「KnowFlow」產品後的查看,進入產品的管理頁面,如下圖所示。

選擇功能定義 -> 自定義功能 -> 添加自定義功能 ,如下圖所示。

本次項目中,需要採集溫度、pH以及TDS三種水質參數,另外還需要採集電池電量的百分比,所以我們需要創建四個自定義功能(物模型),相關設定參數按照下表填寫:

序號

功能名稱

標識

數據類型

取值範圍

步長 

單位 

溫度 

Temp 

float

-40~55 

0.1 

攝氏度 

2

pH值 

PH 

float

0~14 

0.1 

無 

TDS值 

Tds 

int32

0~1000 

百萬分率/ppm 

電池電量 

Precentage 

int32

0~100 

百分比/% 

創建完成後,產品的功能定義界面效果如下圖所示。


新增設備

完成了產品的功能定義之後,接下來我們為產品建立一個設備,這樣我們就可以將由TinkerNode搭建的水質監測設備連接到阿里雲平臺了。
在項目管理頁面左側的功能欄點擊設備,在彈出的設備頁面中選擇新增設備,如下圖所示。

在彈出的窗口中,產品選擇「KnowFlow」,添加方式選擇自動生成,設備數量填寫1,點擊提交,創建完成後如下圖所示。


3. 硬體相關配置硬體連接


按照上圖進行硬體連接。Ps:如果該圖看不清楚,可以到文章最下方「閱讀原文」查看。

pH計校準

本次項目中使用到了Gravity:模擬pH計,按照產品wiki,我們需要進行校準操作。

pH使用注意事項:

請使用外接開關電源,使電壓儘量接近+5.00V,電壓越準,精度越高!

電極在每次連續使用前均需要使用標準緩衝溶液進行校正,為取得更正確的結果,環境溫度最好在25℃左右,已知PH值要可靠,而且其PH值愈接近被測值愈好。如您測量的樣品為酸性,請使用pH4.00的緩衝溶液對電極進行校正,如果您測量的樣品為鹼性,請使用pH9.18緩衝溶液對電極進行校正。分段進行校準,只是為了獲得更好的精度。

pH電極每測一種pH不同的溶液,都需要使用清水清洗,建議使用去離子水清洗。

為保證測量精度,建議使用校準液對pH計定期校準,以防止出現較大誤差。一般半年校準一次,如果測量的溶液中含有較多雜質,建議增加校準次數!

pH計的校準步驟:

(1)將各個設備按照圖示方式連接,即:pH電極連接到pH meter電路板的BNC接口,然後用模擬連接線,將pH meter電路板連接到Arduino主控器的模擬口2。對Arduino主控器供電後,可以看到pH meter電路板的藍色指示燈變亮。

(2)對Arduino主控器燒寫校準樣例代碼。

代碼詳情參考點擊」閱讀原文「

(3)將pH電極插入到pH值為7.00的標準溶液中,或者直接短接BNC接口的兩個輸入,打開Arduino IDE的串口監視器,可以看到當前列印出的pH值,誤差不會超過0.3。記錄下此時列印的值,然後與7.00相比,記錄此時的差值,在後續的步驟中,需要把差值修改到程序中的Offset處(差值 = 標準值(7.0) - 列印值)。比如,列印出的pH值為6.88,則差值為0.12,則在樣例程序中把#define Offset 0.00改成#define Offset 0.12。

(4)將pH電極插入pH值為4.00的校準液中,等待一分鐘後,調整增益電位器,使列印出的pH值儘量穩定在4.00左右。此時,酸性段校準已經完成,您可以測試酸性溶液的pH值。

注意:測量其他溶液時,必須清洗電極。

(5)依靠pH電極自身的線性特性,經過以上的校準,可以直接測量鹼性溶液的pH值,但如果您想獲得更好的精度,建議重新校準。鹼性段校準採用pH值為9.18的標準液,同樣是調節增益電位器,使之穩定在9.18左右。經過校準,此時您可以測量鹼性溶液的pH值了。


代碼調試

下載附件中的庫文件,安裝至Aruidno IDE中。點擊查看如何安裝庫文件?

下載附件NB_Project2.ino,打開項目代碼,根據阿里雲的配置和pH計的校準參數,修改代碼中對應的參數。

①阿里雲相關配置
需要將阿里雲中的配置信息,在代碼中做對應的修改。

在設備頁面查看設備證書信息,填寫在代碼中對應位置。

//配置證書信息
String ProductKey = "Your_Product_Key";
String ClientId = "12345";
String DeviceName = "Your_Device_Name";
String DeviceSecret = "Your_Device_Secret";

在產品頁面查看功能標識符,填寫在代碼中對應位置。

//配置產品標識符
String TempIdentifier = "Your_Temp_Identifier";
String PHIdentifier = "Your_ph_Identifier";
String TDSIdentifier = "Your_TDS_Identifier";
String GaugeIdentifier = "Your_batGauge_Identifier";

在設備管理頁面,查看物模型topic信息,填寫在代碼中對應位置。

//需要發布和訂閱的TOPIC
const char * subTopic = "Your_sub_Topic";//****set
const char * pubTopic = "Your_pub_Topic";//******post

②ph計校準數據配置

將剛剛校準時記錄的offset參數,填寫至下列代碼中。比如,列印出的pH值為6.88,則差值為0.12,則在樣例程序中把#define Offset 0.00改成#define Offset 0.12。

#define Offset 0.00            //deviation compensate

該行代碼位置如下圖所示。


③低功耗喚醒時間配置
項目使用了低功耗的功能,可以通過調整代碼中的參數,修改設備的喚醒時間。

//#define TIME_TO_SLEEP_SECOND  10         /* Time ESP32 will go to sleep (in seconds) */
#define TIME_TO_SLEEP_MINUTE  5         /* Time ESP32 will go to sleep (in mimutes) */

低功耗喚醒間隔設置有兩種模式,分別是分鐘設置和秒設置。樣例中使用的是分鐘模式,默認設定時間為5分鐘。為了方便測試,大家可以任意修改。

該代碼位置如下圖所示。


全部配置完成後,將代碼上傳至TinkerNode物聯網開發板中,就可以在阿里雲平臺上查看相應的數據信息了。

硬體購買請戳👆

大家有什麼想法,歡迎下方留言

歡迎大家點擊閱讀原文,到社區論壇查看更多有趣內容!

相關焦點

  • 5G NB-IoT中國連接數破億,DFRobot推出TinkerNode系列開發板助推...
    中新網上海新聞4月13日電 2020年4月,開源硬體和創客教育供應商DFRobot(上海智位機器人)發布新品TinkerNode系列物聯網開發板
  • 為什麼很多人選擇NB-IOT實現定位功能?NB-IOT優勢有哪些?
    在無線通信領域,nb-iot技術的應用十分廣泛。企業和個人使用nb-iot技術和nb-iot設備的可靠性和快速連接性來逐步改變技術系統,並通過與網際網路的連結實現智能世界。 nb-iot即窄帶物聯網。在nb-iot模塊中,許多設備通過傳感器相互連接。
  • NodeMCU系列教程一:ESP8266和物聯網神器NodeMCU
    之前為小編介紹過「Micro:Bit」,今天我們就來聊聊時下很火的ESP8266和物聯網神器NodeMCU。 從Arduino上網說起 後來物聯網和智能硬體概念開始熱銷,BLE及相關技術日趨成熟,成本下降,但WiFi在功耗、成本和可擴展性上都沒有太大的突破。作為開源硬體的玩家,如果項目涉及WiFi,你的選擇餘地並不多:那些跑Linux+無線網卡的平臺,如樹莓派、WRTnode之流;或者如上述Arduino開外掛W5100+TP-LINK 的思路。
  • nb-iot遠傳水錶功能技術參數介紹
    nb-iot遠傳水錶採用我司直讀水錶為計量基礎,通過NB-IOT窄帶蜂窩物聯網進行物聯,實現對水錶使用水量的自動遠程抄表。它能有效地避免了管理部門上門抄表,具備閥門控制功能。方便管理部門對水錶的用水情況進行控制,使得遠程抄表及控制變得更便捷、可靠。
  • nb-iot技術標準_nb-iot關鍵技術有哪些(是什麼)
    一、NB-IoT技術的背景   1、物聯網通信技術分類   物聯網通信技術有很多種,從傳輸距離上區分,可以分為兩類:   一類是短距離通信技術,代表技術有Zigbee、Wi-Fi、Bluetooth、Z-wave等,典型的應用場景如智能家居
  • 窄帶物聯網(NB-IoT)技術構架圖
    窄帶物聯網(NB-IoT)技術被廣泛應用到農業、工業、政府和生活當中,那麼窄帶物聯網(NB-IoT)技術的架構圖是什麼?一、NB-IoT技術構架圖典型的窄帶物聯網架構為三層,分別是感知層、網絡層、應用層。
  • 【鴻蒙開發板試用報告】OneNet平臺+開發板實時監控溫溼度(一)
    【鴻蒙開發板試用報告】OneNet平臺+開發板實時監控溫溼度(一) OneNET是由中國移動打造的PaaS物聯網開放平臺。平臺能夠幫助開發者輕鬆實現設備接入與設備連接,快速完成產品開發部署,為智能硬體、智能家居產品提供完善的物聯網解決方案。
  • LoRa和NB-IoT有什麼區別?LoRa的優勢在哪些方面?
    今年4月,阿里雲宣布基於LoRa器件與無線射頻技術的物聯網平臺已開始試商用。 騰訊則是把重點都放在LoRaWAN技術和應用方面的相關投資。2018年7月,騰訊還宣布計劃與合作夥伴在深圳共同建立一個LoRaWAN網絡,目的是為城市、金融、醫療、零售和工業等提供智慧解決方案。
  • NB-IoT技術是未來發展趨勢,物聯網創業者有什麼機會?
    作為智能界喜歡刷自媒體的我,一直也是關注NB-iot相關動態,自然是不會錯過這個問題。回答這個問題之前,先來看看現在很火的NB-iot技術有哪些優勢。NB-IoT,英文全稱是Narrow Band Internet of Things,窄帶物聯網。
  • DK_IOT100物聯網套件參加第二屆上海CIEE展覽會
    DK_IOT100物聯網開發套件採用模塊化的組合方式,便於各高校應用於課程創新、電子競賽及科研項目等方面。該產品配套資料中還提供了開發套件的研發工程師在整個研發過程中所收集和整理的物聯網技術資料及研發心得。該產品提供了全面的物聯網技術應用的實驗指導書、例程源碼及硬體原理圖,方便學生深入的學習和掌握物聯網技術。
  • 「2018物聯之星」評選活動獲獎名單正式揭曉!2019中國物聯網CEO...
    「2018物聯之星-中國物聯網產業年度評選」活動是由中國物聯網產業應用聯盟主辦,物聯傳媒承辦,聯合各地物聯網兄弟協會聯合擔當組委會成員的一項行業公益性評選。首屆「物聯之星」評選活動源於2008年,至今已有11年歷史,因其公正公平性對行業影響力極大,因而被行業稱為物聯網行業的奧斯卡獎。
  • 2020年全國大學生物聯網設計競賽大幕拉開,新大陸賽題等你Pick
    大賽簡介「全國大學生物聯網設計競賽」 是由教育部高等學校計算機類專業教學指導委員會和物聯網工程專業教學研究專家組共同發起,以促進國內物聯網相關專業建設和人才培養為目標,以物聯網技術為核心,激發物聯網相關專業學生的創造、創新、創業活力,推動高校創新創業教育而舉辦的面向大學生的學科競賽
  • NB-IoT(窄帶物聯網)是什麼?NB-IoT主要有哪些應用?
    窄帶物聯網(Narrow Band Internet of Things, NB-IoT)成為萬物網際網路的一個重要分支。NB-IoT構建於蜂窩網絡,只消耗大約180KHz的帶寬,可直接部署於GSM網絡、UMTS網絡或LTE網絡,以降低部署成本、實現平滑升級。
  • iot物聯網智能鎖 nb - CSDN
    ofo於今年7月份率先開始把全新智能鎖投放市場,更關鍵的是ofo的智能鎖是NB-IoT新一代物聯網智能鎖,是全球首家完成研發並投放市場的共享單車企業。誰在競爭中以最快的速度以最好的性價比給用戶最好的體驗,誰將贏得世界。
  • 新天科技:中標2572.67萬元NB-IoT物聯網智能水錶項目
    原標題:新天科技:中標2572.67萬元NB-IoT物聯網智能水錶項目   新天科技
  • 智匯華雲:2019前端戰略規劃之物聯網IOT
    物聯網通過智能感知、識別技術與普適計算等通信感知技術,廣泛應用於網絡的融合中,也因此被稱為繼計算機、網際網路之後世界信息產業發展的第三次浪潮。華雲數據「智匯華雲」專欄將為您奉上「2019前端戰略規劃」系列文章,本期將為您講解2019前端戰略規劃之物聯網IOT。
  • 物聯網時代來臨,優質 IoT/邊緣計算項目推薦
    物聯網是新一代信息技術的重要組成部分,也是信息化時代的重要發展階段。其英文名稱是「Internet of Things(IoT)」。顧名思義,物聯網就是物物相連的網際網路。同時伴隨著物聯網而來的,就是各種概念和各種技術,其中一個就是邊緣計算。邊緣計算,是一種分散式運算的架構。
  • NB-IOT基站到底是什麼?一文解讀NB-IOT物聯網平臺如何工作
    IOT連接管理平臺的功能:提供對各種傳感器、SIM卡的數據採集、管理功能,同時可以把數據開放給第三方應用系統,讓各種應用能快速構建自己的物聯網業務。  北向應用:開發者自行開發的服務端應用(基於華為OceanConnect物聯網平臺提供的RESTful接口)。  NB-IoT:這不用解釋了吧,窄帶物聯網,華為等公司主推的物聯網通訊用蜂巢網絡。  NB-IoT晶片/模組:類似於3G/4G通信模組,將設備端數據打包發送到指定平臺的硬體模塊。
  • NB-IoT物聯網智能水錶,讓「查水錶」成為歷史
    如今,各大水司的招標,大部分都指定採用NB-IoT網絡技術,促使NB-IoT物聯網智能水錶的採購和安裝部署突破千萬連接。 隨著智慧水務建設的推進以及NB-IoT物聯網技術的發展,我國水錶行業也與時俱進的迎來變革,向著NB-IoT智能水錶及應用系統方面調整與轉型,實現了從傳統的機械水錶到NB-IoT物聯網智能水錶的應用。 NB-IoT技術是物聯網領域一個新興技術,具有支持海量連接、深度覆蓋、低功耗、低成本等優點。
  • 做物聯網項目無從入手?這裡有靈感+課程
    物聯網應用層關鍵技術的介紹0.5物聯網方案示例 示例方案介紹了解示例方案示例框架示例案例示例傳感器示例網網關0.5示例方案實踐體驗示例方案的使用組裝設備網關和傳感器入網配置安裝部署及注意事項學習物聯網方案系統構成小組形式參與多個實戰環節,累積項目經驗