Mục lục:

GrimmsBox: Xây dựng thiết bị kể chuyện của riêng bạn: 5 bước (có hình ảnh)
GrimmsBox: Xây dựng thiết bị kể chuyện của riêng bạn: 5 bước (có hình ảnh)

Video: GrimmsBox: Xây dựng thiết bị kể chuyện của riêng bạn: 5 bước (có hình ảnh)

Video: GrimmsBox: Xây dựng thiết bị kể chuyện của riêng bạn: 5 bước (có hình ảnh)
Video: [Sách Nói] Truyện Cổ Andersen - Chương 1 | Hans Christian Andersen 2024, Tháng bảy
Anonim
GrimmsBox: Xây dựng thiết bị kể chuyện của riêng bạn
GrimmsBox: Xây dựng thiết bị kể chuyện của riêng bạn

Tài liệu hướng dẫn này sẽ chỉ cho bạn cách bạn xây dựng hộp kể chuyện của riêng mình. Hãy tự do lựa chọn cuộc phiêu lưu của riêng bạn.

Cái gọi là "GrimmsBox" là một dự án của các sinh viên từ Hochschule der Medien Stuttgart, Đức. Chúng tôi sử dụng một máy in hóa đơn thông thường để in phần đầu tiên của một câu chuyện. Vào cuối phần, một quyết định cần được đưa ra. Sử dụng các nút, bạn có thể chọn cách tiếp tục câu chuyện. Chúng tôi sử dụng Raspberry Pi để chạy phần mềm.

Hai trong số các Hộp sẽ sớm được đưa vào sử dụng. Thư viện công cộng ở Mannheim đang tổ chức các buổi hội thảo với trẻ em. Những đứa trẻ có thể tạo ra những câu chuyện của riêng mình và chúng có thể trải nghiệm những câu chuyện của chúng với sự trợ giúp của GrimmsBox. Mục tiêu chính của các buổi hội thảo như vậy là thúc đẩy khả năng đọc và viết. Các hộp kể chuyện cũng sẽ được đưa đến các sự kiện để trẻ em từ lớp 3 đến lớp 6 sẽ được làm quen với trải nghiệm đọc nhập vai.

Bước 1: Cách tạo vỏ cho GrimmsBox

Cách làm vỏ cho GrimmsBox
Cách làm vỏ cho GrimmsBox

Vật liệu cần thiết:

  • Tấm ván ép 1x 6 mm (1200x600x6mm)
  • Tấm ván ép 1x 4 mm (1200x600x4mm)
  • keo dán gỗ
  • thiết bị cần thiết: máy cắt laser, máy tính

Các tệp được GrimmsBox sử dụng có sẵn dưới dạng tải xuống miễn phí. Các tệp là tệp svg và dxf của các thành phần riêng lẻ của GrimmsBox. Đây một mặt là cấu trúc con nơi Raspberry Pi tìm thấy vị trí của nó, sau đó là cuốn sách có bản lề uốn và giá sách tự thiết kế.

Tấm ván ép 6mm được sử dụng cho kết cấu phụ và giá sách. Cuốn sách được cắt ra khỏi tấm ván ép 4mm. Tấm dày hơn sẽ quá dày để làm sách. Bản lề uốn chỉ hoạt động với các tấm ván ép 3-4mm. Nếu không, nó sẽ bị vỡ.

Các tệp dxf là lựa chọn phù hợp cho những ai không muốn thay đổi bất cứ thứ gì nữa. Chúng đã sẵn sàng để sử dụng trên máy cắt laser.

Nhưng đối với những người vẫn muốn tạo cảm giác riêng cho hộp, có thể sử dụng tệp SVG trong hộp. Chúng có thể được thay đổi theo ý muốn. Để thực hiện việc này, tệp phải được mở trong một chương trình (ví dụ: g. Inkscape). Với các chương trình này, bạn có thể chỉnh sửa các thành phần riêng lẻ. Nếu bạn đã thay đổi điều gì đó (ví dụ: kích thước của các lỗ cho các nút hoặc kéo xung quanh), bạn phải lưu tệp SVG dưới dạng tệp dxf.

Tệp dxf phải được mở bằng máy cắt laser. Ngay sau khi tệp được hiển thị trên PC, nó phải được chọn dòng nào sẽ được cắt và dòng nào sẽ được khắc. Chữ bên hông hộp được khắc trên hộp của Grimm và chữ trên cuốn sách bị cắt một cách yếu ớt. Tùy thuộc vào những gì bạn thích hơn, bạn có thể sử dụng cái này hoặc cái khác. Các đường bên ngoài tất nhiên phải được cắt. Tuy nhiên, việc sử dụng máy cắt laser có thể phụ thuộc vào kiểu máy cắt laser và có thể khác nhau.

Bước 2: Cách lắp các nút cho GrimmsBox

Cách lắp ráp các nút cho GrimmsBox
Cách lắp ráp các nút cho GrimmsBox
Cách lắp ráp các nút cho GrimmsBox
Cách lắp ráp các nút cho GrimmsBox
Cách lắp ráp các nút cho GrimmsBox
Cách lắp ráp các nút cho GrimmsBox
Cách lắp ráp các nút cho GrimmsBox
Cách lắp ráp các nút cho GrimmsBox

Vật liệu cần thiết:

  • 6 nút ấn tạm thời thường mở, ví dụ: các nút để chơi game arcade
  • 8 dây nhảy với ít nhất một đầu dây cái, của chúng tôi dài khoảng 40 cm
  • một số bím
  • ống co nhiệt hộp được sử dụng cho dự án của bạn, trong trường hợp của chúng tôi là nắp trên được cắt bằng laser và hai nắp bên bao gồm các nút phụ
  • thuốc hàn và mỏ hàn
  • nhiều mét
  • kìm cắt dây
  • thợ thoát y dây
  • bật lửa hoặc súng hơi nóng
  1. Trong mã của chúng tôi, chúng tôi đã sử dụng điện trở bên trong, vì vậy chúng tôi chỉ cần làm hai việc: đầu tiên, kết nối dây jumper cái với mỗi nút sẽ dẫn đến chân GPIO tương ứng và thứ hai, kết nối các nút với nhau, sau đó sẽ được dẫn nối đất qua một dây nhảy nữ khác. Chúng tôi đã kết nối nút tắt máy và nút khởi động lại chương trình với nhau và sử dụng một chốt nối đất cho chúng. Bốn nút sẽ được sử dụng bởi công cụ phiêu lưu tự chọn của bạn cũng được kết nối với nhau và dùng chung một chốt nối đất.
  2. Nếu các nút của bạn có nhiều hơn hai chân, hãy sử dụng đồng hồ vạn năng để tìm ra cái nào phù hợp để kết nối chân GPIO và đất. Với chức năng âm thanh, bạn sẽ chỉ nghe thấy âm thanh nếu bạn chạm vào hai chốt và nút hiện đang được nhấn. Bạn có thể thực hiện kiểm tra tính liên tục, hướng dẫn cách làm điều đó có sẵn tại ifixit:
  3. Lấy một nút và chèn nó vào phần hộp. Lấy một trong các dây jumper và cắt một đầu, để lại cho bạn một dây jumper với một đầu nữ. Sử dụng máy rút dây để cắt khoảng 5 mm của phần cách ly. Xoắn các dây lỏng một chút để không có dây nào thò ra ngoài. Dùng một ít thiếc để tạo lớp phủ đẹp mắt cho dây điện. Nếu bạn chưa quen với cách hàn, có một cuốn truyện tranh ngắn rất hay dạy bạn cách hàn. Nó được gọi là Hàn rất dễ dàng và tệp PDF có sẵn bằng nhiều ngôn ngữ tại https://mightyohm.com/blog/2011/04/sol Order-is-e… Đo và cắt ống co nhiệt, bạn sẽ sử dụng để cô lập phần mà nút và dây nhảy sẽ được hàn với nhau. Kéo ống co nhiệt qua dây nhảy. Hàn dây jumper vào một trong các chốt trên nút.
  4. Lặp lại bước cuối cùng cho tất cả các nút. Luôn đảm bảo kéo ống co nhiệt qua dây jumper trước khi hàn, vì nó có thể không vừa với đầu nối.
  5. Bây giờ bạn sẽ kết nối nút tắt máy và nút khởi động lại. Chúng tôi đã sử dụng dây đồng tráng men, nhưng vì nó tỏ ra hơi khó sử dụng, tôi khuyên bạn nên sử dụng bím tóc bình thường. Cắt vài cm bím tóc. Như trước đây, tháo dỡ nó bằng cách sử dụng bộ rút dây, nhưng lần này ở cả hai đầu. Sau đó, hàn một đầu vào chốt của nút tắt máy hoặc nút khởi động lại. Một lần nữa, cắt một chút của ống co nhiệt và kéo nó qua bím tóc.
  6. Tiếp theo, bạn sẽ nối bím tóc vào phần ghim còn lại của chiếc cúc còn lại. Nhưng bạn cũng sẽ kết nối một dây nhảy khác ở đây, dây này sẽ dẫn xuống đất. Chuẩn bị dây nhảy như bạn đã làm với những dây khác, bao gồm cả ống co nhiệt. Bây giờ uốn bím tóc để bạn có thể hàn nó vào chốt tự do từ nút hướng về phía đầu tự do. Sau đó, hàn dây jumper vào chốt. Hàn bím tóc từ một bên và dây nhảy từ bên kia đảm bảo bạn có thể kéo ống co nhiệt qua phần được hàn.
  7. Kết nối bốn nút được sử dụng cho công cụ trò chơi bằng cách xây dựng những cây cầu nhỏ. Luôn nhớ kéo ống co nhiệt qua bện trước khi hàn. (Và cũng hãy chắc chắn rằng các nút của bạn ở đúng vị trí trước khi kết nối chúng với nhau). Khi kết nối nút cuối cùng, bạn nên nối lại, cũng như với hai nút còn lại, kết nối bím tóc từ bên dưới và kết nối dây nhảy.
  8. Sử dụng chức năng âm thanh của đồng hồ vạn năng, bạn có thể kiểm tra xem mọi thứ có được kết nối tốt hay không. Cuối cùng bạn nên kiểm tra xem tất cả các ống co nhiệt đã đúng vị trí chưa. Sau đó, bạn có thể sử dụng bật lửa hoặc súng hơi nóng để thực sự thu nhỏ nó. Bây giờ bạn đã hoàn thành việc lắp ráp các nút!

