Агуулгын хүснэгт:

Илүү сайн бөөрөлзгөнө Pi цахилгаан товчийг бүтээх: 4 алхам
Илүү сайн бөөрөлзгөнө Pi цахилгаан товчийг бүтээх: 4 алхам

Видео: Илүү сайн бөөрөлзгөнө Pi цахилгаан товчийг бүтээх: 4 алхам

Видео: Илүү сайн бөөрөлзгөнө Pi цахилгаан товчийг бүтээх: 4 алхам
Видео: ТАКОВ МОЙ ПУТЬ В L4D2 2024, Арваннэгдүгээр
Anonim
Image
Image

Raspberry-г унтраах эсвэл унтраах товчлуур хийх нь маш хялбар юм. Вэб дээр ийм олон төслүүд байдаг бөгөөд цөөн хэдэн нь Instructables дээр байдаг, гэхдээ тэдгээрийн аль нь ч (миний харж байгаагаар) таны Pi хэзээ унтарч дууссаныг хэлдэггүй тул хүчийг татах нь аюулгүй байдаг. Үнэн хэрэгтээ тэд товчлуур дарах нь харагдсан гэдгийг хүлээн зөвшөөрдөггүй.

Хаагдсан Pi -г дахин эхлүүлэх төслүүд байдаг боловч эдгээр нь танд харааны санал өгөхгүй.

Гэхдээ ийм товчлуур хэнд хэрэгтэй юм бэ? Хэрэв та над шиг жаахан новш, эсвэл бүр эрэлхийлж байгаа хүн юм бол та үргэлж өөрийн дотоод сүлжээнд эсвэл сүлжээгээр нэвтэрч, sudo shutdown -h гэж бичиж болно. Гэхдээ хэрэв та техникийн бус хэрэглэгчдэд зориулсан төсөл барьж байгаа бол энэ нь тийм ч сайн зүйл болохгүй. Үнэн, та бараг л цахилгааны утсыг татах замаар зугтаж чадна, гэхдээ би бараг үргэлж хэлдэг гэдгийг анхаарна уу! Хүн бүрийн аз эрт орой хэзээ нэгэн цагт дуусдаг. Өнгөрсөн долоо хоногт надад SD карт нас барсан байсан ч энэ нь гэнэт цахилгаан тасарснаас болсон эсэхийг би мэдэхгүй.

Миний хувьд сүмд дуулал, дуунуудыг бичиж, тоглуулахын тулд midi дараалал болгон ашигладаг Pi -д цахилгаан товчлуур оруулах шаардлагатай болсон. Би үргэлж унтраах командыг бичиж болно, гэхдээ би байхгүй үед үүнийг чадваргүй болгох хэрэгтэй.

Энд миний зорилго бол бусад олон зааварчилгааны нэгэн адил 3D хэвлэмэл хайрцгаар хийсэн бэлэн бүтээгдэхүүн өгөхгүй байх явдал юм. Хүн бүр үүнийг өөр өөр зорилгоор ашиглах эсвэл өөрийн төсөлд оруулахыг хүсэх болно. Үүний оронд би медиа төв, IoT төхөөрөмж эсвэл бусад зүйлээс үл хамааран таны төсөлд нэмж болох технологийг танд тохируулах болно.

(Видео би үүнийг Pi Zero v1.2 болон зөөврийн компьютерын зориулалттай дэлгэц, Алс Дорнодын хянагчаар хийсэн дэлгэцээр харуулж байна.)

Алхам 1: Дизайн

Хэрхэн ажилладаг
Хэрхэн ажилладаг

Энэ бол миний цахилгаан товчлуур танд зориулж хийх зүйл юм.

  • Pi ажиллаж байх үед LED тасралтгүй асдаг. Хэрэв гараар унтраадаг бол цахилгаан тэжээлийг салгахад аюулгүй байх үед л LED унтардаг.
  • Ажиллаж байх үед та товчлуурыг дор хаяж нэг секундын турш дарвал унтрах бөгөөд LED нь секунд тутамд дөрөвний нэгний нэгийг асаахад аюулгүй болно.
  • Унтраах төлөвөөс (хэрэв тэжээлийг салгаагүй бол) товчлуурыг дарахад асах бөгөөд LED асах хүртэл секунд тутамд дөрөвний нэг нь асдаг. (Ssh, vnc гэх мэт бүх үйлчилгээг ажиллуулах хүртэл жаахан удаж магадгүй.)

