สารบัญ:

เชื่อมต่อ Magicbit ของคุณกับ Thingsboard: 3 ขั้นตอน
เชื่อมต่อ Magicbit ของคุณกับ Thingsboard: 3 ขั้นตอน

วีดีโอ: เชื่อมต่อ Magicbit ของคุณกับ Thingsboard: 3 ขั้นตอน

วีดีโอ: เชื่อมต่อ Magicbit ของคุณกับ Thingsboard: 3 ขั้นตอน
วีดีโอ: D-MAX BT50 MUX DUAL Cameras! | Trac Electronics AT2 | 2021 Isuzu DMAX Build Series #31 2024, พฤศจิกายน
Anonim
เชื่อมต่อ Magicbit ของคุณกับ Thingsboard
เชื่อมต่อ Magicbit ของคุณกับ Thingsboard

ในโครงการนี้ เราจะส่งข้อมูลจากเซ็นเซอร์ที่เชื่อมต่อกับ 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" ด้วยเหตุนี้ คุณจะเห็นแผนภูมิอนุกรมเวลาแสดงระดับอุณหภูมิและความชื้น (คล้ายกับภาพแดชบอร์ดในบทนำ)

แนะนำ: