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