Бүрэлдэхүүн хэсгүүд нь маш хямд байдаг. Танд хэрэгтэй бүх зүйл бол:

  • ATTiny85 (Arduino-тэй нийцтэй чип)
  • 3 эсэргүүцэл: 2 x 330Ω ба 1 x 10kΩ
  • 1 LED - Би ногоон эсвэл цэнхэр өнгийг санал болгож байна, гэхдээ энэ бол таны сонголт
  • талх, холбогч утас, эсвэл туузан хавтан, эсвэл та үүнийг хийхийг хүсч байна.

Алхам 2: Энэ нь хэрхэн ажилладаг талаар

Бүх Pi цахилгаан товчлууруудын нэгэн адил энэ төхөөрөмж нь GPIO зүүг доод төлөв рүү татаж, Pi дээр ажиллаж буй туслах програм руу унтрах хүсэлт гаргах болно. Би GPIO4 (зүү 7) ашигласан боловч та өөр зүү ашиглаж болно.

Pi -г унтраасан гэж хэлэх цорын ганц арга бол TxD pin 8 -ийг үзэх явдал юм. Энэ нь анхдагчаар тохируулагдсан сериал консолоос хамаарна. Үнэн хэрэгтээ TxD нь цуваа консол хэлбэрээр ашиглагдаж байх хооронд тогтмол дээшээ доошоо буух боловч нэг удаадаа 30mS -ээс хэтрэхгүй, тэр ч байтугай хамгийн бага дамжуулдаг. Үүнийг зүгээр л идэвхгүй харж байгаа тул үүнийг цуваа консол хийхэд ашиглаж болно.

Дахин ачаалахын тулд бид SCL1 (pin 5) товчлуурыг бага зэрэг татах хэрэгтэй. Энэ зүүг I2C төхөөрөмжүүд ашигладаг (миний midi интерфэйсийг оруулаад), гэхдээ ачаалалтыг эхлүүлсний дараа бид үүнийг ганцааранг нь үлдээдэг.

Ихэнх нарийн төвөгтэй байдал нь бидний ATTiny85 -д байршуулдаг Arduino ноорог дээр байдаг. Энэ нь хэд хэдэн "муж" -аар илэрхийлэгдэх аливаа асуудлыг кодлох маш ашигтай, хүчирхэг арга болох "төрийн машин" -ыг хэрэгжүүлдэг. Угаалгын машин яг адилхан ажилладаг. Муж улсууд нь угаах мөчлөгийн үе шатыг илэрхийлдэг бөгөөд тус бүр нь тухайн машин юу хийх ёстойг (хөдөлгүүр, насосыг ажиллуулах, хавхлагыг нээх, хаах), ямар мэдрэгчийн оролтыг (температур, усны түвшин, таймер) тодорхойлдог. дараагийн муж руу хэзээ шилжих, дараагийн мужийг сонгохоо тодорхойлох.

Гар ноорог бол төлөв байдлын бүх шилжилтийг харуулсан төлөв байдлын диаграмын миний анхны төсөл юм. Энэ нь зөвхөн муж улс, төлөв байдлын шилжилтийг хэрхэн яаж төлөвлөж болохыг харуулахын тулд юм. Энэ нь дибаг хийхээс өмнөх шиг үнэн зөв биш байж магадгүй юм.

Манай тохиолдолд, миний унтраасан, ачаалах хүсэлт, ачаалах, гүйх, хаах хүсэлт, хаах гэсэн 6 муж байдаг. (SHUTTING DOWN дахин унтраах горимд шилждэг.) Эдгээрийг ноорог дээрх тайлбараар тодорхойлдог бөгөөд тус бүрийн хувьд нэмэлт тайлбарууд нь юу хийх ёстой, ямар үйл явдал түүнийг өөр муж руу шилжүүлэхийг хэлж өгдөг.

