資料介紹
描述
所以,我一直渴望在家里做一個小小的 IoT 項目。我做的最后一件事是一個小小的“信息輻射器”告訴我們公共汽車離開之前還有多長時間(這里)。現(xiàn)在我想做一些有趣和有用的事情。
所以在我們家的地下室里,我們有一個地?zé)峁┡谩?/font>當(dāng)水變暖并在泵內(nèi)膨脹時,它必須處理它。我們地窖的那部分沒有地漏,所以它把水排到一個罐子里。當(dāng)它滿了我會清空它然后放回去。
為了讓我不必定期檢查它是否已滿,我整理了以下解決方案。當(dāng)水位達到某個閾值時,我應(yīng)該會收到一條短信,告訴我時間到了。
使用的零件
所需零件
1 Particle Photon 微控制器- 一個 arduinoish 微控制器,芯片上有 wifi 和周圍一些簡潔的云服務(wù),如果你愿意,你可以使用,我認(rèn)為他們讓我的解決方案有點更容易,所以我使用了他們的云。我家里有一個。
1用于 arduino 的水傳感器- 根據(jù)水位返回不同電壓的便宜簡單的東西。
1 個particle.io帳戶 - 用于設(shè)置 webhooks
Particle CLI 工具?——用它來注冊 webhook 并從設(shè)備獲取數(shù)據(jù)。所以你可能沒有它也能繼續(xù),但我將在本文中使用它。
帶 4 根導(dǎo)線的模塊電纜- 你可以使用任何電纜,我從早期的項目中得到了這種電纜。
焊接裝置 - 您可能可以在不使用夾具或?qū)嶒炇铱缃与娎|的情況下使其工作。
不需要但使用過的零件
實驗板 - 您可以使用面包板或?qū)㈦娋€焊接到引腳和其他電線上。
PBC 連接器 - 同樣,您可以將其焊接到引腳上。
收縮管 - 我曾經(jīng)固定一些業(yè)余焊接。
拉鏈領(lǐng)帶 - 只是為了把一些東西放在一起
構(gòu)建硬件
我實際上使用 Arduino Uno、面包板和一些跨接電纜證明了這個概念。但是當(dāng)我開始制作“真正的東西”時,我開始將電纜的連接器焊接到水傳感器上。跟蹤顏色!我用紅色表示電源,黑色表示接地,綠色表示信號(信號根據(jù)水位提供不同的電壓)。然后我穿上一些收縮塑料來固定焊接。
![poYBAGOjtfGAF6mdAACfoEZT6GE73.jpeg](https://file.elecfans.com/web2/M00/85/71/poYBAGOjtfGAF6mdAACfoEZT6GE73.jpeg)
我決定在原型電路板上放置一個 PBC 連接器,這樣我就可以簡單地更改用于水位傳感器的電線的長度或類型。
![poYBAGOjtfSAeToKAAEGO2TNTvc68.jpeg](https://file.elecfans.com/web2/M00/85/71/poYBAGOjtfSAeToKAAEGO2TNTvc68.jpeg)
所以要澄清布局:
![pYYBAGOjtfmAGh2JAADV5GRfGys70.jpeg](https://file.elecfans.com/web2/M00/85/F9/pYYBAGOjtfmAGh2JAADV5GRfGys70.jpeg)
這是我第一次看到粗略的原型。
![pYYBAGOjtfyAVKVJAAD_MOfMFWk272.png](https://file.elecfans.com/web2/M00/85/F9/pYYBAGOjtfyAVKVJAAD_MOfMFWk272.png)
我讓它看起來更精致了一點。
![poYBAGOjtgKAexjVAAGBl4FUqRk17.jpeg](https://file.elecfans.com/web2/M00/85/71/poYBAGOjtgKAexjVAAGBl4FUqRk17.jpeg)
![pYYBAGOjthCAa6uGAAHSGqxIyLc41.jpeg](https://file.elecfans.com/web2/M00/85/F9/pYYBAGOjthCAa6uGAAHSGqxIyLc41.jpeg)
軟件
所以這個解決方案中有幾個部分。由于 particle.io 有云服務(wù)與他們的設(shè)備一起工作,并且 particle.io 上提供了SDK 。我選擇使用它而不是直接從 Particle Photon 到 Twilio 進行 HTTP 調(diào)用,以更快地完成它。下面是解決方案的概述。
![poYBAGOjthKAKdJKAABOajc2HqY163.png](https://file.elecfans.com/web2/M00/85/71/poYBAGOjthKAKdJKAABOajc2HqY163.png)
設(shè)置 Twilio
首先,您需要在https://www.twilio.com/上設(shè)置一個 twilio 帳戶。登錄后,您需要存入一些錢才能使用 Twilio。然后你需要獲得一個啟用短信的電話號碼。
![poYBAGOjtheAXJXJAABPuUDLWzg894.png](https://file.elecfans.com/web2/M00/85/71/poYBAGOjtheAXJXJAABPuUDLWzg894.png)
您需要您的 twilio number 、accounted sid和auth token 。
![pYYBAGOjthmAUHMbAAAsgAg0hg0903.png](https://file.elecfans.com/web2/M00/85/F9/pYYBAGOjthmAUHMbAAAsgAg0hg0903.png)
創(chuàng)建 Webhook
現(xiàn)在,當(dāng)我們要在我們的 Particle.io 帳戶中創(chuàng)建一個 webhook 時,我們將使用 Twilio 信息。粒子 webhook 是一種云服務(wù),充當(dāng)粒子與世界其他地方之間的橋梁。Particle SDK 為這些提供了很好的實用程序抽象。所以你在你的代碼中所要做的(我們稍后會看到)就是調(diào)用Particle.publish(“webhook-name”, “message”, 60, PRIVATE); 這有點整潔。
Webhook 文件非常簡單。
{
“eventName”:
“url”: “https://api.twilio.com/2010-04-01/Accounts//Messages",
“requestType”: “POST”,
“auth”: {
“username”: “”,
“password”: “”
},
“form”: {
“From” : “number>”,
“To” : “<to number>”,
“Body” : “{{SPARK_EVENT_VALUE}}”
},
“mydevices”: true
}
像這樣創(chuàng)建一個名為 twilio-webhook.json 的文件。
$ particle webhook create twilio-hook.json
Using settings from the file twilio-hook.json
Sending webhook request
{
uri: ‘/v1/webhooks’,
method: ‘POST’,
json: {
event: ‘twilio’,
url: ‘https://api.twilio.com/2010-04-01/Accounts//Messages',
deviceid: undefined,
requestType: ‘POST’,
mydevices: true,
eventName: ‘twilio’,
auth: {
username: ‘’,
password: ‘’
},
form: {
From: ‘’,
To: ‘’,
Body: ‘{{SPARK_EVENT_VALUE}}’
}
},
headers: {
Authorization: ‘Bearer 7d90b34725afede88ce0b6ec824712121212121212’
}
}
Successfully created webhook with ID 573069bd3f3354c212121
現(xiàn)在我們已經(jīng)設(shè)置好了一切,需要一些代碼來讓它運行 :)。所有代碼都可以在https://github.com/nippe/waterlevel-notifier-particleio/tree/blogpost獲得。
設(shè)備上的代碼
首先,我聲明了一些變量和一個方法。
int sendSms(String command);
const int DELAY_IN_SECONDS = 10*60; // 10 minutes
bool isMessageSent = false;
int waterThreshold = 2880;
int waterLevelPin = A1;
int waterLevel = 0;
DELAY_IN_SECONDS是檢查水位的頻率。sendSms是調(diào)用 webhook 的方法,waterLevelPin定義了我將水位傳感器連接到哪個模擬端口以及水位的一些值和跟蹤短信狀態(tài)。接下來,設(shè)置:
void setup() {
Particle.variable(“waterLevel”, waterLevel);
Particle.function(“sendSms”, sendSms);
pinMode(waterLevelPin, INPUT);
delay(1000);
}
使用Particle.variable和Particle.function向 Particle 云服務(wù)公開變量和方法,用于測試目的。使用pinMode(..)將水位引腳的模式設(shè)置為輸入。
void loop() {
getWaterLevel();
checkWaterLevel();
delay(DELAY_IN_SECONDS * 1000);
}
int getWaterLevel() {
waterLevel = analogRead(waterLevelPin);
return waterLevel;
}
int sendSms(String command) {
if(command.length() > 0){
Particle.publish(“twilio”, command, 60, PRIVATE);
}
return 0;
}
void checkWaterLevel() {
int currentLevel = analogRead(waterLevelPin);
if(currentLevel > waterThreshold) {
if(!isMessageSent){
char msg[255];
snprintf(msg, sizeof(msg), “Dags att t?mma vatten i k?llarn! Niv?: %d”, waterLevel);
sendSms(msg);
isMessageSent = true;
}
}
if(isMessageSent && (currentLevel < waterThreshold)) {
isMessageSent = false;
sendSms(“Du har t?mt ser jag, lysande polarn!”);
}
這次的代碼塊更大。getWaterLevel() 獲取值并將其放入全局變量中,這樣我就可以通過粒子 cli 對其進行監(jiān)控。
checkWaterLevel() 進行實際檢查并在當(dāng)前值高于閾值且未發(fā)送消息時發(fā)送 SMS。
所以沒有火箭科學(xué),而是一個有趣的小項目。
然后我最終對它進行了一些調(diào)整,添加了一些 LED 和其他東西只是為了好玩。
![pYYBAGOjthCAa6uGAAHSGqxIyLc41.jpeg](https://file.elecfans.com/web2/M00/85/F9/pYYBAGOjthCAa6uGAAHSGqxIyLc41.jpeg)
?
- 物聯(lián)網(wǎng)自動喂狗器開源分享
- 物聯(lián)網(wǎng)濕度傳感器開源
- Lytograph物聯(lián)網(wǎng)顯示器開源
- 物聯(lián)網(wǎng)衣柜控制器開源分享
- 移動水位跟蹤器開源分享
- 植物水分通知器開源分享
- 物聯(lián)網(wǎng)家庭安全模型開源分享
- 物聯(lián)網(wǎng)電腦控制器開源分享
- 水位指示器開源分享
- DIY水位傳感器開源
- 水位指示器開源項目
- 自動水位控制器開源分享
- 如何使用物聯(lián)網(wǎng)操作系統(tǒng)Zephyr實現(xiàn)“連續(xù)集成”開源軟件的詳細說明
- 10大物聯(lián)網(wǎng)開源軟件的介紹 7次下載
- 基于家庭照明與物聯(lián)網(wǎng)連接的解決方案 4次下載
- 物聯(lián)網(wǎng)智能寵物管理系統(tǒng) 2427次閱讀
- 水位控制器的工作原理 水位控制器電路圖分享 1.7w次閱讀
- 水位傳感器怎么調(diào)水位高低 3659次閱讀
- 基于物聯(lián)網(wǎng)的智慧家庭健康管理系統(tǒng) 4587次閱讀
- 缺水報警如何選擇水位傳感器 4427次閱讀
- 水位開關(guān)工作原理_水位開關(guān)如何判斷好壞 1.6w次閱讀
- HU16磁敏傳感器構(gòu)成的水位控制電路 3247次閱讀
- dfrobot光子物聯(lián)網(wǎng)開發(fā)板簡介 2232次閱讀
- 水位傳感器原理_水位傳感器在哪里 1.5w次閱讀
- 水位傳感器壞了的表現(xiàn)_判斷水位傳感器好壞方法 10.7w次閱讀
- 物聯(lián)網(wǎng)十大經(jīng)典開源操作系統(tǒng) 1w次閱讀
- 如何使用物聯(lián)網(wǎng)水位傳感器監(jiān)測水位? 1w次閱讀
- 交流檢測水位報警器電路 2862次閱讀
- 電子式水位報警器電路 3416次閱讀
- 水位定時器電路圖 3175次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論