สารบัญ:
- ขั้นตอนที่ 1: MQTT คืออะไร
- ขั้นตอนที่ 2: การติดตั้ง MQTT Broker บน Raspberry Pi
- ขั้นตอนที่ 3: การทดสอบนายหน้า
- ขั้นตอนที่ 4: การตั้งค่า ESP8266 (Adafruit HUZZAH)
- ขั้นตอนที่ 5: การเขียนโปรแกรม ESP8266
- ขั้นตอนที่ 6: การติดตั้ง Python Client (paho-mqtt)
- ขั้นตอนที่ 7: ไคลเอนต์ Python - สมัครสมาชิก
- ขั้นตอนที่ 8: การสื่อสารระหว่างอุปกรณ์ ESP8266
วีดีโอ: วิธีใช้ MQTT กับ Raspberry Pi และ ESP8266: 8 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
ในคำแนะนำนี้ ฉันจะอธิบายว่าโปรโตคอล MQTT คืออะไรและใช้ในการสื่อสารระหว่างอุปกรณ์อย่างไร จากนั้นในการสาธิตเชิงปฏิบัติ ฉันจะแสดงวิธีตั้งค่าระบบไคลเอ็นต์สองระบบอย่างง่าย โดยที่โมดูล ESP8266 จะส่งข้อความ ไปยังโปรแกรม Python เมื่อกดปุ่ม โดยเฉพาะอย่างยิ่ง ฉันกำลังใช้โมดูล Adafruit HUZZAH สำหรับโครงการนี้คือ Raspberry Pi และคอมพิวเตอร์เดสก์ท็อป Raspberry Pi จะทำหน้าที่เป็นนายหน้า MQTT และไคลเอนต์ Python จะถูกเรียกใช้จากคอมพิวเตอร์เดสก์ท็อปแยกต่างหาก (เป็นทางเลือก เนื่องจากสามารถทำงานบน Raspberry Pi ได้)
ในการปฏิบัติตามคำแนะนำนี้ คุณจะต้องมีความรู้พื้นฐานเกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์ และวิธีใช้ซอฟต์แวร์ Arduino คุณควรทำความคุ้นเคยกับการใช้อินเทอร์เฟซบรรทัดคำสั่ง (สำหรับ Raspberry Pi) หวังว่า เมื่อคุณได้รับความรู้ว่า MQTT คืออะไร และใช้งานอย่างไรในสถานการณ์พื้นฐาน คุณจะสามารถสร้างโครงการ IoT ของคุณเองได้!
อะไหล่ที่จำเป็น
- 1 x Raspberry Pi เชื่อมต่อกับเครือข่ายท้องถิ่น (ใช้ Jessie)
- 1 x โมดูล ESP8266 (Adafruit HUZZAH)
- 1 x เขียงหั่นขนม
- 3 x สายจัมเปอร์ (ชายกับชาย)
- 1 x ปุ่มกด
- ตัวต้านทาน 1 x 10k Ohm (รหัสสีน้ำตาล-ดำ-ส้ม)
ฉันได้สร้าง Instructable นี้แล้ว เนื่องจาก MQTT มักจะสนใจฉันในฐานะโปรโตคอล และมีหลายวิธีที่จะนำไปใช้ อย่างไรก็ตาม ฉันไม่สามารถเข้าใจวิธีเขียนโค้ดอุปกรณ์เพื่อใช้งาน นั่นเป็นเพราะฉันไม่รู้/เข้าใจจริงๆ ว่าเกิดอะไรขึ้นกับคำว่า "สวัสดี ชาวโลก!" จากอุปกรณ์ A และส่งไปยังอุปกรณ์ B ดังนั้นฉันจึงตัดสินใจเขียนคำแนะนำนี้เพื่อ (หวังว่า) จะสอนวิธีการทำงานและเพื่อเสริมสร้างความเข้าใจของฉันเอง!
ขั้นตอนที่ 1: MQTT คืออะไร
MQTT หรือ MQ Telemetry Transport เป็นโปรโตคอลการส่งข้อความที่ช่วยให้อุปกรณ์หลายเครื่องสามารถพูดคุยกันได้ ปัจจุบัน เป็นโปรโตคอลยอดนิยมสำหรับ Internet of Things แม้ว่าจะมีการใช้เพื่อวัตถุประสงค์อื่น เช่น Facebook Messenger ที่น่าสนใจคือ MQTT ถูกประดิษฐ์ขึ้นในปี 1999 ซึ่งหมายความว่ามันเก่าเท่าฉัน!
MQTT มีพื้นฐานมาจากแนวคิดที่ว่าอุปกรณ์สามารถเผยแพร่หรือสมัครรับข้อมูลหัวข้อต่างๆ ได้ ตัวอย่างเช่น หากอุปกรณ์ #1 บันทึกอุณหภูมิจากเซ็นเซอร์ตัวใดตัวหนึ่ง ก็สามารถเผยแพร่ข้อความที่มีค่าอุณหภูมิที่บันทึกไว้ในหัวข้อ (เช่น "อุณหภูมิ") ข้อความนี้ถูกส่งไปยัง MQTT Broker ซึ่งคุณสามารถคิดได้ว่าเป็นสวิตช์/เราเตอร์ในเครือข่ายท้องถิ่น เมื่อโบรกเกอร์ MQTT ได้รับข้อความแล้ว จะส่งไปยังอุปกรณ์ใดๆ (ในกรณีนี้คือ อุปกรณ์ #2) ที่สมัครรับข้อมูลในหัวข้อเดียวกัน
ในโครงการนี้ เราจะเผยแพร่ไปยังหัวข้อโดยใช้ ESP8266 และสร้างสคริปต์ Python ที่จะสมัครรับข้อมูลจากหัวข้อเดียวกันนี้ผ่าน Raspberry Pi ซึ่งจะทำหน้าที่เป็นนายหน้า MQTT สิ่งที่ยอดเยี่ยมเกี่ยวกับ MQTT ก็คือมันมีน้ำหนักเบา ดังนั้นมันจึงสมบูรณ์แบบสำหรับการทำงานบนไมโครคอนโทรลเลอร์ขนาดเล็ก เช่น ESP8266 แต่ก็ยังมีให้ใช้กันอย่างแพร่หลาย - เราจึงสามารถรันมันบนสคริปต์ Python ได้เช่นกัน
หวังว่าในตอนท้ายของโครงการนี้ คุณจะเข้าใจว่า MQTT คืออะไรและจะใช้อย่างไรสำหรับโครงการของคุณเองในอนาคต
ขั้นตอนที่ 2: การติดตั้ง MQTT Broker บน Raspberry Pi
ในการตั้งค่าระบบ MQTT ของเรา เราจำเป็นต้องมีโบรกเกอร์ ตามที่ได้อธิบายไว้ในขั้นตอนก่อนหน้านี้ สำหรับ Raspberry Pi เราจะใช้โบรกเกอร์ MQTT " Mosquitto " ก่อนที่เราจะติดตั้งสิ่งนี้ เป็นการดีที่สุดที่จะอัปเดต Raspberry Pi ของเรา
sudo apt-get update
sudo apt-get อัพเกรด
เมื่อคุณทำเสร็จแล้ว ให้ติดตั้ง mosquitto แล้วตามด้วยแพ็คเกจ mosquitto-clients
sudo apt-get ติดตั้งยุง -y
sudo apt-get ติดตั้ง mosquitto-clients -y
เมื่อคุณติดตั้งสองแพ็คเกจนี้เสร็จแล้ว เราจะต้องกำหนดค่านายหน้า ไฟล์กำหนดค่าของโบรกเกอร์ mosquitto อยู่ที่ /etc/mosquitto/mosquitto.conf ดังนั้นให้เปิดไฟล์นี้ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ หากคุณไม่มีโปรแกรมแก้ไขข้อความที่ชื่นชอบหรือไม่ทราบวิธีใช้โปรแกรมแก้ไขบรรทัดคำสั่ง ฉันจะใช้ nano เพื่อให้คุณสามารถปฏิบัติตามได้:
sudo nano /etc/mosquitto/mosquitto.conf
ที่ด้านล่างของไฟล์นี้ คุณจะเห็นบรรทัด:
include_dir /etc/mosquitto/conf.d
ลบบรรทัดนี้ เพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของไฟล์
allow_anonymous เท็จ
password_file /etc/mosquitto/pwfile listener 1883
โดยการพิมพ์บรรทัดเหล่านี้ เราได้บอก mosquitto ว่าเราไม่ต้องการให้ใครเชื่อมต่อกับนายหน้าของเราที่ไม่ระบุชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง (เราจะดำเนินการตั้งค่าเหล่านี้ในไม่กี่วินาที) และเราต้องการให้ mosquitto ฟังข้อความที่พอร์ตหมายเลข 1883
หากคุณไม่ต้องการให้โบรกเกอร์ต้องการชื่อผู้ใช้และรหัสผ่าน อย่าใส่สองบรรทัดแรกที่เราได้เพิ่มเข้าไป (เช่น allow_anonymous… และ password_file…) หากคุณทำสิ่งนี้เสร็จแล้ว ให้ข้ามไปที่การรีบูต Raspberry Pi
ตอนนี้ปิด (และบันทึก) ไฟล์นั้น หากคุณกำลังติดตามพร้อมกับตัวอย่างนาโน ให้กด CTRL+X แล้วพิมพ์ Y เมื่อได้รับแจ้ง
เนื่องจากเราเพิ่งบอก mosquitto ว่าผู้ใช้ที่พยายามใช้โบรกเกอร์ MQTT จำเป็นต้องได้รับการพิสูจน์ตัวตน ตอนนี้เราต้องบอก mosquitto ว่าชื่อผู้ใช้และรหัสผ่านคืออะไร! ดังนั้น ให้พิมพ์คำสั่งต่อไปนี้ - แทนที่ชื่อผู้ใช้ด้วยชื่อผู้ใช้ที่คุณต้องการ - จากนั้นป้อนรหัสผ่านที่คุณต้องการเมื่อได้รับแจ้ง (หมายเหตุ: หากเมื่อแก้ไขไฟล์การกำหนดค่า คุณระบุเส้นทาง password_file อื่น ให้เปลี่ยนเส้นทางด้านล่างด้วย ที่คุณใช้)
sudo mosquitto_passwd -c /etc/mosquitto/pwfile username
เนื่องจากเราเพิ่งเปลี่ยนไฟล์กำหนดค่ายุง เราควรรีบูต Raspberry Pi
sudo รีบูต
เมื่อ Raspberry Pi รีบูตเสร็จแล้ว คุณควรมีโบรกเกอร์ MQTT ที่ทำงานได้อย่างสมบูรณ์! ต่อไป เราจะพยายามโต้ตอบกับมัน โดยใช้อุปกรณ์/วิธีการต่าง ๆ มากมาย!
ขั้นตอนที่ 3: การทดสอบนายหน้า
เมื่อคุณติดตั้ง mosquitto บน Raspberry Pi แล้ว คุณสามารถทำการทดสอบอย่างรวดเร็ว เพื่อให้แน่ใจว่าทุกอย่างทำงานอย่างถูกต้อง เพื่อจุดประสงค์นี้ มีสองคำสั่งที่เราสามารถใช้ได้บนบรรทัดคำสั่ง mosquitto_pub และ mosquitto_sub ในขั้นตอนนี้ ฉันจะแนะนำคุณเกี่ยวกับการใช้แต่ละสิ่งเหล่านี้เพื่อทดสอบโบรกเกอร์ของเรา
ในการทดสอบโบรกเกอร์ คุณจะต้องเปิดหน้าต่างบรรทัดคำสั่งสองหน้าต่าง หากคุณกำลังใช้ Putty หรือไคลเอ็นต์ SSH อื่น การดำเนินการนี้ทำได้ง่ายเพียงแค่เปิดหน้าต่าง SSH อื่นและเข้าสู่ระบบตามปกติ หากคุณกำลังเข้าถึง Pi ของคุณจากเทอร์มินัล UNIX สิ่งนี้จะเหมือนกันทุกประการ หากคุณกำลังใช้ Raspberry Pi โดยตรง คุณจะต้องเปิดหน้าต่างเทอร์มินัลสองหน้าต่างในโหมด GUI (คำสั่ง startxcan สามารถใช้เพื่อเริ่ม GUI)
เมื่อคุณเปิดหน้าต่างสองบานแล้ว เราสามารถเริ่มต้นการทดสอบได้ ในหนึ่งในสองเทอร์มินัล ให้พิมพ์คำสั่งต่อไปนี้ แทนที่ชื่อผู้ใช้และรหัสผ่านด้วยรายการที่คุณตั้งค่าในขั้นตอนก่อนหน้า
mosquitto_sub -d -u username -P password -t test
หากคุณตัดสินใจที่จะไม่ตั้งชื่อผู้ใช้และรหัสผ่านในขั้นตอนก่อนหน้านี้ ต่อจากนี้ไป ให้ข้ามแฟล็ก -u และ -P ในคำสั่ง ตัวอย่างเช่น คำสั่ง mosquitto_sub จะเป็นดังนี้:
mosquitto_sub -d -t ทดสอบ
คำสั่ง mosquitto_sub จะสมัครรับข้อมูลจากหัวข้อ และแสดงข้อความใดๆ ที่ส่งไปยังหัวข้อที่ระบุในหน้าต่างเทอร์มินัล ที่นี่ -d หมายถึงโหมดดีบัก ดังนั้นข้อความและกิจกรรมทั้งหมดจะถูกส่งออกบนหน้าจอ -u และ -P ควรอธิบายตนเองได้ สุดท้าย -t คือชื่อของหัวข้อที่เราต้องการสมัครรับข้อมูล - ในกรณีนี้คือ "ทดสอบ"
ถัดไป ในหน้าต่างเทอร์มินัลอื่น เราจะพยายามเผยแพร่ข้อความไปยังหัวข้อ "ทดสอบ" พิมพ์ต่อไปนี้ จำอีกครั้งเพื่อเปลี่ยนชื่อผู้ใช้และรหัสผ่าน:
mosquitto_pub -d -u username -P password -t test -m "สวัสดีชาวโลก!"
เมื่อคุณกด Enter คุณจะเห็นข้อความว่า "สวัสดี ชาวโลก!" ปรากฏในหน้าต่างเทอร์มินัลแรกที่เราใช้ (เพื่อสมัครสมาชิก) หากเป็นกรณีนี้ คุณก็พร้อมที่จะเริ่มทำงานกับ ESP8266 แล้ว!
ขั้นตอนที่ 4: การตั้งค่า ESP8266 (Adafruit HUZZAH)
ขั้นตอนนี้หากเจาะจงสำหรับ Adafruit HUZZAH (นั่นคือสิ่งที่ฉันใช้เพื่อทำโครงการนี้ให้เสร็จ) หากคุณกำลังใช้อุปกรณ์ Arduino / ESP8266 อื่น คุณอาจต้องการข้ามขั้นตอนนี้ อย่างไรก็ตาม เราขอแนะนำให้คุณอ่านคร่าวๆ เผื่อในกรณีที่มีข้อมูลที่อาจเกี่ยวข้องกับคุณ
สำหรับโครงการนี้ ฉันจะเขียนโปรแกรม HUZZAH ด้วยซอฟต์แวร์ Arduino ดังนั้น หากคุณยังไม่ได้ติดตั้ง ให้ติดตั้งซอฟต์แวร์ Arduino (ใหม่กว่า 1.6.4) คุณสามารถดาวน์โหลดได้ที่นี่
เมื่อคุณติดตั้งซอฟต์แวร์ Arduino แล้ว ให้เปิดและไปที่ File->Preferences ที่นี่ คุณควรเห็นกล่องข้อความ (ใกล้กับด้านล่างของหน้าต่าง) ที่มีป้ายกำกับ: "Additional Boards Manager URLs" ในกล่องข้อความนี้ ให้คัดลอกและวางลิงก์ต่อไปนี้:
arduino.esp8266.com/stable/package_esp8266com_index.json
คลิกตกลงเพื่อบันทึกการเปลี่ยนแปลงของคุณ ตอนนี้เปิด Board Manager (Tools->Board->Board Manager) และค้นหา ESP8266 ติดตั้งแพ็คเกจชุมชน esp8266 โดย ESP8266 รีสตาร์ทซอฟต์แวร์ Arduino
ก่อนที่เราจะสามารถตั้งโปรแกรมบอร์ดได้ เราต้องเลือกตัวเลือกต่างๆ สองสามตัว ในตัวเลือกเมนูเครื่องมือ เลือก Adafruit HUZZAH ESP8266 สำหรับบอร์ด 80 MHz สำหรับความถี่ CPU (คุณสามารถใช้ 160 MHz ได้หากต้องการโอเวอร์คล็อก แต่ตอนนี้ฉันจะใช้ 80 MHz), 4M (3M SPIFFS) สำหรับขนาดแฟลช และ 115200 สำหรับความเร็วในการอัพโหลด นอกจากนี้ ตรวจสอบให้แน่ใจว่าได้เลือกพอร์ต COM ที่คุณใช้ (ซึ่งจะขึ้นอยู่กับการตั้งค่าของคุณ)
ก่อนที่คุณจะสามารถอัปโหลดโค้ดใดๆ ได้ คุณต้องตรวจสอบให้แน่ใจว่า HUZZAH อยู่ในโหมด bootloader หากต้องการเปิดใช้งานสิ่งนี้ ให้กดปุ่มบนบอร์ดที่มีเครื่องหมาย GPIO0 ค้างไว้ และในขณะที่กดค้างไว้ ให้กดปุ่มรีเซ็ตค้างไว้เช่นกัน จากนั้น ปล่อยปุ่มรีเซ็ต แล้วตามด้วย GPIO0 หากคุณทำอย่างถูกต้อง ไฟ LED สีแดงที่ติดเมื่อคุณกด GPIO0 ควรจะสว่างขึ้น
ในการอัปโหลดโค้ดไปยังไมโครคอนโทรลเลอร์ ก่อนอื่นตรวจสอบให้แน่ใจว่า HUZZAH อยู่ในโหมด bootloader จากนั้นคลิกปุ่มอัปโหลดใน Arduino IDE
หากคุณประสบปัญหาในการตั้งค่า HUZZAH สามารถดูข้อมูลเพิ่มเติมได้ที่บทช่วยสอนของ Adafruit
ขั้นตอนที่ 5: การเขียนโปรแกรม ESP8266
ตอนนี้เราจะเริ่มเขียนโปรแกรม ESP8266 แต่ก่อนที่เราจะเริ่มต้นได้ คุณจะต้องติดตั้งไลบรารีต่อไปนี้ในตัวจัดการไลบรารี Arduino (Sketch->Include Libraries->Manage Libraries)
- Bounce2
- PubSubClient
เมื่อคุณติดตั้งไลบรารี่เหล่านั้นแล้ว คุณจะสามารถเรียกใช้โค้ดที่ฉันได้รวมไว้ใน Instructable นี้ (MQTT_Publish.zip) เราได้แสดงความคิดเห็นเพื่อให้คุณเข้าใจว่าแต่ละส่วนกำลังทำอะไรอยู่ และหวังว่าสิ่งนี้จะช่วยให้คุณสามารถปรับให้เข้ากับความต้องการของคุณได้
อย่าลืมเปลี่ยนค่าคงที่ที่ด้านบนของโค้ดเพื่อให้ ESP8266 ของคุณสามารถเชื่อมต่อกับเครือข่าย WiFi และโบรกเกอร์ MQTT ของคุณ (Raspberry Pi)
หากคุณตัดสินใจที่จะไม่ตั้งชื่อผู้ใช้และรหัสผ่านสำหรับโบรกเกอร์ MQTT ให้ดาวน์โหลดไฟล์ MQTT_PublishNoPassword.zip แทน
ขั้นตอนที่ 6: การติดตั้ง Python Client (paho-mqtt)
โชคดีที่ขั้นตอนนี้ง่ายมาก! ในการติดตั้งไคลเอ็นต์ mosquitto python คุณเพียงแค่พิมพ์ข้อความต่อไปนี้ลงในบรรทัดคำสั่ง (Linux/Mac) หรือแม้แต่ command prompt (Windows)
pip ติดตั้ง paho-mqtt
หมายเหตุ: พรอมต์คำสั่งของ Windows อาจมีปัญหาในการเรียกใช้คำสั่ง pip หากคุณไม่ได้ระบุว่าคุณต้องการติดตั้ง pip และเพิ่ม python ลงในตัวแปร PATH เมื่อคุณติดตั้ง Python มีหลายวิธีในการแก้ไขปัญหานี้ แต่ฉันคิดว่าการติดตั้ง Python ใหม่เป็นวิธีที่ง่ายที่สุด หากมีข้อสงสัย - ให้ Google!
ขั้นตอนที่ 7: ไคลเอนต์ Python - สมัครสมาชิก
ในขั้นตอนนี้ เราจะตั้งค่าสคริปต์ Python (ไม่ว่าจะบน Raspberry Pi เองหรือบนคอมพิวเตอร์เครื่องอื่นที่เชื่อมต่อกับเครือข่าย) เพื่อจัดการข้อความทั้งหมดที่ส่ง (เผยแพร่) โดย ESP8266 ไปยังหัวข้อ MQTT
ฉันได้รวมโค้ดหลามไว้ด้านล่าง (PythonMQTT_Subscribe.py) ซึ่งได้รับความคิดเห็นเพื่อช่วยให้คุณเข้าใจว่าเกิดอะไรขึ้น แต่ฉันจะอธิบายคุณสมบัติหลักบางประการที่นี่เช่นกัน
หากคุณไม่ได้ตั้งชื่อผู้ใช้และรหัสผ่านสำหรับการเชื่อมต่อ MQTT ก่อนหน้านี้ ให้ดาวน์โหลดไฟล์ PythonMQTT_SubscribeNoPassword.py แทน
ขั้นตอนที่ 8: การสื่อสารระหว่างอุปกรณ์ ESP8266
ตัวอย่างเช่น หากคุณต้องการตั้งค่าเครือข่าย IoT คุณอาจต้องการสื่อสารระหว่างอุปกรณ์ ESP8266 โชคดีที่โค้ดนี้ไม่ได้ซับซ้อนไปกว่าโค้ดที่เราเคยเขียนมาก่อนมากนัก อย่างไรก็ตาม มีการเปลี่ยนแปลงที่สำคัญอยู่สองสามประการ
เพื่อให้ ESP หนึ่งส่งข้อมูลไปยังอีก ESP หนึ่ง ESP แรกจะต้องเผยแพร่ไปยังหัวข้อ และ ESP ที่สองจะต้องสมัครรับข้อมูลจากหัวข้อนั้น การตั้งค่านี้จะอนุญาตให้มีการสนทนาทางเดียว - ESP(1) ถึง ESP(2) หากเราต้องการให้ ESP(2) พูดคุยกับ ESP(1) เราสามารถสร้างหัวข้อใหม่ โดยที่ ESP(2) จะเผยแพร่ และ ESP(1) จะสมัครรับข้อมูล โชคดีที่เราสามารถมีสมาชิกได้หลายคนในหัวข้อเดียวกัน ดังนั้นหากคุณต้องการส่งข้อมูลไปยังหลายระบบ คุณจะต้องใช้เพียงหัวข้อเดียว (ซึ่งพวกเขาทั้งหมดสมัครรับข้อมูล ยกเว้นอุปกรณ์ที่ส่งข้อมูล นำมาเผยแพร่)
หากคุณต้องการความช่วยเหลือในการค้นหาว่าอุปกรณ์แต่ละเครื่องต้องทำอะไร ให้คิดว่าระบบนี้เป็นห้องของผู้คน หาก ESP(1) กำลังเผยแพร่ คุณสามารถจินตนาการว่าอุปกรณ์นี้เป็น "ลำโพง" และอุปกรณ์ใดๆ ที่สมัครรับข้อมูลในหัวข้อนี้คือ "ผู้ฟัง" ในตัวอย่างนี้
ฉันได้รวมโค้ดตัวอย่างไว้ด้านล่าง ซึ่งแสดงให้เห็นว่า ESP8266 สามารถสมัครรับข้อมูลจากหัวข้อได้อย่างไร และฟังข้อความบางข้อความ - 1 และ 0 หากได้รับ 1 ไฟ LED ออนบอร์ด (สำหรับ HUZZAH - GPIO 0) จะเปิดขึ้น. หากได้รับ 0 ไฟ LED นี้จะดับลง
หากคุณต้องการประมวลผลข้อมูลที่ซับซ้อนมากขึ้น ควรทำในฟังก์ชัน ReceivedMessage (ดูโค้ด)
สำหรับโครงการของคุณเอง หากคุณต้องการทั้งส่งและรับข้อมูล คุณสามารถรวมฟังก์ชันการเผยแพร่จากตัวอย่างก่อนหน้าลงในโค้ดที่รวมอยู่ในขั้นตอนนี้ สิ่งนี้ควรได้รับการจัดการในฟังก์ชัน Arduino loop() หลัก
อย่าลืมเปลี่ยนตัวแปรที่ด้านบนของโค้ดเพื่อให้เหมาะกับเครือข่ายของคุณ!
แนะนำ:
วิธีใช้ MQTT กับ Raspberry Pi และ ESP8266/sonoff: 4 ขั้นตอน
วิธีใช้ MQTT กับ Raspberry Pi และ ESP8266/sonoff: สวัสดีทุกคน วันนี้ฉันจะแสดงวิธีกำหนดค่าสวิตช์รีเลย์ sonoff wifi ที่ใช้ราสเบอร์รี่ pi และ ESP8266 เพื่อควบคุมเครื่องใช้ในบ้านของคุณจากทุกที่ในโลก ของคำสั่งสอนนี้ ถ้าคุณได้ปฏิบัติตามคำสั่งของฉันอย่างระมัดระวัง
PIR Motion Sensor: วิธีใช้ PIR กับ Arduino & Raspberry Pi: 5 ขั้นตอน
PIR Motion Sensor: วิธีใช้ PIR กับ Arduino & Raspberry Pi: คุณสามารถอ่านบทแนะนำนี้และบทช่วยสอนที่น่าทึ่งอื่น ๆ ได้บนเว็บไซต์ทางการของ ElectroPeak ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีใช้เซ็นเซอร์ตรวจจับความเคลื่อนไหว PIR เพื่อตรวจจับการเคลื่อนไหว ในตอนท้ายของบทช่วยสอนนี้ คุณจะได้เรียนรู้: วิธีการทำงานของเซ็นเซอร์ตรวจจับความเคลื่อนไหว PIR วิธีใช้
วิธีใช้ NMEA-0183 กับ Raspberry Pi: 6 ขั้นตอน
วิธีใช้ NMEA-0183 กับ Raspberry Pi: NMEA-0183 เป็นมาตรฐานทางไฟฟ้าในการเชื่อมต่อ GPS, SONAR, เซ็นเซอร์, หน่วยนำร่องอัตโนมัติ ฯลฯ ในเรือและเรือ ความแตกต่างจากมาตรฐาน NMEA 2000 ที่ใหม่กว่า (อิงตาม CAN) NMEA 0183 อิงตาม EIA RS422 (ระบบที่เก่ากว่าและ/หรือแบบธรรมดาบางระบบใช้
วิธีใช้ DMX512 / RDM กับ Raspberry Pi: 6 ขั้นตอน (พร้อมรูปภาพ)
วิธีใช้ DMX512 / RDM กับ Raspberry Pi: Raspberry Pi สามารถใช้สำหรับการควบคุมแสงผ่านบัส DMX512 ในระบบบัส DMX512 RS-485 ใช้เป็นฟิสิคัลเลเยอร์ RS422 / RS485 Serial HAT ของเราคือ HAT การสื่อสารซีเรียลแบบแยกกระแสไฟฟ้าที่ออกแบบมาสำหรับใช้กับ Raspberry Pi
วิธีใช้ FC-37 Rain Sensor กับ Arduino: 4 ขั้นตอน (พร้อมรูปภาพ)
วิธีใช้ FC-37 Rain Sensor กับ Arduino: สวัสดี! ในคำสั่งแรกของฉันฉันจะแสดงวิธีใช้เซ็นเซอร์ฝน FC-37 กับ Arduino ฉันใช้ Arduino nano แต่รุ่นอื่นก็ใช้ได้ดี