Pi дээр ажилладаг туслах програм нь ихэнх унтраах товчлууруудаас арай илүү төвөгтэй байдаг. Энэ нь GPIO зүү дээрх урт бага импульсийн хариуг өгдөг бөгөөд энэ нь богино импульсийн хариуг богино хугацаанд бууруулдаг. Ийм байдлаар ATTiny85 ажиллаж байгаа гэдгээ хэлж чадна, ингэснээр BOOTING -ээс RUNNING төлөв рүү шилжиж болно.

Алхам 3: Демо прототипийг бий болгох

Демо прототипийг бий болгох
Демо прототипийг бий болгох
Демо прототипийг бий болгох
Демо прототипийг бий болгох
Демо прототипийг бий болгох
Демо прототипийг бий болгох

Үзүүлэнгийн зорилгоор та үүнийг гагнуургүй талхны хавтан дээр загварчилж болно, гэхдээ би схемийг өгсөн бөгөөд ингэснээр та илүү өргөн цар хүрээтэй төслийн нэг хэсэг болох зураасан самбар эсвэл өөрчлөн тохируулсан ПХБ ашиглан өөрийн схемийг боловсруулж болно.

Алхам 4: ATTiny85 програмчлах

Arduino ноорог ба туслах програмыг энэ алхамд хавсаргасан болно. Arduino ноорог хавтаснаас PiPwr нэртэй хавтас үүсгээд PiPwr.ino файлыг хуулж ав. Arduino IDE -ийг ажиллуулснаар та үүнийг зургийн дэвтэр дээрээ олох болно.

ATTiny85 програмчлах хэд хэдэн арга байдаг. Хэрэв таных дээр bootloader суулгасан бол та хэдхэн фунт үнэтэй ATTiny85 хөгжүүлэх самбар ашиглаж болно. Энэ нь USB портоор дамжуулан таны компьютерт холбогддог. Би үндсэндээ ижил боловч загварчлах талбайтай Хидиот ашигласан.

Arduino IDE дээр Файл - Тохиргоо хэсэгт нэмнэ үү

digistump.com/package_digistump_index.json

Нэмэлт самбар менежерийн URL руу очно уу.

Багаж хэрэгсэл - Удирдах зөвлөлийн доор та Digispark -ийн хэд хэдэн сонголтыг харах ёстой. Digispark -ийг сонгоно уу (Анхдагч - 16.5MHz).

Хэрэв таны ATTiny85 дээр ачаалагч байхгүй бол (эсвэл та мэдэхгүй байгаа бол) AVR ISP програмистыг хэдэн фунтээр авах боломжтой. Эсвэл та програмистаар Arduino Uno эсвэл хямд Pro Mini эсвэл Nano ашиглаж болно. Заавар авахын тулд "arduino as isp attiny85" (ишлэлгүйгээр).

Хэрэв та ноорогоо өөрчлөхийг хүсч байгаа бол үүнийг бүрэн тайлбарлаж, дагаж мөрдөхөд хялбар болно гэж найдаж байна. Дебаг хийхдээ Arduino Pro Mini эсвэл Nano ашиглах нь илүү хялбар байдаг. Цуваа дэлгэц ашиглан хийж буй алхмуудыг харахын тулд serial.begin () -ийг Setup дээр хэвлэх болон loop () дээр хэвлэх мэдэгдлүүдийг тайлбарлахгүй. Uno, Pro Mini эсвэл Nano -ийн талаар тайлбарласан эх сурвалжийн өөр өөр тодорхойлолтууд байдаг.

Raspberry Pi дээрээ shutdown_helper.py файлыг/etc/local/bin хавтсанд хуулж командын тусламжтайгаар гүйцэтгэх боломжтой болгож тохируулна уу

sudo chmod +x /usr/local/bin/shutdown_helper.py

Одоо /etc/rc.local файлыг дуртай редактороороо засаарай. (Та үүнийг root болгон хийх хэрэгтэй болно.) Сүүлийн мөрөөс өмнө (0 гарах) мөрийг оруулна уу

nohup /usr/local/bin/shutdown_helper.py &

Дахин ачаалахад туслах програм автоматаар эхлэх болно.

Зөвлөмж болгож буй: