สารบัญ:
วีดีโอ: เชื่อมต่อ Magicbit ของคุณกับ Thingsboard: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
ในโครงการนี้ เราจะส่งข้อมูลจากเซ็นเซอร์ที่เชื่อมต่อกับ magicbit ซึ่งเราสามารถแสดงเป็นภาพบนกระดาน
เสบียง:
- Magicbit
- DHT11 อุณหภูมิและความชื้นเซนเซอร์ (4 ขา)
ขั้นตอนที่ 1: เรื่องราว
บทนำ
ThingsBoard เป็นแพลตฟอร์มฝั่งเซิร์ฟเวอร์โอเพ่นซอร์สที่ให้คุณตรวจสอบและควบคุมอุปกรณ์ IoT ฟรีสำหรับการใช้งานส่วนตัวและเชิงพาณิชย์ และคุณสามารถปรับใช้ได้ทุกที่ หากนี่เป็นประสบการณ์ครั้งแรกของคุณกับแพลตฟอร์ม เราแนะนำให้ตรวจสอบหน้ากระดานว่าคืออะไรและคำแนะนำในการเริ่มต้นใช้งาน
แอปพลิเคชันตัวอย่างนี้จะช่วยให้คุณสามารถแสดงข้อมูลความชื้น/อุณหภูมิจากเซ็นเซอร์ DHT11 โดยใช้อุปกรณ์ magicbit และ UI เว็บของ ThingsBoard
แอปพลิเคชันที่ทำงานบนอุปกรณ์ Magicbit เขียนโดยใช้ ThingsBoard Arduino SDK ซึ่งค่อนข้างง่ายและเข้าใจง่าย
เมื่อคุณทำตัวอย่าง/บทช่วยสอนนี้เสร็จแล้ว คุณจะเห็นข้อมูลเซ็นเซอร์ของคุณบนแดชบอร์ดต่อไปนี้
ไปที่หน้าอย่างเป็นทางการของ Thingsboard Demo และลงทะเบียน
หลังจากลงชื่อเข้าใช้ที่แถบด้านซ้ายคุณจะเห็นอุปกรณ์ คลิกอุปกรณ์และเพิ่มอุปกรณ์ใหม่
บนแท็บข้อมูลรับรอง ให้ทำเครื่องหมายที่แท็บเพิ่มข้อมูลรับรอง แล้วเลือกโทเค็นการเข้าถึงจากกล่องดรอปดาวน์ คุณสามารถเพิ่มโทเค็นการเข้าถึงของคุณเองหรือเว้นว่างไว้เพื่อสร้างโทเค็นอัตโนมัติ
ตั้งค่าอุปกรณ์เป็น magicbit ในนามแฝง ไปที่แท็บแดชบอร์ดและนำเข้าแดชบอร์ด
ทำตามขั้นตอนต่อไปนี้ในรูปภาพเพื่อนำเข้าแดชบอร์ด ค้นหาไฟล์ JSON สาธิตชื่อ "magicbit_temperature_humidity_demo_dashboard.json" ในไฟล์แนบ
เชื่อมต่อบิตวิเศษของคุณกับโมดูล DHT11 ดังต่อไปนี้เพื่อขา 33
ใน Arduino IDE ดาวน์โหลดไลบรารีด้านบน
ต่อไปนี้เป็นรหัส Arduino ที่คุณจะใช้
หมายเหตุ คุณต้องแก้ไขค่าคงที่และตัวแปรต่อไปนี้ในแบบร่าง:
- WIFI_AP - ชื่อจุดเข้าใช้งานของคุณ
- WIFI_PASSWORD - รหัสผ่านจุดเข้าใช้งาน
- TOKEN - $ACCESS_TOKEN จากขั้นตอนการกำหนดค่า ThingsBoard
- THINGSBOARD_SERVER - ที่อยู่ ThingsBoard HOST/IP ที่สามารถเข้าถึงได้ภายในเครือข่าย wifi ของคุณ ระบุ demo.thingsboard.io หากคุณใช้เซิร์ฟเวอร์สาธิตสด
ขั้นตอนที่ 2: รหัส Arduino
#include // DHT สำหรับไลบรารี่ไลบรารี#include // การควบคุม WiFi สำหรับ ESP32#include // ThingsBoard SDK#define DHTPIN 33 // พินดิจิทัลใดที่เราเชื่อมต่อกับ#define DHTTYPE DHT11 // DHT 11DHT dht(DHTPIN, DHTTYPE);// มาโครตัวช่วยในการคำนวณขนาดอาร์เรย์#define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x]))))))// จุดเชื่อมต่อ WiFi#define WIFI_AP_NAME "4G"// "WIFI_AP"// รหัสผ่าน WiFi#define WIFI_PASSWORD "nevergiveup"// "WIFI_PASSWORD"// ดู https://thingsboard.io/docs/getting- คู่มือเริ่มต้น/helloworld/// เพื่อทำความเข้าใจวิธีรับโทเค็นการเข้าถึง#define TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN"// อินสแตนซ์เซิร์ฟเวอร์ ThingsBoard#define THINGSBOARD_SERVER "demo.thingsboard.io"// อัตรารับส่งข้อมูลสำหรับการดีบักอนุกรม #define SERIAL_DEBUG_BAUD 115200// เริ่มต้นไคลเอ็นต์ ThingsBoard WiFiClient espClient;// Initialize ThingsBoard instanceThingsBoard tb(espClient);// สถานะ Statusint ของวิทยุ Wifi = WL_IDLE_STATUS;// ระยะเวลาในการส่งข้อมูลอุณหภูมิ/ความชื้น.int send_delay = 2000;unsigned long millis_counter;void InitWiFi(){ Serial.println("กำลังเชื่อมต่อกับ AP …"); // พยายามเชื่อมต่อกับเครือข่าย WiFi WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); ในขณะที่ (WiFi.status () != WL_CONNECTED) { ล่าช้า (500); Serial.print("."); } Serial.println ("เชื่อมต่อกับ AP");} เป็นโมฆะการเชื่อมต่อใหม่ () { // วนซ้ำจนกว่าเราจะเชื่อมต่อใหม่ สถานะ = WiFi.status (); ถ้า (สถานะ != WL_CONNECTED) { WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); ในขณะที่ (WiFi.status () != WL_CONNECTED) { ล่าช้า (500); Serial.print("."); } Serial.println("เชื่อมต่อกับ AP"); }} // ตั้งค่าการติดตั้ง applicationvoid () { // เริ่มต้นซีเรียลสำหรับการดีบัก Serial.begin (SERIAL_DEBUG_BAUD); WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi(); // เริ่มต้นเซ็นเซอร์อุณหภูมิ dht.begin ();}// แอปพลิเคชันหลัก loopvoid loop () { // เชื่อมต่อกับ WiFi อีกครั้งหากจำเป็น (WiFi.status () != WL_CONNECTED) { เชื่อมต่อใหม่ (); กลับ; } // เชื่อมต่อกับ ThingsBoard อีกครั้ง หากจำเป็น ถ้า (!tb.connected ()) { // เชื่อมต่อกับ ThingsBoard Serial.print ("กำลังเชื่อมต่อกับ: "); Serial.print(THINGSBOARD_SERVER); Serial.print(" พร้อมโทเค็น "); Serial.println (TOKEN); if (!tb.connect(THINGSBOARD_SERVER, TOKEN)) { Serial.println("ไม่สามารถเชื่อมต่อได้"); กลับ; } } // ตรวจสอบว่าถึงเวลาส่ง DHT11 อุณหภูมิและความชื้นหรือไม่ if(millis()-millis_counter > send_delay) { Serial.println("กำลังส่งข้อมูล…"); // อัปโหลด telemetry ใหม่ไปยัง ThingsBoard โดยใช้ MQTT // ดู https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // สำหรับรายละเอียดเพิ่มเติม float h = dht.readHumidity(); // อ่านอุณหภูมิเป็นเซลเซียส (ค่าเริ่มต้น) float t = dht.readTemperature(); if (isnan (h) || isnan (t)) { Serial.println ("ไม่สามารถอ่านจากเซ็นเซอร์ DHT!"); } อื่น ๆ { Serial.print ("อุณหภูมิ:"); Serial.print(t); Serial.print (" ความชื้น "); Serial.println(ซ); tb.sendTelemetryFloat("อุณหภูมิ", t); tb.sendTelemetryFloat("ความชื้น", h); } millis_counter = millis(); //reset millis counter } // ประมวลผลข้อความ tb.loop();}
ขั้นตอนที่ 3: การสร้างภาพข้อมูล
ในเซิร์ฟเวอร์สาธิตสด:
- เข้าสู่ระบบ: ชื่อผู้ใช้การสาธิตสดของคุณ (อีเมล)
- รหัสผ่าน: รหัสผ่านสาธิตสดของคุณ
ดูหน้าสาธิตสดสำหรับรายละเอียดเพิ่มเติมวิธีรับบัญชีของคุณ
ไปที่ส่วน "อุปกรณ์" และค้นหา "Magicbit" เปิดรายละเอียดอุปกรณ์แล้วสลับไปที่แท็บ "การส่งข้อมูลทางไกลล่าสุด" หากกำหนดค่าทั้งหมดอย่างถูกต้อง คุณจะสามารถเห็นค่าล่าสุดของ "อุณหภูมิ" และ "ความชื้น"
หลังจากนั้น เปิดส่วน "แดชบอร์ด" จากนั้นค้นหาและเปิด "magicbit_temperature_humidity_demo_dashboard" ด้วยเหตุนี้ คุณจะเห็นแผนภูมิอนุกรมเวลาแสดงระดับอุณหภูมิและความชื้น (คล้ายกับภาพแดชบอร์ดในบทนำ)
แนะนำ:
เชื่อมต่อ Arduino Uno กับ ESP8266: 9 ขั้นตอน
เชื่อมต่อ Arduino Uno กับ ESP8266: ยินดีต้อนรับ! คุณกำลังจะอ่านคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการเชื่อมต่อ Arduino Uno ของคุณกับอินเทอร์เน็ตด้วย ESP8266 (ESP-01) ได้สำเร็จ นอกจากนี้ยังเป็นคำสั่งสอนครั้งแรกของฉันด้วยดังนั้นโปรดบอกฉันด้วย! ให้ฉันเริ่มต้นด้วยการบอกว่า ESP8266 คือ
เริ่มต้นใช้งานอินเทอร์เฟซเซ็นเซอร์ I2C ?? - เชื่อมต่อ MMA8451 ของคุณโดยใช้ ESP32s: 8 ขั้นตอน
เริ่มต้นใช้งานอินเทอร์เฟซเซ็นเซอร์ I2C ?? - เชื่อมต่อ MMA8451 ของคุณโดยใช้ ESP32s: ในบทช่วยสอนนี้ คุณจะได้เรียนรู้เกี่ยวกับวิธีเริ่มต้น เชื่อมต่อ และรับอุปกรณ์ I2C (มาตรความเร่ง) ที่ทำงานร่วมกับคอนโทรลเลอร์ (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
เชื่อมต่อ RevPi Core ของคุณ + RevPi DIO กับ Ubidots: 8 ขั้นตอน
เชื่อมต่อ RevPi Core + RevPi DIO ของคุณกับ Ubidots: Revolution Pi เป็นพีซีอุตสาหกรรมแบบเปิด แบบแยกส่วน และทนทาน โดยใช้ Raspberry Pi ที่เป็นที่ยอมรับ โดยเป็นไปตามมาตรฐาน EN61131-2 เมื่อติดตั้ง Raspberry Pi Compute Module แล้ว ฐาน RevPi Core สามารถขยายได้อย่างลงตัวโดยใช้
เชื่อมต่อ RevPi Core ของคุณกับ Ubidots: 5 ขั้นตอน
เชื่อมต่อ RevPi Core ของคุณกับ Ubidots: Revolution Pi เป็นพีซีอุตสาหกรรมแบบเปิด แบบแยกส่วน และทนทาน โดยอิงจาก Raspberry Pi ที่เป็นที่ยอมรับ โดยเป็นไปตามมาตรฐาน EN61131-2 เมื่อติดตั้ง Raspberry Pi Compute Module แล้ว ฐาน RevPi Core สามารถขยายได้อย่างลงตัวโดยใช้
เชื่อมต่อ Mac ของคุณกับ HDTV: 5 ขั้นตอน
เชื่อมต่อ Mac ของคุณกับ HDTV: ในคำแนะนำนี้ ฉันจะอธิบายรายละเอียดวิธีเชื่อมต่อ MacBook หรือ iMac ของคุณกับ HDTV มีแอพพลิเคชั่นมากมายสำหรับการตั้งค่าดังกล่าว และรายการก็ไม่มีที่สิ้นสุด นี่คือบางส่วน: - สตรีมวิดีโอจากอินเทอร์เน็ต หลายไซต์เ