Bước 3: Thiết lập phần mềm

Thiết lập phần mềm
Thiết lập phần mềm

Bạn sẽ cần:

  • Raspberry Pi có cài đặt Raspbian (bạn cũng có thể sử dụng các bản phân phối khác, nhưng cần điều chỉnh một số lệnh) - chúng tôi đã sử dụng một gói bao gồm Raspberry Pi 3 Model B + với thẻ SD được cài đặt sẵn, nguồn điện và một trường hợp, các mô hình khác cũng sẽ hoạt động
  • máy in hóa đơn - hãy nhớ rằng bạn cần kết nối máy in với Raspberry Pi, vì vậy kết nối qua USB có thể dễ dàng nhất
  • các nút của bạn
  1. Kết nối Raspberry Pi của bạn với màn hình, chuột và bàn phím. Cuối cùng, bạn cũng sẽ cần kết nối nó với máy in và các nút. Các nút cần được kết nối với các chân GPIO cụ thể. Nếu bạn muốn sử dụng các ghim khác với chúng tôi đã làm, bạn có thể thay đổi ghim đó trong mã. Hiện tại, danh sách này sẽ cho bạn biết nút nào cần được kết nối với chân nào. Tôi sẽ sử dụng cách đánh số BCM cũng được sử dụng trong mã. Có một biểu đồ tại https://www.raspberrypi.org/documentation/usage/g… cho bạn biết pin nào có số nào.

    • nút tắt máy - 17 • nút khởi động lại - 27 • nút đầu tiên được sử dụng cho các tùy chọn trong câu chuyện / cuộc phiêu lưu - 5 • nút thứ hai - 6 • nút thứ ba - 13 • nút thứ tư - 19 • hai dây jumper kết nối với các chân nối tất cả các nút cần nối đất - trong biểu đồ được đánh dấu bằng các chấm đen

    Khởi động Raspberry Pi bằng cách cắm nguồn điện. Kết nối Raspberry Pi với internet bằng cáp LAN hoặc mạng không dây.

  2. Điều đầu tiên cần làm khi cài đặt phần mềm cần thiết trên raspberry pi là cập nhật phần mềm đã được cài đặt. Chúng tôi sẽ làm điều này bằng cách sử dụng thiết bị đầu cuối. Nếu đây là lần đầu tiên bạn sử dụng thiết bị đầu cuối, tài liệu Raspberry Pi (https://www.raspberrypi.org/documentation/usage/terminal/) sẽ giúp bạn di chuyển và làm quen với môi trường. Mở một thiết bị đầu cuối và nhập cập nhật apt sudo và nhấn enter. Thao tác này sẽ cập nhật danh sách các gói và phiên bản có sẵn. Sau đó, gõ nâng cấp apt sudo. Điều này thực sự sẽ cài đặt các phiên bản mới hơn của các gói đã được cài đặt.
  3. Cài đặt trình điều khiển máy in là bước tiếp theo. Quản lý máy in trong Linux có thể được thực hiện bằng CUPS. Trước tiên, bạn có thể cần cài đặt nó trên Raspberry Pi của mình. Trong một thiết bị đầu cuối, hãy nhập các cốc cài đặt sudo apt. Bước tiếp theo là lấy trình điều khiển máy in. Có thể bạn gặp may và nó được đưa vào kho lưu trữ chính thức. Trong một thiết bị đầu cuối, hãy sử dụng tìm kiếm apt [tên máy in hoặc tên nhà sản xuất] để tìm kiếm nó. Hầu hết các máy in có thể sẽ không được đưa vào kho lưu trữ, vì vậy bạn cần phải lấy nó từ nơi khác. Có thể có một đĩa CD kèm theo máy in. Trên trang web của nhà sản xuất, các trình điều khiển mới nhất sẽ có sẵn để tải xuống. Một số nhà sản xuất có các trang web khác nhau cho các khu vực khác nhau trên thế giới và đáng buồn là không phải tất cả chúng đều bao gồm thông tin giống nhau. Nếu bạn có máy in Star, starasia.com dường như là trang web có trình điều khiển mới nhất có thể tải xuống. Vui lòng kiểm tra xem bạn có tải xuống máy in cho Linux hay không. Chúng tôi đã sử dụng trình điều khiển CUPS, không phải trình điều khiển JavaPOS.
  4. Tiếp theo, bạn cần cài đặt các trình điều khiển. Vui lòng làm theo hướng dẫn của nhà sản xuất. Có thể có một hướng dẫn sử dụng phần mềm cho Linux, có thể hữu ích. Vui lòng làm theo hướng dẫn dành cho Debian hoặc Ubuntu - có nhiều bản phân phối Linux khác nhau và không phải tất cả chúng đều giống nhau, vì vậy hãy kiểm tra trước, nếu bạn có hướng dẫn phù hợp. Trong sách hướng dẫn của chúng tôi, các hướng dẫn bắt đầu mà không nêu rõ rằng chúng dành cho các hệ thống dựa trên Red Hat và chỉ ở trang tiếp theo chúng tôi đã biết rằng các hướng dẫn dành cho các hệ thống dựa trên Debian là khác nhau. Hướng dẫn sử dụng phần mềm cũng phải nêu rõ gói nào cần được cài đặt, ví dụ như chúng tôi phải cài đặt “libcups2-dev”. Bạn có thể sẽ cần thực hiện một số lệnh. Để giúp bạn không lặp lại sai lầm của chúng tôi: nếu bạn cần biên dịch các trình điều khiển từ mã nguồn bằng cách sử dụng make - make install thì cần phải được giải quyết. Chỉ từ thông báo lỗi, chúng tôi không thể tìm ra điều gì đã xảy ra.
  5. Nếu không có trong sách hướng dẫn cài đặt của bạn, bạn cần thiết lập máy in trong CUPS. Để làm điều đó, hãy điều hướng đến localhost: 631 trong trình duyệt. Nhấp vào “Quản trị” và sau đó nhấp vào “Thêm máy in” để thiết lập máy in. Ngoài ra còn có một phần trợ giúp. Bạn cần xác thực với tư cách là người dùng, hãy xem https://help.ubuntu.com/tens/serverguide/cups.html… (phần “Giao diện Web”) để biết chi tiết. Chọn ppd và khổ giấy phù hợp. Bạn cũng nên đặt nó làm máy in mặc định, vì phần mềm sẽ in ra máy in mặc định. Để làm điều đó, hãy điều hướng đến trang của máy in và từ menu "Quản trị", chọn "Đặt làm mặc định máy chủ". Từ menu “Bảo trì”, bạn có thể chọn “Trang Kiểm tra In” để kiểm tra lần đầu xem mọi thứ đã được thiết lập chính xác chưa.
  6. Một gói khác bạn sẽ cần là python3-yaml, vì các câu chuyện được lưu trong các tệp yaml và gói này là cần thiết để mã python có thể diễn giải chúng. Sử dụng sudo apt install python3-yaml để cài đặt nó.
  7. Bây giờ cuối cùng chúng ta sẽ bắt đầu với việc cài đặt phần mềm thực sự in các câu chuyện và lắng nghe đầu vào trên các chân GPIO được kết nối với các nút. Mở một thiết bị đầu cuối và điều hướng đến thư mục chính nếu bạn chưa ở trong đó (điều này có thể được thực hiện bằng cách nhập cd (để thay đổi thư mục)). Vì mã của chúng tôi ở trên GitHub, bạn có thể sao chép nó vào Raspberry Pi của mình bằng cách sử dụng git clone https://github.com/fio-na/GrimmsKiste-1.git. Điều này sẽ tạo một kho lưu trữ cục bộ trên Raspberry Pi của bạn về mã của chúng tôi. Nếu bạn nhận được thông báo lỗi vì git chưa được cài đặt, bạn có thể cài đặt nó bằng cách nhập sudo apt install git.
  8. Mã chứa một số yếu tố bạn có thể cần phải thay đổi. Trước hết, các câu chuyện được lưu trong các tệp yaml cũng nằm trong kho lưu trữ git. Nếu đường dẫn đến thư mục của bạn không phải là “/ home / pi / GrimmsKiste-1”, bạn sẽ cần phải thay đổi các đường dẫn này để sử dụng các câu chuyện. Thứ hai, chúng tôi in bằng quy trình con và chuyển giao các lệnh đầu cuối. Điều này bao gồm một số tùy chọn được sử dụng bởi trình điều khiển máy in của chúng tôi, cho phép chúng tôi xác định xem giấy có được cắt sau khi in hay không. Những điều này có thể sẽ không hiệu quả với bạn (trừ khi bạn cũng sử dụng máy in Star TSP). Bạn cũng sẽ nhận thấy rằng một số dòng chỉ bao gồm một dấu chấm sẽ được in. Chúng tôi cần điều này, vì nếu không thì không thể đọc được các phần của câu chuyện vì giấy vẫn còn kẹt trong máy in. Và cuối cùng trong hàm format_text, chúng tôi sử dụng textwrap để có được các đoạn văn bản không dài hơn 28 ký tự, vì đó là số lượng vừa với một dòng trên khổ giấy 80 mm của chúng tôi. Vui lòng điều chỉnh những thứ này để phù hợp với thiết lập của bạn.
  9. Một số tệp cần phải được thực thi. Để thực hiện việc này, hãy điều hướng vào thư mục có mã bạn vừa tải xuống. Đây sẽ là cd ~ / GrimmsKiste-1 nếu bạn làm theo. Trong Linux, quyền đối với tệp được xử lý bởi chmod. chmod a + x Engin.py và chmod a + x shutdown-pi-and-restart-program.py làm cho hai tệp đó có thể thực thi được cho tất cả người dùng.
  10. Bây giờ chúng ta có thể kiểm tra xem động cơ có thể chạy và hoạt động bình thường hay không và máy in và các nút có được thiết lập chính xác hay không. Nhập./Engin.py để thực hiện việc đó.
  11. Nếu mọi thứ hoạt động tốt, bước tiếp theo là thiết lập hai dịch vụ systemd. Để biết thêm thông tin, trang wiki của Archlinux (https://wiki.archlinux.org/index.php/Systemd) có thể hữu ích hoặc trang chủ của systemd.service (https://www.freedesktop.org/software/systemd/ man / systemd.service.html). Dịch vụ systemd đầu tiên sẽ kiểm tra hai giây một lần, nếu Engin.py hiện đang chạy và nếu không, nó sẽ khởi động. Do đó, nó cũng khởi động chương trình khi Raspberry Pi khởi động. Mở tệp trong thư mục systemd: sudo nano /etc/systemd/system/grimmskiste-restart.service Nhập thông tin sau:
  12. [Đơn vị]

    Description = khởi động lại Grimms Kiste hai giây một lần nếu không thành công [Dịch vụ] ExecStart = / home / pi / GrimmsKiste-1 / Engin.py Khởi động lại = luôn Khởi động lạiSec = 2 [Cài đặt] WantedBy = multi-user.target

  13. Bạn cần chỉnh sửa đường dẫn tại ExecStart, nếu Engin.py của bạn nằm ở nơi khác, ví dụ: nếu tên người dùng của bạn khác. Để lưu tệp ở dạng nano, bạn cần nhấn ctrl + x, sau đó nhập y (cho có) và nhấn enter.
  14. Dịch vụ khác sẽ khởi động tập lệnh shutdown-pi-and-restart-program.py, tập lệnh này sẽ lắng nghe trên nút tắt và khởi động lại. Nút khởi động lại đọc ID quy trình của Engin.py từ một tệp và giết nó, và do dịch vụ systemd khác nên Engin.py khởi động lại sau hai giây. Nút tắt máy chỉ cần gửi một lệnh đến Raspberry Pi sẽ tắt ngay bây giờ. Mở một tệp khác bằng sudo nano /etc/systemd/system/grimmskiste.service và nhập như sau:
  15. [Đơn vị]

    Description = Điều khiển hai nút phần cứng để tắt mâm xôi pi hoặc để tắt chương trình đang chạy Grimms Kiste [Dịch vụ] ExecStart = / home / pi / GrimmsKiste-1 / shutdown-pi-and-restart-program.py [Install] WantedBy = multi-user.target

  16. Một lần nữa, bạn sẽ cần phải chỉnh sửa đường dẫn tại ExecStart, nếu nó khác trên Pi của bạn. Và một lần nữa, bạn có thể lưu tệp trong nano bằng cách sử dụng ctrl + x, sau đó nhập y và nhấn enter.
  17. Bây giờ bạn có các tệp đơn vị cho các dịch vụ systemd, nhưng chúng chưa được sử dụng. Bất cứ khi nào bạn thay đổi tệp đơn vị, hãy nhập sudo systemctl daemon-reload, hãy làm điều đó ngay bây giờ. Sau đó, khởi động cả hai dịch vụ bằng cách sử dụng sudo systemctl start Grimskiste.service và sudo systemctl start Grimskiste-restart.service Thao tác này sẽ khởi động các dịch vụ ngay bây giờ. Sử dụng trạng thái sudo systemctl Grimskiste.service và trạng thái sudo systemctl Grimskiste-restart.service để kiểm tra xem chúng có đang hoạt động hay không. Trong đầu ra, phải có một dòng bao gồm "hoạt động (đang chạy)", có thể là ở dòng thứ ba - nếu không, đã xảy ra lỗi. Journalctl có thể trợ giúp thêm thông tin gỡ lỗi.
  18. Việc sử dụng systemctl start chỉ khởi động các dịch vụ lúc này, nhưng nếu bạn muốn chúng khởi động mỗi khi Raspberry Pi khởi động, bạn cần phải kích hoạt chúng. Điều này được thực hiện bởi sudo systemctl cho phép Grimskiste.service và sudo systemctl cho phép Grimskiste-restart.service.
  19. Bây giờ bạn nên kiểm tra tất cả các nút nếu mọi thứ đang chạy chính xác. Kiểm tra nút tắt máy cũng như kiểm tra xem mọi thứ vẫn chạy bình thường sau khi khởi động lại. Nếu vậy, bạn không cần màn hình, bàn phím, v.v. và chương trình của bạn sẽ chạy mỗi khi bạn cắm Raspberry Pi vào ổ cắm.

Bước 4: Giới thiệu về YAML:

Giới thiệu về YAML
Giới thiệu về YAML
Giới thiệu về YAML
Giới thiệu về YAML
Giới thiệu về YAML
Giới thiệu về YAML
Giới thiệu về YAML
Giới thiệu về YAML

Quan trọng: Không được đổi tên các trường có màu tím. Tên của các danh sách riêng lẻ là một ngoại lệ. Mỗi câu chuyện nhận được tệp YAML của riêng mình với tất cả các lựa chọn. Cấu trúc giống như đối với tệp start.yaml

Dấu hai chấm: Nếu bạn muốn sử dụng dấu hai chấm trong văn bản, bạn phải tạo dấu> sau tin nhắn. Sau đó, văn bản được hạ xuống một dòng và thụt lề với hai dòng trống.

Tab: Không sử dụng tab và hãy đảm bảo rằng không có tab nào ở cuối thư, điều này sẽ dẫn đến việc trình phân tích cú pháp không thể đọc tệp.

_default_question: Câu hỏi được nhập ở đây được sử dụng nếu không có trường nào có „câu hỏi được nhập vào lịch sử.

_prompt: Trường này được in ra khi người đọc phải thực hiện một mục nhập.

Cả hai trường chỉ có thể tồn tại một lần trong tệp start.yaml và không được sử dụng trong các tệp khác.

start: start là tên của danh sách đầu tiên của trang bắt đầu. Tên không được trùng lặp trong tất cả các danh sách khác. Trong mẫu, trường này được gọi là „Tên của câu chuyện và phải được thay đổi cho mỗi câu chuyện.

Thông báo: Trường này chứa câu chuyện và phải đứng trên một dòng. câu hỏi: Được sử dụng khi một câu hỏi không phải _default_question được sử dụng. Nếu trường không được sử dụng, nó phải được xóa. (không bắt buộc)

Hành động: Danh sách “hành động” chứa các tùy chọn lựa chọn. Có thể nhập tối đa 4 tùy chọn tại đây. Nhãn: Nhãn được in dưới dạng tùy chọn lựa chọn.

Tiếp theo: Đây là tên của tùy chọn lựa chọn tiếp theo sẽ được gọi.

end: Một danh sách chỉ có một thông báo đánh dấu sự kết thúc của một câu chuyện. các trường hành động, nhãn và phần tiếp theo phải bị xóa

Thêm các câu chuyện khác:

Như đã giải thích ở trên, mỗi câu chuyện mới có tệp.yaml của riêng nó. Để thực hiện việc này, hãy mở thư mục “Grimms Box” và sao chép tệp template.yaml. Bạn cũng có thể tìm thấy tệp này trong repo GitHub của chúng tôi (https://github.com/fio-na/GrimmsKiste-1). Đổi tên tệp thành tên của câu chuyện và mở nó. Trong tệp mới, bạn thêm nhà sản xuất và ngày tháng và thay đổi trường “Tên của câu chuyện” thành tiêu đề (xem hình 4: Tên của câu chuyện ở đây là HP1). Sau đó điền vào tin nhắn, câu hỏi, nhãn và tiếp theo. Khi bạn đã thực hiện xong việc này, hãy sao chép cấu trúc dữ liệu (như trong Hình 4) và dán nó vào bên dưới phần tiếp theo cuối cùng. Bây giờ tiêu đề sẽ được thay đổi thành một phím được sử dụng trong “tiếp theo” trong phần đầu tiên (như được hiển thị trong hình 4 HP1 sau đó sẽ là HP2 hoặc gang2, tùy thuộc vào tùy chọn nào được chỉnh sửa trước). Sau đó, tin nhắn, câu hỏi, nhãn và tiếp theo được điền lại. Làm điều này cho tất cả các lựa chọn / hành động cho đến khi toàn bộ câu chuyện có trong tệp. Cuối cùng, danh sách cuối cùng chỉ có một tin nhắn. Tất cả các trường khác trong danh sách cuối cùng phải được xóa. Sau đó, tập tin phải được lưu.

Thủ tục ngắn gọn:

  1. Mở thư mục Grimms Box
  2. Sao chép Vorlage.yaml và đổi tên nó thành tiêu đề của câu chuyện.
  3. Mở tệp mới này.
  4. Sao chép cấu trúc dữ liệu (hình 4)
  5. Thay đổi tên từ Lịch sử thành Tên lựa chọn
  6. Nhập văn bản của câu chuyện vào trường tin nhắn,
  7. Chèn nhãn phù hợp.
  8. Nhập tên của tùy chọn lựa chọn tiếp theo trong phần tiếp theo.
  9. Lặp lại các bước từ 4 đến 9 cho đến khi câu chuyện kết thúc.
  10. Ở tất cả các kết thúc: Danh sách cuối cùng chỉ chứa một tin nhắn.
  11. Lưu các tập tin.

Thêm câu chuyện mới của bạn vào trang bắt đầu:

start.yaml là trang bắt đầu cho hộp của Grimm. Tuy nhiên, tập tin này trước tiên phải có thể truy cập các câu chuyện mới. Vì vậy, những câu chuyện mới phải được thêm vào tệp này trước.

Mỗi hành động, bạn chỉ có thể tạo 4 nhãn, tiếp theo, vì hộp của Grimm chỉ có 4 nút để lựa chọn. Do đó, nếu, như trong tệp start.yaml ví dụ, 4 nhãn và trường tiếp theo đã được chỉ định, nhãn thứ 4 phải được đặt tên là “Câu chuyện khác” hoặc “Thêm” và cấu trúc dữ liệu thứ hai (ở đây: S2; với thông báo, câu hỏi, hành động, nhãn, tiếp theo) phải được thêm vào và đổi tên. Sau đó, bạn thêm câu chuyện mới với nhãn và tiếp theo và đặt tên cho nó một cách thích hợp. Cuối cùng, nó phải được lưu.

Thủ tục ngắn gọn:

Trong đầu.yaml:

  1. Mở start.yaml
  2. Điền vào các trường một cách thích hợp.
  3. Các hành động trường, nhãn và tiếp theo phải được sao chép và dán.
  4. Cứu.

Duy trì tệp chính “Engin.py”:

Cuối cùng, câu chuyện phải được thêm vào tệp chính “Engin.py”. Đối với điều này, chỉ đường dẫn tệp của tệp YAML mới phải được nhập vào danh sách tệp. Đường dẫn này được đặt trong dấu ngoặc kép và được phân tách với các đường dẫn khác bằng dấu phẩy.

Thủ tục ngắn gọn:

  1. Mở Engine.py.
  2. Sao chép đường dẫn tệp của tệp YAML
  3. Sao chép đường dẫn vào danh sách lọc
  4. Phân cách các đường dẫn bằng dấu phẩy.

Bước 5: Hướng dẫn sử dụng

Hướng dẫn sử dụng
Hướng dẫn sử dụng

Để khởi động Grimm’s Box, hãy kết nối máy in với Raspberry Pi (có một lỗ nhỏ cho dây cáp), cắm máy in và Raspberry Pi vào ổ cắm và bật máy in. Raspberry Pi tự khởi động khi được cắm vào. Hãy đợi nó khởi động. Phần mềm phải tự khởi động.

Có một nút để tắt Raspberry Pi và một nút để khởi động lại phần mềm câu chuyện, trong trường hợp ai đó rời đi mà không kết thúc câu chuyện. Cả hai cần được đẩy ít nhất 3 giây. Điều này là để đảm bảo rằng chúng không vô tình bị đẩy nhưng bạn có thể thay đổi thời gian trong tệp shutdown-pi-and-restart-program.py. Vui lòng sử dụng nút tắt máy, chỉ cần rút phích cắm là không tốt cho Raspberry Pi. Với thiết lập hiện tại, bạn không thể biết Raspberry Pi đang bật hay tắt, vì vậy bạn cần kiểm tra xem nó có còn phản ứng với các nút khác hay không nếu bạn muốn chắc chắn.

Khởi động lại chương trình mất một chút thời gian, vì bạn cần nhấn nút ít nhất 3 giây và quá trình ở chế độ nền chỉ kiểm tra 2 giây một lần nếu chương trình đang chạy, vì vậy toàn bộ quá trình cho đến khi nó in lại có thể mất 6 giây. Chỉ cần cho nó một chút thời gian. Nút khởi động lại cũng có thể được sử dụng, nếu có bất kỳ sự cố nào xảy ra. Có thể khởi động lại có thể khắc phục được sự cố. Nếu không, việc kết nối Raspberry Pi với màn hình, v.v. và chạy chương trình từ thiết bị đầu cuối có thể tạo ra thông báo lỗi mà bạn có thể tra cứu trên internet. Các nút được sử dụng cho các câu chuyện cần được đẩy ít nhất 0,1 giây, nhưng rất hiếm khi ai đó ấn chúng ít hơn mức đó.

Nếu câu chuyện kết thúc, tờ giấy sẽ được cắt và chương trình sẽ tự động bắt đầu lại. Nhưng để cho người đọc một khoảng thời gian để đọc phần cuối, nó sẽ đợi 3,5 giây cộng với 2 giây cần thiết để thông báo chương trình không chạy và khởi động lại. 3,5 giây có thể được chỉnh sửa trong tệp Engin.py.

Các nút được đẩy ít hơn 1,7 giây sau lần nhấn cuối cùng sẽ không được chấp nhận. Chúng tôi thực hiện điều này vì Raspberry Pi nhanh hơn rất nhiều so với máy in và việc nhấn hai nút sẽ dẫn đến một hành động được chọn trước khi người đọc có thể nhìn thấy các tùy chọn.

Đề xuất: