สารบัญ:

Raspberry Pi Smart Scale: 10 ขั้นตอน (พร้อมรูปภาพ)
Raspberry Pi Smart Scale: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Raspberry Pi Smart Scale: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Raspberry Pi Smart Scale: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Setting Up a Raspberry Pi 4 | Vilros 2024, กรกฎาคม
Anonim
Image
Image

คุณเบื่อกับการจ้องมองที่เครื่องชั่งน้ำหนักห้องน้ำที่น่าเบื่อเก่าและข่าวร้ายทุกเช้าหรือไม่? คนที่คุณมักจะพูดว่า "ฉันเกลียดคุณ" กับคุณทุกครั้งที่คุณเหยียบมัน ทำไมไม่มีใครทำเครื่องชั่งที่สนุกหรือกระตุ้นให้ใช้จริง ๆ ? ถึงเวลาแล้วที่จะสร้างมาตราส่วนที่ไม่เพียงแต่ฉลาดแต่ยังมีบุคลิกเพิ่มขึ้นอีกเล็กน้อยเพื่อทำให้วันของคุณสดใสขึ้น เรากำลังจะสร้างเครื่องชั่งน้ำหนักที่สามารถแฮ็กได้ การติดตามน้ำหนัก การส่งข้อความตัวอักษรที่มีอารมณ์ขันในตัว

นี่เป็นโปรเจ็กต์ที่สนุกและง่ายที่รวมบอร์ดดุล Wii, Raspberry Pi และแพลตฟอร์มการวิเคราะห์ข้อมูลออนไลน์เพื่อสร้างมาตราส่วนการเชื่อมต่อเว็บที่ควบคุมโดยสคริปต์ Python ที่คุณสามารถแฮ็กได้

ระดับโปรเจ็กต์: ระดับเริ่มต้น ระยะเวลาที่ต้องดำเนินการโดยประมาณ: 20 นาที ปัจจัยด้านความสนุก: ประเมินค่าไม่ได้

ในบทช่วยสอนทีละขั้นตอนนี้ คุณจะ:

  • เชื่อมต่อกระดานบาลานซ์ Wii กับ Raspberry Pi ผ่านบลูทู ธ เรียกใช้สคริปต์ Python ที่วัดน้ำหนักของคุณเมื่อคุณเหยียบบนกระดานบาลานซ์
  • ใช้ Raspberry Pi เพื่อสตรีมน้ำหนักของคุณไปยังบริการคลาวด์ (สถานะเริ่มต้น)
  • ตั้งค่าการแจ้งเตือนทาง SMS ทุกครั้งที่ชั่งน้ำหนักตัวเอง
  • สร้างแดชบอร์ดติดตามน้ำหนักที่คุณสามารถเข้าถึงได้ในเว็บเบราว์เซอร์ของคุณ

ขั้นตอนที่ 1: อุปกรณ์

เครื่องชั่งบอร์ด Wii Balance
เครื่องชั่งบอร์ด Wii Balance

นี่คือรายการอุปกรณ์ทั้งหมดที่เราจะใช้ในบทช่วยสอนนี้พร้อมลิงก์ไปยังที่ที่คุณสามารถซื้อแต่ละรายการได้

  • Raspberry Pi 3 พร้อมการ์ด SD และพาวเวอร์ซัพพลาย (https://init.st/psuufmj)
  • กระดานดุล Wii (https://init.st/qg4ynjl)
  • Wii Fit แบตเตอรี่แพคแบบชาร์จได้ (https://init.st/iyypz2i)
  • ผ้าสักหลาด 3/8" (https://init.st/8gywmjj)
  • ดินสอ (ฉันไม่ได้ให้ลิงค์ไปซื้อดินสอ … คุณควรเป็นเจ้าของอย่างใดอย่างหนึ่ง)

หมายเหตุ: หากคุณมี Raspberry Pi 1 หรือ 2 คุณจะต้องใช้อะแดปเตอร์บลูทูธ (https://init.st/7y3bcoe)

ขั้นตอนที่ 2: เครื่องชั่งบอร์ด Wii Balance

ทำไมต้องเป็น Wii Balance Board? ปรากฎว่าเป็นสเกลที่ดีและทนทานที่มีการเชื่อมต่อบลูทูธ ซึ่งจะทำให้เราสามารถเชื่อมต่อกับคอมพิวเตอร์บอร์ดเดี่ยว (Raspberry Pi) เพื่ออ่านน้ำหนักของคุณในสคริปต์ Python และส่งการวัดเหล่านั้นไปยังบริการข้อมูลออนไลน์เพื่อทำสิ่งดีๆ นอกจากนี้ ยังมีโอกาสดีที่คุณหรือคนที่คุณรู้จักมีอยู่แล้วที่เก็บฝุ่น

เราจำเป็นต้องทำการปรับเปลี่ยนอย่างง่าย ๆ สองสามอย่างกับ Wii Balance Board ของเราเพื่อทำให้โครงการนี้ใช้งานได้จริงและสะดวกสบาย

ขั้นตอนที่ 3: ตั้งค่าบลูทูธ

Raspberry Pi 3 มาพร้อมกับบลูทูธในตัว ทั้งหมดที่เราจำเป็นต้องสื่อสารกับ Wii Balance Board หากคุณมี Raspberry Pi 1 หรือ 2 เราจะต้องใช้พอร์ต USB พอร์ตใดพอร์ตหนึ่งเพื่อเสียบอะแดปเตอร์

เปิด Pi ของคุณ (ฉันคิดว่าคุณได้ติดตั้ง Raspbian แล้วและเริ่มทำงาน) และไปที่หน้าต่างเทอร์มินัล Raspberry Pi ของคุณ คุณสามารถดูที่อยู่ของดองเกิลบลูทูธของคุณด้วยคำสั่ง "hcitool dev":

$ hcitool devDevices:hci0 00:1A:7D:DA:71:13

ติดตั้งโมดูลบลูทูธที่เราจะใช้ในสคริปต์ Python ของเรา:

$ sudo apt-get ติดตั้ง python-bluetooth

หลังจากการติดตั้งเสร็จสิ้น เราก็พร้อมที่จะเชื่อมต่อและสื่อสารกับ Wii Balance Board เราจะไม่จับคู่บอร์ดของเรากับ Pi อย่างถาวรเหมือนกับที่เราทำกับอุปกรณ์บลูทูธส่วนใหญ่ของเรา Wii Balance Board ไม่ได้ตั้งใจที่จะจับคู่กับสิ่งอื่นใดนอกจากเครื่อง Wii และการจับคู่แบบถาวรพิสูจน์ให้เห็นแล้วว่าเป็นความท้าทายที่ค่อนข้างสับสน การจับคู่จะเกิดขึ้นทุกครั้งที่เราเรียกใช้สคริปต์ Python

ขั้นตอนที่ 4: การอ่านสเกล

ถึงเวลาเชื่อมต่อ Wii Balance Board กับ Raspberry Pi เราจะทำเช่นนี้โดยแก้ไขเวอร์ชันของสคริปต์ Gr8W8Upd8M8.py ของ Stavros Korokithakis (https://github.com/skorokithakis/gr8w8upd8m8) สคริปต์หลามที่เราจะใช้สำหรับขั้นตอนนี้อยู่ที่นี่ คุณสามารถคัดลอกเนื้อหาของไฟล์นี้ไปยังไฟล์ที่คุณสร้างบน Raspberry Pi ของคุณ หรือคุณสามารถโคลนไฟล์ python ทั้งหมดที่เราจะใช้สำหรับทั้งโปรเจ็กต์นี้ มาทำอย่างหลังกัน พิมพ์คำสั่งต่อไปนี้ลงในเทอร์มินัลบน Raspberry Pi ของคุณ:

$ cd ~$ git clone $ git clone https:github.com/initialstate/smart-scale.git โคลนเป็น 'smart-scale'… ระยะไกล: การนับวัตถุ: 14 เสร็จแล้ว รีโมท: บีบอัดวัตถุ: 100% (12/12) เสร็จแล้ว รีโมต: รวม 14 (เดลต้า 1), นำกลับมาใช้ใหม่ 8 (เดลต้า 0), นำแพ็คกลับมาใช้ใหม่ 0 การแกะวัตถุออก: 100% (14/14) เสร็จสิ้น กำลังตรวจสอบการเชื่อมต่อ… เสร็จแล้ว

โคลนเป็น 'สเกลอัจฉริยะ'… ระยะไกล: การนับวัตถุ: 14 เสร็จแล้ว รีโมท: บีบอัดวัตถุ: 100% (12/12) เสร็จแล้ว รีโมต: รวม 14 (เดลต้า 1), นำกลับมาใช้ใหม่ 8 (เดลต้า 0), นำแพ็คกลับมาใช้ใหม่ 0 การแกะวัตถุออก: 100% (14/14) เสร็จสิ้น กำลังตรวจสอบการเชื่อมต่อ… เสร็จแล้ว

คุณควรเห็นไฟล์ python สองไฟล์ในไดเร็กทอรี smart-scale ใหม่ - smartscale.py และ wiiboard_test.py

$ cd มาตราส่วนอัจฉริยะ$ lsREADME.md smartscale.py wiiboard_test.py

เรียกใช้สคริปต์ wiiboard_test.py เพื่อทดสอบการสื่อสารและอ่านค่าน้ำหนักจาก Wii Balance Board:

$ sudo python wiiboard_test.py

คุณจะเห็นการตอบสนองต่อไปนี้:

กำลังค้นหากระดาน…กดปุ่มซิงค์สีแดงบนกระดานทันที

ถอดฝาครอบแบตเตอรี่ที่อยู่ใต้บอร์ดออกเพื่อค้นหาปุ่มซิงค์สีแดง ตรวจสอบให้แน่ใจว่าคุณกดปุ่มภายในไม่กี่วินาทีหลังจากเรียกใช้สคริปต์ มิฉะนั้นจะเกิดการหมดเวลา เมื่อประสบความสำเร็จ คุณจะเห็นบางสิ่งที่คล้ายกับต่อไปนี้:

พบ Wiiboard ตามที่อยู่ 00:23:CC:2E:E1:44 กำลังพยายามเชื่อมต่อ…เชื่อมต่อกับ Wiiboard ตามที่อยู่ 00:23:CC:2E:E1:44 Wiiboard เชื่อมต่อACK กับการเขียนข้อมูลที่ได้รับ84.9185297 lbs84.8826412 lbs84.9275927 lbs

สคริปต์ wiiboard_test.py ใช้จำนวนการวัดน้ำหนักที่ระบุในบรรทัดที่ 10 และแสดงค่าเฉลี่ย:

# --------- การตั้งค่าผู้ใช้ ---------WEIGHT_SAMPLES = 500# ------------------------- --------

คุณสามารถเล่นกับตัวเลขนี้โดยเปลี่ยนค่าและเรียกใช้สคริปต์อีกครั้งเพื่อดูความผันแปรของน้ำหนักที่วัดได้และเวลาที่จำเป็นสำหรับการวัดแต่ละครั้ง ชั่งน้ำหนักตัวเอง ชั่งน้ำหนักสุนัข ชั่งน้ำหนักอะไรก็ได้ และดูว่าการวัดนั้นสมเหตุสมผลหรือไม่ เมื่อต้องการหยุดสคริปต์ ให้กด CTRL+C

คุณได้แปลง Wii Balance Board ของคุณเป็นมาตราส่วนที่เชื่อมต่อกับ Raspberry Pi สำเร็จแล้ว ตอนนี้ มาทำให้เป็นมาตราส่วนเจ๋งๆ กันเถอะ

ขั้นตอนที่ 5: การปรับแต่งฮาร์ดแวร์

ปรับแต่งฮาร์ดแวร์
ปรับแต่งฮาร์ดแวร์

Nintendo สันนิษฐานว่าคุณจะจ่ายไฟให้กับ Wii Balance Board ด้วยแบตเตอรี่ AA สี่ก้อนและไม่รวมอะแดปเตอร์ไฟ AC การมีพลังงานแบตเตอรี่เพียงอย่างเดียวจะไม่สะดวกเพราะเราไม่สามารถจับคู่ Wii Board ของเรากับ Pi ผ่านบลูทูธอย่างถาวรได้ เราจำเป็นต้องซิงค์ข้อมูล จากนั้นปล่อยให้ซิงค์ต่อไปโดยไม่ทำให้แบตเตอรี่หมด เพื่อให้เราก้าวขึ้นสู่เครื่องชั่งและชั่งน้ำหนักได้อย่างง่ายดาย โชคดีที่มีอะแดปเตอร์ของบุคคลที่สามหลายตัวที่ผลิตขึ้นสำหรับ Wii Balance Board ที่เราสามารถใช้เพื่อให้พลังงานคงที่จากเต้ารับที่ผนัง เปลี่ยนแบตเตอรี่ด้วยก้อนแบตเตอรี่และเสียบอะแดปเตอร์ ac เข้ากับเต้ารับที่ผนัง

ต้องจับคู่ Wii Balance Board และ Raspberry Pi ทุกครั้งที่เราเรียกใช้สคริปต์ Python ของเรา ทำให้เกิดความไม่สะดวกอีกประการหนึ่งเนื่องจากตำแหน่งของปุ่มซิงค์ ปุ่มซิงค์จะอยู่ที่ด้านล่างของ Wii Board ซึ่งหมายความว่าเราจะต้องพลิกมันทุกครั้งที่ต้องการซิงค์ เราสามารถแก้ไขได้โดยทำคันโยกเล็กๆ โดยใช้ดินสอและแผ่นสักหลาดขนาด 3/8 สามแผ่นดังที่แสดงไว้ด้านบน ชุดแบตเตอรี่แบบชาร์จไฟได้จะทำให้ปุ่มซิงค์อยู่ใต้พื้นผิวของกระดาน ติดเทปดินสอ (หรือสิ่งที่คล้ายกัน) ที่มีความกว้าง จากปุ่มซิงค์ไปยังด้านหน้าด้านนอกของกระดาน วางแผ่นสักหลาดขนาด 3/8 นิ้ว (หรือสิ่งที่คล้ายกัน) สามแผ่นไว้ตรงกลางดินสอเพื่อสร้างเดือยที่อยู่กับที่ ระวังอย่าให้ดินสอหลุดออกจากกระดานมากเกินไป เพราะคุณไม่ต้องการให้ใครมาเตะมันออกโดยไม่ได้ตั้งใจ พลิกบอร์ดกลับด้าน แล้วคุณสามารถกดปุ่มซิงค์โดยเพียงแค่กดลงบนคันโยก แฮ็คเล็กน้อย แต่มีประสิทธิภาพ

ขึ้นอยู่กับว่าคุณเก็บ Wii Board ของคุณอย่างไร คุณอาจต้องการถอดแผ่นยางรองกริปออกจากเท้าของบอร์ด (แผ่นอิเล็กโทรดเป็นเพียงสติกเกอร์ที่คุณสามารถงัดออกได้) สามารถวางแผ่นสักหลาดขนาด 3/8 นิ้วไว้บนฐานกระดานเพื่อการเลื่อนที่ง่ายดาย

ขั้นตอนที่ 6: สถานะเริ่มต้น

สถานะเริ่มต้น
สถานะเริ่มต้น

เราต้องการสตรีมน้ำหนัก/ข้อมูลของเราไปยังบริการคลาวด์ และให้บริการนั้นเปลี่ยนข้อมูลของเราให้เป็นแดชบอร์ดที่ดีที่เราสามารถเข้าถึงได้จากแล็ปท็อปหรืออุปกรณ์มือถือของเรา ข้อมูลของเราต้องการปลายทาง เราจะใช้ Initial State เป็นปลายทางนั้น

ขั้นตอนที่ 1: ลงทะเบียนบัญชี Initial State ไปที่ https://iot.app.initialstate.com และสร้างบัญชีใหม่

ขั้นตอนที่ 2: ติดตั้ง ISStreamer ติดตั้งโมดูล Initial State Python บน Pi ของคุณ: ที่พรอมต์คำสั่ง (อย่าลืม SSH ลงใน Pi ของคุณก่อน) ให้รันคำสั่งต่อไปนี้:

$ cd /home/pi/$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

ขั้นตอนที่ 3: สร้าง Automagic หลังจากขั้นตอนที่ 2 คุณจะเห็นบางสิ่งที่คล้ายกับผลลัพธ์ต่อไปนี้ที่หน้าจอ:

pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: เริ่มต้น ISStreamer Python ติดตั้งง่าย! อาจใช้เวลาสองสามนาทีในการติดตั้ง หยิบกาแฟ:) แต่อย่าลืมกลับมา ฉันจะมีคำถามในภายหลัง!

พบ easy_install: setuptools 1.1.6

พบ pip: pip 1.5.6 จาก /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) รุ่น pip หลัก: 1 pip รุ่นรอง: พบ ISStreamer 5 รายการ กำลังอัปเดต… ข้อกำหนด อัปเดตแล้ว: ISStreamer ใน /Library/Python/2.7/site-packages กำลังล้างข้อมูล… คุณต้องการรับสคริปต์ตัวอย่างโดยอัตโนมัติหรือไม่ [ใช่/ไม่ใช่]

(ผลลัพธ์อาจแตกต่างกันและใช้เวลานานขึ้นหากคุณไม่เคยติดตั้งโมดูลการสตรีม Initial State Python มาก่อน)

เมื่อได้รับพร้อมท์ให้รับสคริปต์ตัวอย่างโดยอัตโนมัติ ให้พิมพ์ y สิ่งนี้จะสร้างสคริปต์ทดสอบที่เราเรียกใช้เพื่อให้แน่ใจว่าเราสามารถสตรีมข้อมูลไปยังสถานะเริ่มต้นจาก Pi ของเรา คุณจะได้รับแจ้ง:

คุณต้องการบันทึกตัวอย่างที่ไหน [ค่าเริ่มต้น:./is_example.py]:

คุณสามารถพิมพ์เส้นทางท้องถิ่นที่กำหนดเองหรือกด Enter เพื่อยอมรับค่าเริ่มต้น คุณจะได้รับแจ้งชื่อผู้ใช้และรหัสผ่านที่คุณเพิ่งสร้างขึ้นเมื่อคุณลงทะเบียนบัญชี Initial State ใส่ทั้งสองและการติดตั้งจะเสร็จสมบูรณ์

ขั้นตอนที่ 4: คีย์การเข้าถึง

มาดูตัวอย่างสคริปต์ที่สร้างขึ้น

$ nano is_example.py

ในบรรทัดที่ 15 คุณจะเห็นบรรทัดที่ขึ้นต้นด้วย streamer = Streamer(bucket_ …. บรรทัดนี้สร้าง data bucket ใหม่ชื่อ “Python Stream Example” และเชื่อมโยงกับบัญชีของคุณ การเชื่อมโยงนี้เกิดขึ้นเนื่องจาก access_key=”…” พารามิเตอร์ในบรรทัดเดียวกันนั้น ชุดตัวอักษรและตัวเลขยาวๆ นั้นคือรหัสการเข้าถึงบัญชี Initial State ของคุณ หากคุณไปที่บัญชี Initial State ของคุณในเว็บเบราว์เซอร์ ให้คลิกที่ชื่อผู้ใช้ของคุณที่ด้านบนขวา จากนั้นไปที่ "การตั้งค่าของฉัน" คุณจะพบคีย์การเข้าถึงเดียวกันที่ด้านล่างของหน้าภายใต้ “Streaming Access Keys”

ทุกครั้งที่คุณสร้างสตรีมข้อมูล คีย์การเข้าถึงนั้นจะนำสตรีมข้อมูลนั้นไปยังบัญชีของคุณ (ดังนั้นอย่าแชร์คีย์ของคุณกับใครเลย)

ขั้นตอนที่ 5: เรียกใช้ตัวอย่าง

เรียกใช้สคริปต์ทดสอบเพื่อให้แน่ใจว่าเราสามารถสร้างสตรีมข้อมูลไปยังบัญชีสถานะเริ่มต้นของคุณได้ เรียกใช้สิ่งต่อไปนี้:

$ หลาม is_example.py

ขั้นตอนที่ 6: กำไร

กลับไปที่บัญชี Initial State ของคุณในเว็บเบราว์เซอร์ ที่เก็บข้อมูลใหม่ที่เรียกว่า "ตัวอย่างสตรีม Python" ควรปรากฏขึ้นทางด้านซ้ายในชั้นวางบันทึกของคุณ (คุณอาจต้องรีเฟรชหน้า) คุณสามารถดูข้อมูลในไทล์เพื่อดูข้อมูลเดียวกันนี้ในแบบฟอร์มแดชบอร์ด

ขั้นตอนที่ 7: สคริปต์สุดท้าย

สมมติว่าคุณรันคำสั่ง "git clone https://github.com/InitialState/smart-scale.git " ในส่วนที่ 2 สคริปต์สุดท้ายที่รวมทุกอย่างเข้าด้วยกันจะเรียกว่า smartscale.py ในไดเร็กทอรี ~/smart-scale ของคุณ (https://github.com/InitialState/smart-scale/blob/master/smartscale.py)

ต้องตั้งค่าบางอย่างในสคริปต์ก่อน คุณจึงจะสามารถเรียกใช้ได้ เปิด smartscale.py ในโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ เช่น nano

$ cd ~$ cd มาตราส่วนอัจฉริยะ$ nano smartscale.py

ใกล้กับด้านบนของไฟล์นี้ มีส่วนการตั้งค่าผู้ใช้

# --------- การตั้งค่าผู้ใช้ --------- BUCKET_NAME = ":apple: My Weight History"BUCKET_KEY = "weight11"ACCESS_KEY = "วางคีย์การเข้าถึงสถานะเริ่มต้นของคุณที่นี่"METRIC_UNITS = FalseWEIGHT_SAMPLES = 500THROWAWAY_SAMPLES = 100WEIGHT_HISTORY = 7# ---------------------------------

  • BUCKET_NAME ตั้งชื่อถังข้อมูลสถานะเริ่มต้นที่น้ำหนัก/ข้อมูลของคุณจะถูกสตรีมไป สามารถตั้งค่าได้ที่นี่และเปลี่ยนแปลงในภายหลังใน UI
  • BUCKET_KEY เป็นตัวระบุที่เก็บข้อมูลเฉพาะซึ่งระบุว่าข้อมูลของคุณจะสตรีมไปที่ใด หากคุณต้องการสร้างที่เก็บข้อมูล/แดชบอร์ดอื่น ให้ใช้ตัวระบุอื่นที่นี่ (*หมายเหตุ หากคุณเก็บที่เก็บข้อมูลถาวร คุณจะใช้รหัสนั้นซ้ำในที่เก็บข้อมูลใหม่ไม่ได้)
  • ACCESS_KEY คือรหัสบัญชีสถานะเริ่มต้นของคุณ หากคุณไม่ใส่ ACCESS_KEY ของคุณในฟิลด์นี้ ข้อมูลของคุณจะไม่แสดงในบัญชีของคุณ
  • METRIC_UNITS ให้คุณระบุน้ำหนักเป็นกก. หากตั้งค่าเป็น True หรือ lb หากตั้งค่าเป็น False
  • WEIGHT_SAMPLES ระบุจำนวนการวัดที่นำมาและหาค่าเฉลี่ยร่วมกันเพื่อให้ได้น้ำหนักจริงของคุณ การวัด 500 ครั้งใช้เวลาประมาณ 4-5 วินาทีและให้ผลลัพธ์ที่ค่อนข้างแม่นยำ
  • THROWAWAY_SAMPLES ระบุจำนวนตัวอย่างที่จะถูกโยนทิ้งเมื่อคุณก้าวเข้าสู่กระดานครั้งแรก สิ่งนี้จะป้องกันขั้นตอนเริ่มต้นและเปลี่ยนจากการละทิ้งการวัดขั้นสุดท้าย ควรน้อยกว่า WEIGHT_SAMPLES เสมอ
  • WEIGHT_HISTORY กำหนดจำนวนการวัดก่อนที่จะส่งการอัปเดตเพิ่มเติม เฉพาะการวัดที่ใช้เวลาห่างกันสองชั่วโมงขึ้นไปเท่านั้นที่นับรวมในประวัติ

เมื่อคุณระบุพารามิเตอร์แต่ละตัวในส่วนนี้และบันทึกการเปลี่ยนแปลงของคุณแล้ว คุณก็พร้อมที่จะเรียกใช้สคริปต์สุดท้าย ก่อนที่เราจะเรียกใช้สคริปต์ มาดูสิ่งที่จะทำกันก่อน

  • ในตอนเริ่มต้นของสคริปต์ ระบบจะขอให้คุณจับคู่ Wii Balance Board กับ Raspberry Pi ใช้คันโยกที่คุณแฮ็กเข้าด้วยกันในส่วนที่ 2: การปรับแต่งฮาร์ดแวร์เพื่อกดปุ่มซิงค์เมื่อได้รับแจ้ง
  • เมื่อสคริปต์ทำงาน ให้เหยียบบนกระดาน Wii เพื่อเริ่มวัดน้ำหนักของคุณ หลังจาก 4-5 วินาที น้ำหนักของคุณจะถูกส่งไปยังบัญชี Initial State ของคุณโดยอัตโนมัติ
  • หลังจากที่เราตั้งค่าการแจ้งเตือนทาง SMS (ในสองสามขั้นตอน) คุณจะได้รับข้อความหลังจากการตรวจวัดของคุณไม่นาน

เรียกใช้สคริปต์เพื่อเริ่มต้นเวทมนตร์

$ sudo python smartscale.py

ขั้นตอนที่ 8: แดชบอร์ด

แผงควบคุม
แผงควบคุม

ไปที่บัญชี Initial State ของคุณและคลิกที่ถังข้อมูลใหม่ที่มีชื่อตรงกับพารามิเตอร์ BUCKET_NAME (เช่น ประวัติน้ำหนักของฉัน) คลิกที่ไทล์เพื่อดูแดชบอร์ดประวัติน้ำหนักของคุณ คุณควรเห็นไทล์สามไทล์ในครั้งแรกที่คุณดูข้อมูลของคุณในไทล์ - อัปเดต วันที่น้ำหนัก และน้ำหนัก (ปอนด์) คุณสามารถปรับแต่งแดชบอร์ดของคุณโดยการปรับขนาดและย้ายไทล์ตลอดจนเปลี่ยนประเภทมุมมองและแม้แต่เพิ่มไทล์ แดชบอร์ดนี้ช่วยให้คุณสามารถดูประวัติน้ำหนักของคุณได้อย่างรวดเร็ว มันเป็นมิตรกับมือถือและคุณสามารถแบ่งปันกับคนอื่นได้

คุณสามารถเพิ่มภาพพื้นหลังลงในแดชบอร์ดเพื่อให้ข้อมูลของคุณมีลักษณะเฉพาะและบริบทมากขึ้น

ขั้นตอนที่ 9: SMS

ข้อความ
ข้อความ

มาสร้างการแจ้งเตือนทาง SMS ทุกครั้งที่เครื่องชั่งทำการวัดน้ำหนัก ตรวจสอบให้แน่ใจว่าโหลดที่เก็บข้อมูลประวัติน้ำหนักของคุณแล้ว

  1. คลิกการตั้งค่าของที่เก็บข้อมูล (ภายใต้ชื่อ) ในหน้าต่างที่เก็บข้อมูล
  2. คลิกที่แท็บทริกเกอร์
  3. เลือกสตรีมข้อมูลที่จะทริกเกอร์ คุณสามารถใช้รายการดรอปดาวน์เพื่อเลือกจากสตรีมที่มีอยู่เมื่อโหลดที่เก็บข้อมูลแล้ว หรือคุณสามารถพิมพ์ชื่อ/คีย์ของสตรีมด้วยตนเอง ในภาพหน้าจอตัวอย่างด้านบน เลือก "อัปเดต"
  4. เลือกตัวดำเนินการตามเงื่อนไข ในกรณีนี้ 'ตรงกัน'
  5. เลือกค่าทริกเกอร์ที่จะทริกเกอร์การดำเนินการ (พิมพ์ค่าที่ต้องการด้วยตนเอง) พิมพ์ lb ถ้าคุณไม่ได้ใช้หน่วยเมตริก หรือพิมพ์เป็น กก. ถ้าคุณใช้หน่วยเมตริก เมื่อใดก็ตามที่สตรีม "อัปเดต" มี "lb" (หรือ "kg") คุณจะได้รับข้อความแจ้งเตือน
  6. คลิกปุ่ม '+' เพื่อเพิ่มเงื่อนไขทริกเกอร์
  7. ป้อนที่อยู่อีเมลหรือหมายเลขโทรศัพท์ของคุณในช่อง "ผู้ติดต่อเพื่อแจ้งเตือน"
  8. คลิกปุ่ม '+' เพื่อเพิ่มข้อมูลการติดต่อ
  9. ป้อนรหัสยืนยันหากเพิ่มหมายเลขโทรศัพท์ใหม่เพื่อตั้งค่าให้เสร็จสิ้น
  10. คลิกปุ่มเสร็จสิ้นที่ด้านล่างเพื่อกลับไปที่หน้าจอหลัก ทริกเกอร์ของคุณใช้งานได้แล้วและจะเริ่มทำงานเมื่อตรงตามเงื่อนไข

เมื่อตั้งค่าเสร็จแล้ว คุณจะได้รับ SMS ทุกครั้งที่ชั่งน้ำหนักตัวเองโดยระบุน้ำหนัก น้ำหนักของคุณเปลี่ยนแปลงไปมากเพียงใดนับตั้งแต่การวัดครั้งล่าสุด และเรื่องตลก/การดูถูก/คำชมแบบสุ่ม

ขั้นตอนที่ 10: สรุป

มีตัวเลือกไม่จำกัดให้คุณสร้างจากสิ่งที่คุณสร้างขึ้นในตอนนี้ นี่คือแนวคิดบางประการสำหรับโครงการนี้:

  • คุณสามารถสตรีมข้อมูลจากแหล่งอื่น ๆ ลงในแดชบอร์ดประวัติน้ำหนักเดียวกัน (ข้อมูล) เพื่อสร้างแดชบอร์ดสุขภาพส่วนบุคคลของคุณเอง
  • คุณสามารถเปลี่ยนเรื่องตลกในฟังก์ชัน messageWeighFirst, messageWeighLess, messageWeighMore และ messageWeighSame ได้ตามอารมณ์ขันของคุณเอง
  • คุณสามารถเปลี่ยนเรื่องตลกเป็นข้อความที่ใช้งานได้จริงหรือลบออกและใช้รหัสมาตราส่วนเพื่อติดตามน้ำหนักของสิ่งที่สำคัญกว่านอกเหนือจากน้ำหนักตัวของคุณเอง
  • คุณสามารถสร้างตู้แช่เบียร์/ไวน์อัจฉริยะของคุณเองได้ด้วยวิธีเดียวกัน มีบทช่วยสอนที่ยอดเยี่ยมสำหรับที่นี่แล้ว

แฮ็คออกไปและแจ้งให้เราทราบหากบทช่วยสอนนี้เป็นแรงบันดาลใจให้คุณสร้างสิ่งที่น่าอัศจรรย์

แนะนำ: