在這篇文章中,我將向您展示如何使用小型M5Stamp PICO控制器和Qubitro構(gòu)建DIY物聯(lián)網(wǎng)門(mén)鎖監(jiān)控系統(tǒng)。
背景
這個(gè)項(xiàng)目的靈感還源于我一個(gè)可愛(ài)的小表弟。他經(jīng)常會(huì)在每個(gè)人都在工作的時(shí)候自己打開(kāi)冰箱吃一些零食或一些不該吃太多的東西。所以,我想在他開(kāi)門(mén)的時(shí)候抓住他。我還添加了 Qubitro 來(lái)記錄數(shù)據(jù)并通過(guò)互聯(lián)網(wǎng)對(duì)其進(jìn)行監(jiān)控。
組件要求:
1. M5Stamp PICO。
3.一些電線。
電路連接:
編碼部分:
請(qǐng)使用您的網(wǎng)絡(luò)憑據(jù)配置代碼,我在下面提供了這些憑據(jù):
更改設(shè)備 ID 和設(shè)備令牌以匹配您的 Qubitro 云。如果您是 Qubitro 新手,請(qǐng)按照以下步驟了解有關(guān) Qubitro 以及如何設(shè)置 Qubitro Cloud 的所有信息:
完成上述步驟后,使用 Arduino IDE 編譯腳本并將其上傳到您的 M5Stamp:
#include
#include
// WiFi Client
WiFiClient wifiClient;
// Qubitro Client
QubitroMqttClient mqttClient(wifiClient);
// Device Parameters
char deviceID[] = "62f53d7f-6f53-474a-897f-24c808629df9";
char deviceToken[] = "ardE7DqQFct2j3SrO2ApKbii1Dx6NkNx8EClSgKT";
// WiFi Parameters
const char* ssid = "ELDRADO";
const char* password = "amazon123";
int ledPin = 18; // choose pin for the LED/BUZ
int inputPin = 26; // choose input pin (for Infrared sensor)
int val = 0; // variable for reading the pin status
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare Infrared sensor as input
// Initialize the serial port
serial_init();
// Initialize wireless connectivity
wifi_init();
// Initialize Qubitro
qubitro_init();
}
void loop() {
val = digitalRead(inputPin); // read input value
if (val == HIGH)
{ // check if the input is HIGH
digitalWrite(ledPin, LOW); // turn LED OFF
String Status = "Open";
int Rate = 100;
// Send telemetry
String payload = "{"status": "" + Status + "", "Rate": " + String(Rate) + "}";
mqttClient.poll();
mqttClient.beginMessage(deviceID);
mqttClient.print(payload);
mqttClient.endMessage();
Serial.println(payload);
}
else
{
digitalWrite(ledPin, HIGH); // turn LED ON
String Status = "Close";
int Rate = 0;
// Send telemetry
String payload = "{"status": "" + Status + "", "Rate": " + String(Rate) + "}";
mqttClient.poll();
mqttClient.beginMessage(deviceID);
mqttClient.print(payload);
mqttClient.endMessage();
Serial.println(payload);
}
delay(2000);
}
// Initialization code
void serial_init() {
// Initiate serial port connection
Serial.begin(115200);
// Delay for stabilization
delay(200);
}
void wifi_init() {
// Set WiFi mode
WiFi.mode(WIFI_STA);
// Disconnect WiFi
WiFi.disconnect();
delay(100);
// Initiate WiFi connection
WiFi.begin(ssid, password);
// Print connectivity status to the terminal
Serial.print("Connecting to WiFi...");
while (true)
{
delay(1000);
Serial.print(".");
if (WiFi.status() == WL_CONNECTED)
{
Serial.println("");
Serial.println("WiFi Connected.");
Serial.print("Local IP: ");
Serial.println(WiFi.localIP());
Serial.print("RSSI: ");
Serial.println(WiFi.RSSI());
break;
}
}
}
void qubitro_init() {
char host[] = "broker.qubitro.com";
int port = 1883;
mqttClient.setId(deviceID);
mqttClient.setDeviceIdToken(deviceID, deviceToken);
Serial.println("Connecting to Qubitro...");
if (!mqttClient.connect(host, port))
{
Serial.print("Connection failed. Error code: ");
Serial.println(mqttClient.connectError());
Serial.println("Visit docs.qubitro.com or create a new issue on github.com/qubitro");
}
Serial.println("Connected to Qubitro.");
mqttClient.subscribe(deviceID);
}
上傳腳本后檢查串行監(jiān)視器結(jié)果。
數(shù)據(jù)可視化:
之后,轉(zhuǎn)到 Qubitro 門(mén)戶并檢查傳入的數(shù)據(jù)。獲得數(shù)據(jù)后,您可以開(kāi)始可視化過(guò)程。
這是時(shí)間線的詳細(xì)信息,每當(dāng)門(mén)打開(kāi)時(shí),它就為0,當(dāng)門(mén)關(guān)閉時(shí),它就為100。
結(jié)論:
這就是這個(gè)項(xiàng)目的全部?jī)?nèi)容;我已經(jīng)用我的門(mén)測(cè)試過(guò)了這個(gè)項(xiàng)目,希望你們喜歡。
-
控制器
+關(guān)注
關(guān)注
114文章
16973瀏覽量
182975 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2927文章
45900瀏覽量
388216 -
監(jiān)控系統(tǒng)
+關(guān)注
關(guān)注
21文章
4033瀏覽量
181323
發(fā)布評(píng)論請(qǐng)先 登錄
【LeMaker Guitar申請(qǐng)】物聯(lián)網(wǎng)433M無(wú)線監(jiān)控系統(tǒng)
一文教你如何去搭建物聯(lián)網(wǎng)?
帶Qubitro的物聯(lián)網(wǎng)書(shū)簽和閱讀跟蹤器
怎樣構(gòu)建物聯(lián)網(wǎng)家居系統(tǒng)
如何利用區(qū)塊鏈技術(shù)來(lái)構(gòu)建物聯(lián)網(wǎng)系統(tǒng)
OpenHarmony Dev-Board-SIG專場(chǎng):基于OpenHarmony構(gòu)建物聯(lián)網(wǎng)生態(tài)探究

如何使用M5Stick和M5Stamp觸發(fā)藍(lán)牙操作BLE通信

使用Node RED構(gòu)建物聯(lián)網(wǎng)遙測(cè)模擬器

如何構(gòu)建物聯(lián)網(wǎng)系統(tǒng)并收集數(shù)據(jù)
使用Arduino、Sigfox和Ubidot構(gòu)建物聯(lián)網(wǎng)應(yīng)用程序

M5Stack M5Dial:一款 WiFi 和藍(lán)牙連接的智能旋鈕

M5Stack Cardputer:基于ESP32-S3的無(wú)線模塊便攜式計(jì)算機(jī)
物聯(lián)網(wǎng)的構(gòu)建模塊:構(gòu)建物聯(lián)網(wǎng)的技術(shù)和解決方案

如何構(gòu)建物聯(lián)網(wǎng)系統(tǒng)
為物聯(lián)網(wǎng)領(lǐng)域帶來(lái)全新突破:研揚(yáng)科技PICO-AM62和SRG-AM62

評(píng)論