เวลาโดยประมาณ: 15 นาทีข้อกำหนดเบื้องต้น:บัญชี Twilio บัญชี CloudinaryThinged.io บัญชี ThingRaspberry Pi RPi Camera บทช่วยสอนนี้จะนำคุณเข้าสู่ขั้นตอนการสร้างส่วน thinged.io ที่สามารถถ่ายภาพด้วย Raspberry Pi ของคุณ อัปโหลดไปยัง cloudinary และส่งผ่าน mms โดยใช้ Twilio
ช่วยแนะนำคุณเกี่ยวกับการสร้างส่วนแรกของคุณและวิธีคิดเกี่ยวกับการจัดโครงสร้าง เพื่อให้คุณสามารถสร้างส่วนขยายของคุณเองบนแพลตฟอร์ม Thinged.io0: ตั้งค่า Raspberry Pi ของคุณด้วย Thinged
io ดู Raspberry Pi ของคุณเพื่อถ่ายรูป อัปโหลดรูปภาพไปที่ Cloudinary ส่ง MMS โดยใช้ TwilioWrap ขึ้นสร้างบัญชีที่จำเป็นและรับคีย์ API และโทเค็นทั้งหมด เมื่อคุณสร้างบัญชี Twilio และ Cloudinary แล้ว คุณจะได้รับ ID บัญชีและโทเค็นการเข้าถึงจากแดชบอร์ดที่เกี่ยวข้อง: 2. ตั้งค่า Raspberry Pi ของคุณด้วย Python Prequisites: ตอนนี้คุณได้สร้างบัญชีของคุณแล้ว เราต้องติดตั้งข้อกำหนดบน Raspberry Pi เพื่อสื่อสารกับ Cloudinary และ Twilio sudo apt-get install python3-pippip3 install --user ติดตั้ง cloudinarypip3 --user twilioDone
2. กำหนดค่ากล้อง Raspberry Pi ของคุณเปิดใช้งานโมดูลกล้อง Raspberry Pis ของคุณผ่าน raspi-config:sudo raspi-configSelect Interfacing Options จากนั้นเปิดกล้องและเปิดใช้งาน รีบูต Raspberry Pi ของคุณ
ทดสอบกล้องของคุณ:raspistill -v -o test.jpg3. ทดสอบสคริปต์บน Raspberry PiWeve ของคุณ สร้างส่วนสำคัญ github ที่คุณสามารถใช้สำหรับถ่ายภาพเหล่านี้
ดาวน์โหลดสคริปต์นี้ลงใน Raspberry Pi ของคุณและแก้ไขตัวแปรต่อไปนี้:cloudinary_cloud_namecloudinary_api_keycloudinary_api_secrettwilio_account_sidtwilio_auth_tokentwilio_from_numberphone_number สคริปต์นั้นเรียบง่ายเป็นพิเศษและประกอบด้วยฟังก์ชันเล็กๆ สองสามอย่าง:take_photo (photo_name) ที่ติดตั้งใน Raspberry ค่าเริ่มต้น upload_photo_to_cloudinary(photo_file_name) ซึ่งอัปโหลดรูปภาพด้วยชื่อที่กำหนด send_mms(to, message, media_url) ซึ่งส่งรูปภาพของคุณโดยใช้ Twilio
4. การสร้าง thinged. io Part เช่นเดียวกับที่สคริปต์ python เป็น wrapper แบบบางรอบๆ Cloudinary และ Twilio Thinged จึงเป็น wrapper แบบบางรอบคำสั่งเชลล์
A Thing ประกอบด้วยส่วนต่างๆ ที่เป็นเพียงสถานะที่สามารถรับและตั้งค่าผ่านคำสั่งบรรทัดคำสั่งได้ ข้อความที่ส่งคืนของคำสั่งจะสร้างพื้นฐานของ get part และ placeholders ถูกใช้เพื่อเข้าสู่อาร์กิวเมนต์ในคำสั่ง set ส่วนที่เรากำลังสร้างมีลักษณะดังนี้: มีปุ่มต่างๆ มากมาย แต่ไม่ต้องกังวล จริงๆ แล้วค่อนข้างเรียบง่าย
ฉันได้แยกรายละเอียดพารามิเตอร์ด้านล่าง:humanName human friendly name ที่คุณสามารถใช้เพื่อระบุ part.description คำอธิบายที่เป็นมิตรกับมนุษย์ เพื่อให้คุณทราบวิธีการทำงานและเพิ่มรายละเอียดอื่นๆ partId สุ่มสร้างสตริงที่สิ่ง
io ใช้เพื่อระบุชิ้นส่วน และคุณใช้ใน API เพื่อตั้งค่าบน it.type ทั้ง input, output หรือ inputOutput กำหนดว่าส่วนนั้นถูกใช้เพื่อรับสถานะจากสิ่งของของคุณ ตั้งค่าสถานะของสิ่งของของคุณ หรือการรวมกันของ สอง (คุณสามารถตั้งค่าได้ แต่สามารถเปลี่ยนที่อื่นและควรอ่าน) อินพุตต้องการ getCommand เอาต์พุตต้องการ setCommand
setCommand คำสั่งที่จะเริ่มทำงานเมื่อตั้งค่า นี่แค่ชี้ไปที่สคริปต์หลามของเรา การเพิ่มมูลค่าให้กับสิ่งนี้จะถูกแทนที่ทุกที่ด้วยค่าชิ้นส่วนเมื่อคุณตั้งค่าคำสั่งผ่าน API
สคริปต์หลามจะต้องโหลดลงในราสเบอร์รี่ pi ผ่านวิธีอื่น ๆ ค่าประเภทค่านี้อาจเป็นตัวเลข สตริง หรือสถานะ ดังที่ได้กล่าวไว้ก่อนหน้านี้ Thinged เป็นเครื่องห่อหุ้มแบบบางสำหรับคำสั่งบรรทัดคำสั่ง ดังนั้นทุกอย่างจึงถูกแปลเป็นสตริงบนบรรทัดคำสั่ง
valueType มีความสำคัญสำหรับ GUI ที่ต้องการนำเสนอรายละเอียดเกี่ยวกับสถานะของชิ้นส่วน ในที่นี้ valueType คือสถานะซึ่งบอกเป็นนัยว่ามีจำนวนรัฐที่ไม่ต่อเนื่องและสามารถแจกแจงเป็นค่าได้ สิ่งนี้ทำให้ GUI สามารถนำเสนอปุ่มที่ดีสำหรับ 2 ส่วนสถานะและดรอปดาวน์สำหรับ 3 ส่วนสถานะขึ้นไป
รัฐ แต่ละรัฐแสดงถึงความเป็นไปได้ที่แตกต่างกัน เนื่องจาก Thinged.io จะทริกเกอร์ชุดเมื่อมีการเปลี่ยนแปลงค่าเท่านั้น ในที่นี้สถานะที่ไม่ต่อเนื่องจะซ้ำกัน แต่มีค่าต่างกัน
regexes มีประโยชน์สำหรับส่วนอินพุตหรืออินพุตเอาต์พุตที่คุณต้องการประมวลผลการตอบสนองของคำสั่งล่วงหน้า สร้างส่วนนี้ ผ่านทางเว็บพอร์ทัล หรือผ่าน API จากนั้นคุณสามารถเพิ่มส่วนลงในสิ่งที่คุณทำและตอนนี้คุณทำเสร็จแล้ว!
สรุป:หากคุณสร้างส่วนนี้ขึ้นมา ตอนนี้ควรมีลักษณะเช่นนี้ใน GUI:หากคุณโหลดสคริปต์ลงใน pi ของคุณและสิ่งต่างๆ บริการ io ทำงานทุกอย่างเสร็จสิ้น ตอนนี้สำหรับการจ่ายเงิน: กดปุ่ม!
ในบทช่วยสอนนี้ เราได้ทำงานกับส่วนเอาต์พุตของ thinged.io เพื่อสร้างกล้องสอดแนมที่มีบัญชีราสเบอร์รี่ pi, cloudinary และ twilio และงูหลาม 42 บรรทัดที่รวบรวมไว้ทั้งหมด คอยติดตามบทเรียนเพิ่มเติมเกี่ยวกับสิ่งที่
ไอโอ
เซินเจิ้น tigerwong เทคโนโลยีจำกัด
โทร:86 13717037584
อีเมล: ที่ info@sztigerwong.com
เพิ่ม: ชั้น 1 อาคาร A2 สวนอุตสาหกรรมดิจิทัลซิลิคอนวัลเลย์ พาวเวอร์ เลขที่ 22 ถนน Dafu ถนน Guanlan เขตหลงหัว
เซินเจิ้น มณฑลกวางตุ้ง ประเทศจีน