制霸 IoT 30Day! Day 27 Mesh Network網狀網路
Mesh Network 網狀網路 介紹
今天要來介紹因應 IoT 發展,相關網路產品日新月異!那網路是一個重要環節,當居家使用情況變得一樓打不上三樓此時該如何是好? 那 Mesh Network 網狀網路,就是為了對付無限網路佈點不易訊號不良等等的應用。 以下將以ESP-MESH為解說。
制霸 IoT 30Day! Day 26 LoRaWAN 開發介紹
LoRaWAN 開發介紹
前面我們介紹了 wifi 與藍芽今天來介紹使用 ESP32 開發 LoRaWAN
硬體介紹
今天介紹的是使用 Heltec WiFi LoRa 32 (V2)。
- 微處理器:ESP32 (雙核 32 位 MCU + ULP 內核),配合 LoRa 節點芯片 SX1276/SX1278。
- Micro USB 接口,具有完整的穩壓電路、ESD 保護、短路保護等安全措施。
- 預留 SH1.25-2 電池接口,集成鋰電池管理系統 (充放電管理、過充保護、電池電量檢測、USB/電池電源自動切換)。
- 提供 WiFi、LoRa、藍牙三種網絡連接方式、板載 Wi-Fi、藍牙專用 2.4GHz 金屬 3D 天線、預留 IPEX (u. FL) 接口共 LoRa 信號使用。
- 板載 0.96 吋 128 * 64 OLED 顯示屏,可用於顯示調試信息、傳感器數據、電池電量等信息。
- 通過 CP2102 USB-UART 芯片,提供串口功能,方便程序下載、調試信息打印。
- 支援 Arduino 開發環境:我們提供 ESP32 + Lorwan 協議的 Arduino® 庫,這是一個標準的 LoRaWAN 通信協議,可以與支持 LoRaWAN 協議的任何 LoRa 網關進行組網通信。
- 具有良好的射頻電路設計和阻抗匹配,以及基本的低功耗設計 (睡眠電流 ≤800ua),方便用戶快速驗證無線通信方案。
制霸 IoT 30Day! Day 25 資料應用
IoT 資料應用
我們今天要探討的是,當我們開始有了資料 IoT 如何做有效利用。
資料應用 Grafana 與 telegram 應用
我們這邊介紹如何在我們用的 Grafana 圖表系統內好好利用收集到的資料! Telegram 是一個跨平台的即時通訊軟體,它的用戶端是自由及開放原始碼軟體,但是它的伺服器是專有軟體。使用者可以相互交換加密與自毀訊息,傳送相片、影片等所有類型檔案。官方提供手機版(Android、iOS、Windows Phone)、電腦版(Windows、macOS、Linux)和網頁版等多種平台用戶端;同時官方開放應用程式介面,因此擁有許多第三方的用戶端可供選擇,其中多款內建中文。
制霸 IoT 30Day! Day 24 實際案例 空氣盒子專案(三)
空氣盒子說明
今天來介紹這個空氣盒子專案,細部運作原理。
程式碼介紹
我們這理用到很多模組是 UART 通訊介面,但是實際硬體上只有一個 UART 介面。 那我們這邊使用SoftwareSerial來克服這個問題。 那我們先來逐一介紹程式邏輯。
制霸 IoT 30Day! Day 23 實際案例 空氣盒子專案(二)
空氣盒子首版
今天來介紹這個空氣盒子專案,所有元件與運作實際介紹。
硬體
HTU21D 溫濕度感測器
基於高性能的濕度感應元件製成,新一代 HTU21D 溫度和濕度傳感器在尺寸與智能方面建立了新的標準:
制霸 IoT 30Day! Day 22 實際案例 空氣盒子專案(一)
空氣盒子專案緣由
約莫 2016 年 03 月 22 號 看到新聞介紹台北智慧城市空氣盒子啟動記者會發現起有趣的議題 『空氣污染』! 約莫十多年前我從台北移居台中工作生活,當初嚮往陽光美麗的台中市不再像是台北時常下雨的美麗台中。但是好景不常發現天約來越灰漸漸地感到納悶。 後來看到這些個報導發現有個開源組織正摸摸推動此專案LASS LASS-開源公益環境感測網路。
制霸 IoT 30Day! Day 21 藍芽硬體連結
藍芽硬體連結
上一篇我們介紹硬體的藍芽開發介紹,今天介紹與其他藍芽做資料讀取。
ESP32 藍芽 scan
直接上代碼,各位可以看到並不會太多複雜的。
#include <Arduino.h>
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>
int scanTime = 30; //In seconds
class MyAdvertisedDeviceCallbacks : public BLEAdvertisedDeviceCallbacks
{
void onResult(BLEAdvertisedDevice advertisedDevice)
{
Serial.printf("Advertised Device: %s \n", advertisedDevice.toString().c_str());
}
};
void setup()
{
Serial.begin(115200);
Serial.println("Scanning...");
BLEDevice::init("");
BLEScan *pBLEScan = BLEDevice::getScan(); //create new scan
pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks());
pBLEScan->setActiveScan(true); //active scan uses more power, but get results faster
BLEScanResults foundDevices = pBLEScan->start(scanTime);
Serial.print("Devices found: ");
Serial.println(foundDevices.getCount());
Serial.println("Scan done!");
}
void loop()
{
// put your main code here, to run repeatedly:
delay(2000);
}
這邊是執行結果可以看到掃描到的裝置。
制霸 IoT 30Day! Day 20 藍芽硬體開發
藍芽硬體開發
上一篇我們介紹的部分是以藍芽模組作為開發使用,今天要來介紹硬體的藍芽開發介紹。
ESP32 藍芽開發與使用
ESP32 是一款支援 Wifi 與藍芽的開發單晶片採用 TSMC 40 奈米技術所生產製造的!
制霸 IoT 30Day! Day 19 藍芽資料發送接收
藍芽 資料發送與接收
今天介紹我們硬體在沒有藍芽時,如何透過藍芽模組發送接收資料。
藍芽 MLT-BT05
今天介紹 MLT-BT05 一個 BLE4.0 藍芽模組採用 TI CC2541 晶片,配置 256Kb 空間,支援 AT 指令,使用者可根據需要更改角色(主、從範式)以及串列埠波特率、裝置名稱、配對密碼等 參數,使用靈活。 該模組支援 UART 介面,並支援 SPP 藍芽串列埠協議,具有成本低、體積小、 功耗低、收發靈敏性高等優點,只需配備少許的週邊元件就能實現其強大功能。
制霸 IoT 30Day! Day 18 藍芽溫濕度計使用
藍芽 溫濕度計
今天介紹一下比較生活篇的應用藍芽 溫濕度計的資料收集與呈現。
米家藍牙溫濕度計
今天登場的是小米的米家藍牙溫濕度計
米家藍牙溫濕度計
- 產品名稱: 米家藍牙溫濕度計
- 產品型號: LYWSDCGQ/01ZM
- 產品重量: 43 g
- 屏幕尺寸: 1.78 英寸
- 溫度量程: -9.9℃ ~ 60℃
- 濕度量程: 0 ~ 99.9%
- 額定功率: 0.18 mW
- 電池: 4 號電池(AAA)×1
主要特點即時監測室內溫濕度變化家中溫濕度一目了然溫濕度與人體舒適度、健康情況息息相關。